Nginx Client Zertifikat
Version vom 22. März 2025, 06:40 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „=Absicherung von Webdiensten mit 2FA: Zertifikat + Passwort= ==Voraussetzungen== ;Zertifikate * Eine eigene CA: ca.crt * Ein Server-Zertifikat: server.crt und…“)
Absicherung von Webdiensten mit 2FA: Zertifikat + Passwort
Voraussetzungen
- Zertifikate
- Eine eigene CA: ca.crt
- Ein Server-Zertifikat: server.crt und server.key
- Ein Client-Zertifikat: client.crt und client.key
- Benutzer
- Ein Benutzerkonto für HTTP-Basic-Auth
Benutzer anlegen
- htpasswd -c /etc/nginx/.htpasswd xinux
NGINX-Konfiguration
server {
listen 443 ssl; server_name secure.lab.intern;
ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_client_certificate /etc/nginx/ssl/ca.crt; ssl_verify_client on;
ssl_protocols TLSv1.2 TLSv1.3;
location / {
auth_basic "Login mit Benutzername und Passwort";
auth_basic_user_file /etc/nginx/.htpasswd;
root /var/www/html;
index index.html;
}
}
Zertifikat im Firefox einbinden
- Import
- Firefox → Einstellungen → Datenschutz & Sicherheit → Zertifikate anzeigen
- Reiter "Ihre Zertifikate" → Importieren → client.p12
- Verwendung
- Seite aufrufen: https://secure.lab.intern
- Firefox fragt nach Zertifikat → dann HTTP-Login
Test
- Kein Zertifikat
- Fehler 400
- Falsches Passwort
- Fehler 401
- Zertifikat + Passwort korrekt
- Zugriff erlaubt