Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

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

Zerossl Apache Nginx
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

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

Introduction

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. Es verschlüsselt einfach die Daten, wenn die Kommunikation stattfindet und die Daten von der Datenquelle übertragen werden Web-Browser zum Webserver. Wenn also ein Hacker diese Informationen aufnimmt, werden sie alle verschlüsselt.

How do HTTPS works?

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 eine installieren SSL / TLS-Zertifikat auf unserer Website die 'Datenverschlüsselung'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.

Getting ZeroSSL certificate

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 zum automatischen Generieren von CSR fort

  • Fahren Sie mit dem "kostenlosen" Plan fort

Als Nächstes müssen Sie den Domänenbesitz überprüfen. Es gibt einige Optionen.

  • DNS - wenn Sie einen DNS-Eintrag hinzufügen können
  • E-Mail - Wenn Sie die E-Mail an admin@IhreDomain.com erhalten können
  • 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 dem DNS-Eintrag 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.

Implementing on Apache

Im Folgenden werde ich Apache unter Ubuntu installieren.

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

sudo apt-get install apache2

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

root@geekflare-lab:~# systemctl status apache2
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Sat 2020-05-23 16:15:56 UTC; 3s ago
  Process: 7852 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS)
  Process: 14179 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 14196 (apache2)
    Tasks: 55 (limit: 2362)
   CGroup: /system.slice/apache2.service
           ├─14196 /usr/sbin/apache2 -k start
           ├─14199 /usr/sbin/apache2 -k start
           └─14200 /usr/sbin/apache2 -k start

May 23 16:15:56 geekflare-lab systemd[1]: Starting The Apache HTTP Server...
May 23 16:15:56 geekflare-lab apachectl[14179]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'Serve
May 23 16:15:56 geekflare-lab systemd[1]: Started The Apache HTTP Server.

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 wir 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
root@geekflare-lab:/etc/sslCA# ll
total 20
drwxr-xr-x  2 root root 4096 May 18 12:13 ./
drwxr-xr-x 92 root root 4096 May 22 06:07 ../
-rw-r--r--  1 root root 2430 May 18 05:37 ca_bundle.crt
-rw-r--r--  1 root root 2292 May 18 05:37 certificate.crt
-rw-r--r--  1 root root 1702 May 18 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 restart
  • Der nächste Schritt besteht darin, die Zertifikatdateien in der Apache SSL-Konfigurationsdatei zu konfigurieren.
cd /etc/apache2/mods-available
  • Der Name der Datei lautet ssl.conf. Wir müssen Folgendes hinzufügen <VirtualHost Richtlinie.
<VirtualHost _default_:443>         
SSLEngine on                 
SSLCertificateFile /etc/SSLCA/certificate.crt                 
SSLCertificateKeyFile /etc/SSLCA/private.key                 
SSLCertificateChainFile /etc/SSLCA/ca_bundle.crt
</VirtualHost>
  • Speichern Sie die Datei und beenden Sie sie :wq!

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

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

Implementing on 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.
root@geekflare-lab:~# systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2020-05-19 06:54:00 UTC; 4 days ago
     Docs: man:nginx(8)
  Process: 8634 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 8661 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 8653 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 8664 (nginx)
    Tasks: 2 (limit: 2362)
   CGroup: /system.slice/nginx.service
           ├─8664 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           └─8707 nginx: worker process

May 19 06:54:00 geekflare-lab systemd[1]: Starting A high performance web server and a reverse proxy server...
May 19 06:54:00 geekflare-lab systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
May 19 06:54:00 geekflare-lab systemd[1]: Started A high performance web server and a 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.

  • Lassen Sie uns erstellen example.com.conf Datei bei /etc/nginx/conf.d Ort. Der Dateiinhalt sieht wie folgt aus.
server {     
listen              443 SSL default_server;     
listen              [::]:443 SSL default_server ;     
server_name         lab.geekflare.com lab.geekflare.com;     
root                /var/www/html;     
}
  • Jetzt muss ein Zertifikatsdateiname hinzugefügt werden nginx.conf Datei, die sich in “/etc/nginx" Verzeichnis.
  • 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 restart nginx

Und los geht's.

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

Testing SSL/TLS Configuration

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 können Sie hier überprüfen.

Fazit

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

Danke an unsere Sponsoren
Weitere großartige Lektüren zu Apache HTTP
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder