So sichern Sie Nginx mit Let’s Encrypt unter Debian 11

In der heutigen digitalen Welt ist die Sicherheit von Webseiten von entscheidender Bedeutung. Eine geschützte Webseite stärkt das Vertrauen der Besucher und bewahrt Ihre Daten vor unbefugtem Zugriff. Let’s Encrypt bietet als kostenlose und automatisierte Zertifizierungsstelle SSL/TLS-Zertifikate, um Ihre Webseite zu verschlüsseln und zu sichern. Nginx, ein leistungsstarker und weitverbreiteter Webserver, erleichtert die sichere Bereitstellung Ihrer Webseite.

Dieser Artikel führt Sie durch die notwendigen Schritte, um Ihre Nginx-basierte Webseite unter Debian 11 mit Let’s Encrypt zu schützen.

1. Vorbereitungen

Bevor Sie beginnen, stellen Sie sicher, dass folgende Voraussetzungen erfüllt sind:

  • Ein Server mit Debian 11: Es kann sich um einen virtuellen oder dedizierten Server handeln.
  • Installiertes Nginx: Falls Nginx noch nicht auf Ihrem Server installiert ist, können Sie dies mit diesen Befehlen nachholen:
sudo apt update
sudo apt install nginx
  • Eine Domain: Sie benötigen eine registrierte Domain, die auf Ihren Server verweist.

2. Installation von Certbot

Certbot ist ein Werkzeug, das die Ausstellung und Installation von Let’s Encrypt-Zertifikaten automatisiert. Installieren Sie Certbot mit dem folgenden Befehl:

sudo apt update
sudo apt install certbot python3-certbot-nginx

Certbot benötigt Zugriff auf Port 80 für die automatische Verifizierung. Wenn ein anderer Dienst diesen Port bereits verwendet, passen Sie dessen Einstellungen an oder nutzen Sie einen anderen Port für Certbot.

3. Erstellung eines Let’s Encrypt-Zertifikats

Nach der Installation von Certbot können Sie ein Zertifikat für Ihre Domain anfordern. Führen Sie hierzu folgenden Befehl aus:

sudo certbot --nginx -d ihre-domain.de -d www.ihre-domain.de

Ersetzen Sie `ihre-domain.de` durch Ihre tatsächliche Domain. Dieser Befehl erstellt ein Zertifikat für Ihre Domain sowie alle angegebenen Subdomains.

Hinweis: Wenn Sie mehrere Domains auf demselben Server hosten, nutzen Sie den `-d`-Parameter für jede Domain.

4. Konfiguration von Nginx für HTTPS

Nach der Zertifikatserstellung konfigurieren Sie Nginx für die Verwendung von HTTPS. Öffnen Sie die Nginx-Konfigurationsdatei Ihrer Webseite:

sudo nano /etc/nginx/sites-available/ihre-domain.de

Fügen Sie den folgenden Codeblock in die Konfigurationsdatei ein:

server {
    listen 80;
    server_name ihre-domain.de www.ihre-domain.de;
    return 301 https://$host$request_uri;
}
server {
    listen 443 ssl http2;
    server_name ihre-domain.de www.ihre-domain.de;

    ssl_certificate /etc/letsencrypt/live/ihre-domain.de/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/ihre-domain.de/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
    ssl_prefer_server_ciphers on;
    ssl_dhparam /etc/nginx/ssl/dhparam.pem;
}

Hinweis:

  • Ersetzen Sie `ihre-domain.de` durch Ihre tatsächliche Domain.
  • Stellen Sie sicher, dass die Pfade zu den Zertifikaten (ssl_certificate, ssl_certificate_key) korrekt sind.
  • Die ssl_protocols, ssl_ciphers und ssl_dhparam-Einstellungen sollten für optimale Sicherheit angepasst werden.

Speichern und schließen Sie die Konfigurationsdatei. Starten Sie Nginx danach neu:

sudo systemctl restart nginx

5. Überprüfung der HTTPS-Verbindung

