So erstellen Sie ein selbstsigniertes SSL-Zertifikat für Nginx in Ubuntu

So erstellen Sie ein selbstsigniertes SSL-Zertifikat für Nginx in Ubuntu

Einführung

Die Sicherung Ihrer Website mit einem SSL-Zertifikat ist ein wesentlicher Schritt zum Schutz der Daten Ihrer Besucher und zur Verbesserung des Vertrauens in Ihre Website. SSL (Secure Sockets Layer) ist ein Verschlüsselungsprotokoll, das eine sichere Verbindung zwischen einem Webserver und einem Webbrowser herstellt. Es sorgt dafür, dass die zwischen dem Server und dem Browser übertragenen Daten verschlüsselt sind und vor unbefugtem Zugriff geschützt sind.

Die Verwendung eines selbstsignierten SSL-Zertifikats ist eine kostengünstige Möglichkeit, Ihre Website zu sichern, ohne ein kommerzielles Zertifikat erwerben zu müssen. Obwohl selbstsignierte Zertifikate nicht so vertrauenswürdig sind wie von einer Zertifizierungsstelle ausgestellte Zertifikate, bieten sie dennoch einen angemessenen Schutz für Websites mit geringem Verkehrsaufkommen oder internen Anwendungen.

Dieses Tutorial führt Sie durch die Schritte zum Erstellen und Installieren eines selbstsignierten SSL-Zertifikats für Nginx in Ubuntu.

Voraussetzungen

* Ein Ubuntu-Server mit installiertem Nginx
* Root-Zugriff oder sudo-Berechtigungen

Erstellung des selbstsignierten Zertifikats

Schritt 1: Generieren des privaten Schlüssels

Führen Sie den folgenden Befehl aus, um einen neuen privaten RSA-Schlüssel mit einer Schlüssellänge von 2048 Bit zu generieren:

bash
openssl genrsa -out server.key 2048

Schritt 2: Generieren des CSR (Certificate Signing Request)

Erstellen Sie mithilfe des privaten Schlüssels eine Certificate Signing Request (CSR). Geben Sie die erforderlichen Informationen ein, einschließlich des gebräuchlichen Namens (Common Name) für Ihr Zertifikat:

  PHP-Frameworks: Eine Übersicht über die besten Optionen für die schnelle Webentwicklung

bash
openssl req -new -key server.key -out server.csr

Hinweis: Der gebräuchliche Name sollte dem vollständig qualifizierten Domänennamen (FQDN) Ihrer Website entsprechen.

Schritt 3: Generieren des selbstsignierten Zertifikats

Verwenden Sie den CSR, um ein selbstsigniertes SSL-Zertifikat zu generieren. Stellen Sie 365 Tage als Laufzeit des Zertifikats ein:

bash
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Installation des SSL-Zertifikats in Nginx

Schritt 1: Konfiguration von Nginx

Öffnen Sie die Nginx-Konfigurationsdatei /etc/nginx/sites-available/default mit einem Texteditor:

bash
sudo nano /etc/nginx/sites-available/default

Fügen Sie die folgenden Zeilen zu der Serverblock-Konfiguration hinzu:


listen 443 ssl;
ssl_certificate /etc/nginx/certs/server.crt;
ssl_certificate_key /etc/nginx/certs/server.key;

Hinweis: Ändern Sie die Pfade zu Ihrem Zertifikat (server.crt) und Ihrem privaten Schlüssel (server.key) entsprechend.

Schritt 2: Erstellen des Verzeichnisses für Zertifikate

Erstellen Sie ein Verzeichnis zum Speichern des Zertifikats und des privaten Schlüssels:

bash
sudo mkdir -p /etc/nginx/certs

Schritt 3: Kopieren des Zertifikats und des Schlüssels

Kopieren Sie das selbstsignierte Zertifikat und den privaten Schlüssel in das neu erstellte Verzeichnis:

bash
sudo cp server.crt /etc/nginx/certs/server.crt
sudo cp server.key /etc/nginx/certs/server.key

Schritt 4: Testen der Konfiguration

Prüfen Sie die Nginx-Konfiguration auf Syntaxfehler:

bash
sudo nginx -t

Wenn keine Fehler auftreten, starten Sie Nginx neu, um die Änderungen zu übernehmen:

bash
sudo systemctl restart nginx

Überprüfung der Installation

Öffnen Sie Ihre Website in einem Webbrowser mit dem Protokoll „https://“ (z. B. https://www.ihredomain.de/).

  10 Tools zum Entfernen von Wasserzeichen zum Entfernen von Logos, Texten und Stempeln

