Nginx Client Zertifikat: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(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…“) |
|||
| Zeile 17: | Zeile 17: | ||
listen 443 ssl; | listen 443 ssl; | ||
server_name secure.lab.intern; | server_name secure.lab.intern; | ||
| − | + | ||
ssl_certificate /etc/nginx/ssl/server.crt; | ssl_certificate /etc/nginx/ssl/server.crt; | ||
ssl_certificate_key /etc/nginx/ssl/server.key; | ssl_certificate_key /etc/nginx/ssl/server.key; | ||
| − | + | ||
ssl_client_certificate /etc/nginx/ssl/ca.crt; | ssl_client_certificate /etc/nginx/ssl/ca.crt; | ||
ssl_verify_client on; | ssl_verify_client on; | ||
| − | + | ||
ssl_protocols TLSv1.2 TLSv1.3; | ssl_protocols TLSv1.2 TLSv1.3; | ||
| − | + | ||
location / { | location / { | ||
auth_basic "Login mit Benutzername und Passwort"; | auth_basic "Login mit Benutzername und Passwort"; | ||
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