Wie implementiere ich das ZeroSSL-Zertifikat in Apache und Nginx?

Schauen wir uns an, wie Sie ein KOSTENLOSES SSL / TLS-Zertifikat von ZeroSSL erhalten und es auf Apache- und Nginx-Webservern implementieren.


Einführung

Möglicherweise haben Sie viel über den Begriff HTTP und HTTPS gehört. In den frühen Tagen wurde ein Protokoll definiert, das als benannt wurde HyperText Transfer Protocol (HTTP). Es ist eine Möglichkeit, vom Browser zum Webserver zu kommunizieren. Wenn diese Kommunikation stattfindet, werden die Daten, die über ein HTTP-Protokoll übertragen werden, nur im Klartextformat übertragen. Aus diesem Grund wurde festgestellt, dass die HTTP-Kommunikation nicht sicher ist und Hacker die wichtigen und sensiblen Nachrichten angreifen und abfangen konnten.

Um dieses Problem zu lösen, muss die HTTPS Protokoll kam ins Bild. Es ist ein sicheres Protokoll und Akronym steht für HyperText Transfer Protocol Sicher. Bei der Kommunikation werden die Daten einfach verschlüsselt, und die Daten werden vom Webbrowser zum Webserver übertragen. Wenn also ein Hacker diese Informationen aufnimmt, werden sie alle verschlüsselt.

Wie funktioniert HTTPS??

Das HTTPS-Protokoll funktioniert mit beiden Dingen: SSL (Secure Socket Layer) oder TLS (Transport Layer Security). Beide Tools verwenden PKI (Public Key Infrastructure). PKI verwendet wiederum zwei Schlüssel, dh. öffentliche und private Schlüssel. Alles, was mit dem öffentlichen Schlüssel verschlüsselt wird, kann mit dem privaten Schlüssel entschlüsselt werden und umgekehrt.

Wenn wir ein SSL / TLS-Zertifikat auf unserer Website installieren, wird dieDatenverschlüsselungDie Funktion wird aktiviert. SSL wird als Kontrollpunkt verwendet, um die Sicherheit der Daten zu gewährleisten, die über das Internet zwischen dem Browser des Benutzers und dem Website-Server ausgetauscht werden.

ZeroSSL-Zertifikat erhalten

ZeroSSL ist eine Zertifizierungsstelle (CA), die es jedem sehr einfach macht, ein Zertifikat zu installieren, um die Website sicher zu machen. Sie können bis zu 3 Zertifikate mit einer Gültigkeit von 90 Tagen kostenlos erhalten.

Null SSL

  • Melden Sie sich bei ZeroSSL an
  • Nach dem Anmelden wird die folgende Seite angezeigt. Klicke auf ‘Neues Zertifikat. “

  • Geben Sie die URL ein, die Sie sichern möchten, und klicken Sie auf “Nächster Schritt.

  • Wählen Sie 90-Tage-Zertifikat und Weiter

  • Fahren wir mit der Option “CSR automatisch generieren” fort

  • Fahren Sie mit dem “kostenlosen” Plan fort

Als Nächstes müssen Sie den Domain-Besitz überprüfen. Es gibt einige Optionen.

  • DNS – wenn Sie einen DNS-Eintrag hinzufügen können
  • E-Mail – wenn Sie die E-Mail an erhalten können [E-Mail geschützt]
  • Datei-Upload – Wenn Sie eine Datei im Stammverzeichnis der Domäne hochladen können

Wählen Sie, was für Sie funktioniert. Ich werde mit der DNS-Eingabe fortfahren.

  • Ich habe den CNAME hinzugefügt und bin bereit, die Domain zu überprüfen.

  • Nach der Überprüfung kann das SSL-Zertifikat heruntergeladen werden.

Hier sind meine heruntergeladenen Zertifikate.

Es ist Zeit, es umzusetzen.

Implementierung auf Apache

Im Folgenden werde ich Apache unter Ubuntu installieren.

Melden Sie sich beim Server an und installieren Sie ihn mit dem Befehl apt-get.

sudo apt-get install apache2

Lassen Sie uns mit dem Befehl systemctl herausfinden, ob Apache ausgeführt wird.

[E-Mail geschützt]: ~ # systemctl status apache2
● apache2.service – Der Apache HTTP-Server
Geladen: geladen (/lib/systemd/system/apache2.service; aktiviert; Hersteller-Voreinstellung: aktiviert)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Aktiv: aktiv (läuft) seit Sa 2020-05-23 16:15:56 UTC; Vor 3s
Prozess: 7852 ExecStop = / usr / sbin / apachectl stop (Code = beendet, Status = 0 / SUCCESS)
Prozess: 14179 ExecStart = / usr / sbin / apachectl start (Code = beendet, Status = 0 / SUCCESS)
Haupt-PID: 14196 (Apache2)
Aufgaben: 55 (Limit: 2362)
CGroup: /system.slice/apache2.service
├─14196 / usr / sbin / apache2 -k start
├─14199 / usr / sbin / apache2 -k start
200─14200 / usr / sbin / apache2 -k start

23. Mai 16:15:56 geekflare-lab systemd [1]: Starten des Apache HTTP-Servers…
23. Mai 16:15:56 geekflare-lab apachectl [14179]: AH00558: apache2: Der vollständig qualifizierte Domänenname des Servers konnte mit 127.0.1.1 nicht zuverlässig ermittelt werden. Stellen Sie den ‘Servieren
23. Mai 16:15:56 geekflare-lab systemd [1]: Der Apache HTTP Server wurde gestartet.

Großartig, es läuft.

Meine Domain (lab.geekflare.com) zeigt bereits auf diesen Apache-Server.

