GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So sichern Sie Nginx mit Let’s Encrypt unter Ubuntu 20.04

In diesem Artikel haben wir die notwendigen Schritte erklärt, um Nginx mit let’s encrypt auf Ubuntu 20.04 LTS zu sichern. Bevor Sie mit diesem Tutorial fortfahren, vergewissern Sie sich, dass Sie als Benutzer mit sudo angemeldet sind Privilegien. Alle Befehle in diesem Tutorial sollten als Nicht-Root-Benutzer ausgeführt werden.

Let’s Encrypt ist eine kostenlose, automatisierte und offene Zertifizierungsstelle, die von der Internet Security Research Group (ISRG) entwickelt wurde und kostenlose SSL-Zertifikate bereitstellt. Let’s Encrypt verwendet Client-Software (certbot), die den Prozess der Zertifikatserstellung, -validierung, -signierung, -implementierung und -erneuerung von Zertifikaten automatisiert.

Voraussetzung:

  • Betriebssystem mit Ubuntu 20.04
  • Server-IPv4-Adresse mit Superuser-Berechtigungen (Root-Zugriff)
  • Gnome-Terminal für Linux-Desktop
  • PuTTy SSH-Client für Windows oder macOS
  • Powershell für Windows 10/11
  • Vertraut mit APT-Befehlen

Nginx mit Let’s Encrypt auf Ubuntu 20.04 sichern

Schritt 1. Bevor Sie mit der Installation eines Pakets auf Ihrem Ubuntu-Server beginnen, empfehlen wir immer, sicherzustellen, dass alle Systempakete aktualisiert sind.

sudo apt update
sudo apt upgrade

Hinweis:Vor der Installation sollte auf die SSL-Domain von Let’s Encrypt gut zugegriffen werden und der virtuelle Nginx-Host verwendet werden. Lesen Sie das Tutorial zur Installation von Nginx unter Ubuntu.

Schritt 2. Installieren Sie Certbot.

Certbot ist ein voll ausgestattetes und benutzerfreundliches Tool, das die Aufgaben zum Erhalten und Erneuern von SSL-Zertifikaten von Let's Encrypt und zum Konfigurieren von Webservern für die Verwendung der Zertifikate automatisiert . Um es zu installieren, führen Sie die folgenden Befehle aus:

sudo apt install certbot

Generieren Sie danach einen neuen Satz von 2048-Bit-DH-Parametern, indem Sie den folgenden Befehl eingeben:

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Der Let’s Encrypt-Server stellt HTTP-Anforderungen an die temporäre Datei, um zu überprüfen, ob die angeforderte Domäne zu dem Server aufgelöst wird, auf dem certbot ausgeführt wird. Um es einfacher zu machen, werden wir alle HTTP-Anfragen für .well-known/acme-challenge abbilden in ein einzelnes Verzeichnis, /var/lib/letsencrypt :

sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp www-data /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt

Erstellen Sie dann die folgenden zwei Snippets, die in alle Blockdateien des Nginx-Servers aufgenommen werden:

sudo nano /etc/nginx/snippets/letsencrypt.conf
location ^~ /.well-known/acme-challenge/ {
  allow all;
  root /var/lib/letsencrypt/;
  default_type "text/plain";
  try_files $uri =404;
}

Als nächstes erstellen Sie das zweite Snippet, ssl.conf:

sudo nano /etc/nginx/snippets/ssl.conf
ssl_dhparam /etc/ssl/certs/dhparam.pem;

ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers on;

ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 30s;

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;

Öffnen Sie als Nächstes die Sperrdatei des Domänenservers und fügen Sie den letsencrypt.conf: ein

sudo nano /etc/nginx/sites-available/example.com.conf
server {
  listen 80;
  server_name example.com www.example.com;

  include snippets/letsencrypt.conf;
}

Vergessen Sie nicht, einen symbolischen Link von der Datei zum Verzeichnis für aktivierte Websites zu erstellen:

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx

Wenn Sie fertig sind, führen Sie Certbot mit dem Webroot-Plugin aus und erhalten Sie die SSL-Zertifikatsdateien, indem Sie Folgendes ausgeben:

sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com

Zum Schluss bearbeiten Sie Ihren Domain-Server-Block wie folgt:

sudo nano /etc/nginx/sites-available/example.com.conf
server {
    listen 80;
    server_name www.example.com example.com;

    include snippets/letsencrypt.conf;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;
}

Laden Sie den Nginx-Dienst neu, damit die Änderungen wirksam werden:

sudo systemctl reload nginx

Schritt 3. Überprüfen Sie Ihren Zertifikatsstatus.

Sie können sicherstellen, dass Certbot Ihr SSL-Zertifikat korrekt erstellt hat, indem Sie den SSL-Server-Test des Cloud-Sicherheitsunternehmens Qualys verwenden. Öffnen Sie den folgenden Link in Ihrem bevorzugten Webbrowser und ersetzen Sie your-domain.com mit Ihrer Basisdomain:

https://www.ssllabs.com/ssltest/analyze.html?d=your-domain.com

Schritt 4. Erneuern Sie das SSL-Zertifikat von Let’s Encrypt

Und schließlich testen Sie die automatische Verlängerung:

sudo certbot renew --dry-run

Das ist alles, was Sie tun müssen, um SSL Let’s Encrypt mit Nginx auf Ubuntu 20.04 Focal Fossa zu installieren. Ich hoffe, Sie finden diesen schnellen Tipp hilfreich. Wenn Sie Fragen oder Anregungen haben, können Sie unten einen Kommentar hinterlassen.


Ubuntu
  1. So sichern Sie Nginx mit Lets Encrypt auf Ubuntu 20.04 / 18.04

  2. Sichern Sie Nginx mit Let’s Encrypt auf Ubuntu 18.04 – wie geht das?

  3. So sichern Sie Nginx mit Letsencrypt unter Ubuntu 20.04

  4. So installieren Sie Elgg mit Nginx unter Ubuntu 18.04

  5. So sichern Sie Nginx mit Let’s Encrypt unter Ubuntu 20.04

Sichern Sie Nginx mit Let’s Encrypt SSL-Zertifikat auf Ubuntu 18.04

So sichern Sie Nginx mit dem Let’s Encrypt SSL-Zertifikat

So sichern Sie den LEMP-Server mit Let’s Encrypt Free SSL auf Ubuntu 18.04 VPS

So sichern Sie Apache mit Let’s Encrypt unter CentOS 8

So sichern Sie Nginx mit Let’s Encrypt unter CentOS 8

So sichern Sie Apache mit Let’s Encrypt unter Ubuntu 20.04