Nginx Client Zertifikat: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 29: | Zeile 29: | ||
auth_basic "Login mit Benutzername und Passwort"; | auth_basic "Login mit Benutzername und Passwort"; | ||
auth_basic_user_file /etc/nginx/.htpasswd; | auth_basic_user_file /etc/nginx/.htpasswd; | ||
| − | + | ||
root /var/www/html; | root /var/www/html; | ||
index index.html; | index index.html; | ||
Version vom 22. März 2025, 06:40 Uhr
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