Überprüfen Sie die Adressleiste des Browsers auf das Schlosssymbol, das anzeigt, dass eine sichere Verbindung hergestellt wurde.

Klicken Sie auf das Schlosssymbol, um die Zertifikatsinformationen anzuzeigen. Es sollte als selbstsigniertes Zertifikat angezeigt werden.

Fazit

Sie haben jetzt erfolgreich ein selbstsigniertes SSL-Zertifikat für Nginx in Ubuntu erstellt und installiert. Obwohl selbstsignierte Zertifikate nicht so vertrauenswürdig sind wie von einer Zertifizierungsstelle ausgestellte Zertifikate, bieten sie dennoch einen angemessenen Schutz für Websites mit geringem Verkehrsaufkommen oder interne Anwendungen.

Denken Sie daran, dass selbstsignierte Zertifikate von Browsern als unsicher markiert werden können. Erwägen Sie daher, für Websites, die vertrauliche Informationen verarbeiten, nach Möglichkeit ein kommerzielles SSL-Zertifikat zu erwerben.

Häufig gestellte Fragen (FAQs)

1. Warum sollte ich ein SSL-Zertifikat für meine Website verwenden?

SSL-Zertifikate verschlüsseln die zwischen Ihrer Website und den Besuchern übertragenen Daten und schützen sie so vor unbefugtem Zugriff und Abfangen. SSL-Zertifikate verbessern auch das Vertrauen der Besucher in Ihre Website.

2. Was ist der Unterschied zwischen selbstsignierten und von einer Zertifizierungsstelle ausgestellten SSL-Zertifikaten?

Selbstsignierte Zertifikate werden vom Websitebesitzer selbst generiert, während von einer Zertifizierungsstelle ausgestellte Zertifikate von einer vertrauenswürdigen dritten Partei verifiziert werden. Von einer Zertifizierungsstelle ausgestellte Zertifikate sind vertrauenswürdiger und werden von den meisten Browsern ohne Warnungen akzeptiert.

3. Wo kann ich ein SSL-Zertifikat von einer Zertifizierungsstelle erwerben?

Es gibt viele Zertifizierungsstellen, die SSL-Zertifikate anbieten. Einige beliebte Anbieter sind:

  Was ist eine Concept Map und wie erstellt man eine?

* DigiCert
* Let’s Encrypt
* GlobalSign
* Sectigo

4. Wie kann ich mein SSL-Zertifikat verlängern?

Die Laufzeit von SSL-Zertifikaten ist begrenzt. Sie müssen Ihr Zertifikat verlängern, bevor es abläuft. Der Prozess der Verlängerung hängt vom Zertifikatanbieter ab.

5. Wie kann ich herausfinden, ob meine Website ein SSL-Zertifikat verwendet?

Sie können die Sicherheit Ihrer Website in einem Webbrowser überprüfen. Wenn neben der Webadresse ein grünes Schlosssymbol angezeigt wird, verwendet Ihre Website ein SSL-Zertifikat.

6. Warum wird meine Website als unsicher angezeigt, obwohl ich ein SSL-Zertifikat installiert habe?

Wenn Ihre Website als unsicher angezeigt wird, obwohl Sie ein SSL-Zertifikat installiert haben, liegt möglicherweise ein Problem mit der Installation oder Konfiguration vor. Überprüfen Sie die Zertifikatsinformationen in Ihrem Browser, um mögliche Fehler zu ermitteln.

7. Kann ich ein selbstsigniertes SSL-Zertifikat für eine E-Commerce-Website verwenden?

Es wird nicht empfohlen, ein selbstsigniertes SSL-Zertifikat für eine E-Commerce-Website zu verwenden. Selbstsignierte Zertifikate werden von Browsern als unsicher markiert, was das Vertrauen der Kunden verringern und zu einem Rückgang der Verkäufe führen kann.

8. Wie kann ich die Sicherheit meines SSL-Zertifikats verbessern?

Sie können die Sicherheit Ihres SSL-Zertifikats verbessern, indem Sie die folgenden Best Practices befolgen:

* Verwenden Sie starke Verschlüsselungsalgorithmen.
* Legen Sie eine kurze Zertifikatslaufzeit fest.
* Überwachen Sie Ihr Zertifikat auf Anzeichen von Kompromittierung.
* Implementieren Sie HSTS (HTTP Strict Transport Security).