Wie Sie sehen, ist es jedoch nicht gesichert. Daher konfigurieren wir das Zertifikat, das wir von ZeroSSL erhalten haben.

  • Erstellen Sie ein Verzeichnis mit dem Namen sslCA unter / etc, um die Zertifikatdateien zu speichern.

cd / etc.
mkdir sslCA

  • Übertragen Sie die Dateien in den neu erstellten Ordner auf dem Server

[E-Mail geschützt]: / etc / sslCA # ll
insgesamt 20
drwxr-xr-x 2 root root 4096 18. Mai 12:13 ./
drwxr-xr-x 92 root root 4096 22. Mai 06:07 ../
-rw-r – r– 1 root root 2430 18. Mai 05:37 ca_bundle.crt
-rw-r – r– 1 root root 2292 18. Mai 05:37 certificate.crt
-rw-r – r– 1 root root 1702 18. Mai 05:37 private.key

  • Aktivieren Sie das SSL-Modul

sudo a2enmod SSL

  • Wir müssen den Webserver neu starten, damit die Änderungen erkannt werden können.

sudo service apache2 neu starten

  • Der nächste Schritt besteht darin, die Zertifikatdateien in der Apache SSL-Konfigurationsdatei zu konfigurieren.

cd / etc / apache2 / mods-verfügbar

  • Der Name der Datei lautet ssl.conf. Wir müssen Folgendes in die Richtlinie aufnehmen.

SSLEngine an
SSLCertificateFile /etc/SSLCA/certificate.crt
SSLCertificateKeyFile /etc/SSLCA/private.key
SSLCertificateChainFile /etc/SSLCA/ca_bundle.crt

  • Speichern Sie die Datei und beenden Sie: wq!

Nach dem Neustart wird das SSL auf der Site aktiviert. Lassen Sie uns über https: // auf die Website zugreifen

Und wie Sie sehen können,Verbindung ist sicher ”. Dies bedeutet, dass unser SSL-Zertifikat erfolgreich auf unseren Webserver angewendet wurde.

Implementierung auf Nginx

Nginx befindet sich in den Standard-Repositorys von Ubuntu, sodass es von hier aus mit dem entsprechenden Verpackungssystem installiert werden kann.

  • Der folgende Befehl wird zum Installieren des “Nginx”.

sudo apt install nginx

  • Nachdem die Installation erfolgreich war, können wir Nginx mit dem folgenden Befehl starten.

systemctl start nginx

  • Überprüfen Sie den Status von Nginx.

[E-Mail geschützt]: ~ # systemctl status nginx
● nginx.service – Ein Hochleistungs-Webserver und ein Reverse-Proxy-Server
Geladen: geladen (/lib/systemd/system/nginx.service; aktiviert; Hersteller-Voreinstellung: aktiviert)
Aktiv: aktiv (läuft) seit Di 2020-05-19 06:54:00 UTC; vor 4 Tagen
Docs: Mann: Nginx (8)
Prozess: 8634 ExecStop = / sbin / start-stop-daemon –quiet –stop –retry QUIT / 5 –pidfile /run/nginx.pid (code = beendet, status = 0 / SUCCESS)
Prozess: 8661 ExecStart = / usr / sbin / nginx -g Daemon on; master_process on; (Code = beendet, Status = 0 / ERFOLG)
Prozess: 8653 ExecStartPre = / usr / sbin / nginx -t -q -g Daemon on; master_process on; (Code = beendet, Status = 0 / ERFOLG)
Haupt-PID: 8664 (Nginx)
Aufgaben: 2 (Limit: 2362)
CGroup: /system.slice/nginx.service
64─8664 nginx: Master-Prozess / usr / sbin / nginx -g Daemon ein; master_process on;
70─8707 nginx: Arbeitsprozess

19. Mai 06:54:00 geekflare-lab systemd [1]: Starten eines Hochleistungs-Webservers und eines Reverse-Proxy-Servers…
19. Mai 06:54:00 geekflare-lab systemd [1]: nginx.service: Fehler beim Parsen der PID aus der Datei /run/nginx.pid: Ungültiges Argument
19. Mai 06:54:00 geekflare-lab systemd [1]: Gestartet Ein Hochleistungs-Webserver und ein Reverse-Proxy-Server.

  • Wie erwartet zeigt der Browser die Warnung an, da eine Verbindung zu dieser Site nicht sicher ist.

Lassen Sie uns das Zertifikat schnell implementieren, um die Site mithilfe von HTTPS sicher zu machen.

  • Erstellen wir die Datei example.com.conf unter /etc/nginx/conf.d. Der Dateiinhalt sieht wie folgt aus.

Server {
listen 443 SSL default_server;
listen [::]: 443 SSL default_server;
Servername lab.geekflare.com lab.geekflare.com;
root / var / www / html;
}}

  • Jetzt muss ein Zertifikatdateiname in die Datei nginx.conf eingefügt werden, die sich im Verzeichnis “/ etc / nginx” befindet.
  • Fügen Sie Folgendes in die http-Direktive ein

ssl_certificate /etc/sslCA/certificate.crt;
ssl_certificate_key /etc/sslCA/private.key;

  • Starten Sie Nginx neu, um die Änderungen zu überprüfen

systemctl nginx neu starten

Und es geht los.

Möchten Sie Nginx lernen? Schau dir das an Grundkurs.

Testen der SSL / TLS-Konfiguration

Die Standardkonfiguration ist möglicherweise anfällig, und ich empfehle dringend Testen Sie Ihre Website nach der Implementierung des Zertifikats. Es gibt eine Reihe von Online-Tools, die Sie hier herunterladen können.

Fazit

Ich hoffe, dies gibt Ihnen eine Idee, ein Zertifikat von ZeroSSL zu erhalten und es auf zwei der beliebtesten Webserver zu implementieren.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map