Um die korrekte Einrichtung der HTTPS-Verbindung zu prüfen, besuchen Sie Ihre Webseite in einem Browser. Ein grünes Schlosssymbol in der Adressleiste signalisiert eine sichere Verbindung. Zusätzliche Tests können mit Tools wie SSL Labs (https://www.ssllabs.com/ssltest/) durchgeführt werden, um die Sicherheitseinstellungen zu überprüfen.

6. Automatische Zertifikatsverlängerung

Let’s Encrypt-Zertifikate sind 90 Tage gültig. Um eine dauerhaft sichere Webseite zu gewährleisten, müssen die Zertifikate regelmäßig erneuert werden. Certbot bietet die Möglichkeit der automatischen Verlängerung. Konfigurieren Sie Certbot so, dass die Zertifikate vor Ablauf automatisch verlängert werden.

Führen Sie diesen Befehl aus, um die automatische Verlängerung zu testen:

sudo certbot renew --dry-run

Dieser Befehl simuliert die Verlängerung, ohne sie tatsächlich durchzuführen. Sie sollten eine Erfolgsmeldung erhalten. Um die automatische Verlängerung zu aktivieren, fügen Sie Certbot als Cronjob hinzu. Ergänzen Sie Ihre Crontab mit folgendem Eintrag:

0 0 * * * root certbot renew --quiet

Dieser Cronjob führt die Zertifikatsverlängerung täglich um Mitternacht durch.

7. Zusätzliche Sicherheitsmaßnahmen

Neben Let’s Encrypt und HTTPS sollten Sie weitere Maßnahmen zur Absicherung Ihrer Webseite in Betracht ziehen:

  • Firewall: Nutzen Sie eine Firewall, um unbefugten Zugriff auf Ihren Server zu blockieren.
  • Sicherheitsaudits: Führen Sie regelmäßige Sicherheitsüberprüfungen durch, um Schwachstellen zu erkennen und zu beseitigen.
  • Starke Passwörter: Verwenden Sie sichere Passwörter für alle Serverkonten.
  • Zugriffsrechte einschränken: Beschränken Sie die Zugriffsrechte auf Dateien und Verzeichnisse auf Ihrem Server.

Fazit

Die Absicherung Ihrer Webseite mit Let’s Encrypt unter Debian 11 ist ein wichtiger Schritt zum Schutz Ihrer Daten und Ihrer Besucher. Durch die Nutzung von Let’s Encrypt und die korrekte Konfiguration von Nginx können Sie eine sichere HTTPS-Verbindung bereitstellen. Denken Sie an die regelmäßige Erneuerung der Zertifikate und die Umsetzung weiterer Sicherheitsmaßnahmen, um Ihre Webseite vor Angriffen zu schützen.

Häufig gestellte Fragen (FAQs)

1. Was ist Let’s Encrypt?
Let’s Encrypt ist eine kostenlose und automatisierte Zertifizierungsstelle, die SSL/TLS-Zertifikate für die Verschlüsselung und Absicherung von Webseiten ausstellt.

2. Was ist Nginx?
Nginx ist ein leistungsfähiger und weitverbreiteter Webserver, der die sichere Bereitstellung von Webseiten vereinfacht.

3. Warum sollte ich meine Webseite mit HTTPS sichern?
HTTPS sorgt für eine sichere Verbindung zwischen Ihrem Server und den Browsern Ihrer Besucher, um die Übertragung von Daten vor unbefugtem Zugriff zu schützen.

4. Wie lange sind Let’s Encrypt-Zertifikate gültig?
Let’s Encrypt-Zertifikate sind 90 Tage gültig.

5. Wie kann ich meine Let’s Encrypt-Zertifikate erneuern?
Certbot bietet eine automatische Verlängerungsfunktion, die die Zertifikate vor Ablauf erneuert.

6. Welche Vorteile bietet Let’s Encrypt?
Let’s Encrypt ist kostenlos, einfach zu nutzen, automatisiert und bietet hohe Sicherheitsstandards, um Webseiten zu schützen.

7. Kann ich Let’s Encrypt-Zertifikate für mehrere Domains nutzen?
Ja, das ist möglich. Verwenden Sie hierzu den `-d`-Parameter für jede Domain bei der Zertifikatsanforderung.

8. Was ist ein Cronjob?
Ein Cronjob ist eine automatisierte Aufgabe, die zu bestimmten Zeiten oder in bestimmten Abständen ausgeführt wird. Cronjobs können zur Automatisierung der Let’s Encrypt-Zertifikatsverlängerung genutzt werden.

9. Welche zusätzlichen Sicherheitsmaßnahmen sollte ich neben Let’s Encrypt ergreifen?
Zusätzliche Maßnahmen beinhalten die Nutzung einer Firewall, regelmäßige Sicherheitsaudits, starke Passwörter und die Einschränkung der Zugriffsrechte auf Dateien und Verzeichnisse.

10. Wo finde ich weitere Informationen zu Let’s Encrypt und Nginx?
Weitere Informationen finden Sie auf den offiziellen Webseiten von Let’s Encrypt (https://letsencrypt.org/) und Nginx (https://nginx.org/).

Tags: Let’s Encrypt, Nginx, Debian 11, SSL, TLS, Zertifikat, HTTPS, Sicherheit, Webseite, Server, Konfiguration, Verlängerung, Cronjob, Firewall, Sicherheitsaudit, starke Passwörter, Zugriffsrechte