Lass uns verschlüsseln

Let's Encrypt auf Digital Ocean Droplet konfigurieren

Let's Encrypt auf Digital Ocean Droplet konfigurieren
Früher war es für Websites ganz normal, Inhalte über das traditionelle HTTP-Protokoll bereitzustellen, da die Sicherheit kein großes Problem war. Heutzutage ist es jedoch aufgrund der Zunahme von Cyberkriminalität wie Identitätsdiebstahl, Kreditkartendiebstahl und Abhören wirklich wichtig, den Kanal zu sichern, über den mit dem Server kommuniziert wird. Let's encrypt ist eine Zertifizierungsstelle, die kostenlos SSL/TLS-Zertifikate zur Verfügung stellt. Die von ihnen ausgestellten Zertifikate sind 3 Monate gültig, d. h. 90 Tage im Vergleich zu einem Jahr oder mehr bei kommerziellen Zertifizierungsstellen. Es bietet jedoch denselben Schutz wie bezahlte Zertifikate; daher wird es oft von vielen Bloggern und kleinen Websitebesitzern gegen Cyberkriminelle gewählt. Dieser Artikel soll zeigen, wie man die DigitalOcean-Droplets mit let's encrypt sichert secure.

Bedarf

Dieses Handbuch verwendet Ubuntu 16.04 als Betriebssystem, auf dem der Webserver läuft. Die gleichen Schritte können jedoch auch für alle anderen Ubuntu-Versionen verwendet werden, solange es keine Unterschiede in den Einstellungen gibt. In dieser Anleitung wird davon ausgegangen, dass der Benutzer bereits einen Webserver installiert hat und es sich um Nginx handelt. Als SSH-Client wird Putty verwendet, als Dateieditor wird Nano empfohlen.

Lösung

  1. Auf den auf den Droplets erstellten Webserver kann über das SSH-Protokoll zugegriffen werden. Laden Sie Putty von seiner offiziellen Website herunter und installieren Sie es. Die Bewerbung ist komplett kostenlos.
sudo apt-get install putty
  1. Nachdem Sie Putty heruntergeladen haben, laden Sie Nano . herunter. Der Zweck von Putty besteht darin, auf die Linux-Konsole zuzugreifen, um Shell-Befehle einzugeben, während Nano zum Bearbeiten interner Dateien wie der Nginx-Standarddatei verwendet wird.
sudo apt-get install nano
  1. Starten Sie den Putty und navigieren Sie zur Registerkarte Sitzung.
  1. Geben Sie im Feld Hostname die IP-Adresse des DigitalOcean-Droplets ein, auf dem der Webserver installiert ist. Die IP-Adresse der Droplets finden Sie in https://cloud.Digitalozean.com/tröpfchen. Geben Sie in das Port-Feld 22 . ein.
  1. Nachdem Sie alle erforderlichen Felder wie oben gezeigt ausgefüllt haben, drücken Sie OK, um die Änderungen zu übernehmen und sich beim Droplet anzumelden. Bei der Anmeldung am System wird nach dem Benutzernamen und dem Passwort des Droplets gefragt. Sowohl der Benutzername als auch das Passwort werden beim Erstellen des Droplets an die registrierte E-Mail in DigitalOcean gesendet.
  1. Dieses Handbuch verwendet Certbot, ein Drittanbieter-Tool, um den gesamten Prozess des Abrufens und Erneuerns der digitalen Zertifikate zu automatisieren. Certbot hat eine eigene Website, von der aus die zu verwendenden Befehle einfach generiert werden können. Laut Certbot sind dies die richtigen Befehle zum Installieren von Certbot unter Ubuntu. Zuerst aktualisiert es die Paketinformationen im lokalen Repository, dann installiert es das allgemeine Paket für Softwareeigenschaften, das einige nützliche Skripte für den Umgang mit persönlichen Paketen (PPA) bereitstellt, dann installiert es certbot, dann aktualisiert es erneut das lokale Repository und installiert schließlich das Python Certbot Nginx-Paketgin. Stellen Sie sicher, dass alle diese Pakete richtig installiert sind, bevor Sie mit dem nächsten Schritt fortfahren.
$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx
  1. Navigieren Sie zu der Website, von der die Domain gekauft wurde. Diese Anleitung verwendet Porkbun als Domain-Registrar und füge dann den A-Eintrag zur Domain hinzu. Typ ist A-Record, host ist leer, wenn die IP mit der Root-Domain verknüpft ist, andernfalls verwenden Sie den Subdomain-Namen ohne die Root-Domain, zum Beispiel wenn es nucuta ist.com, benutze einfach www. Geben Sie als Antwort die IP-Adresse des Droplets ein.
  1. Leiten Sie den WWW-Datenverkehr auf die gleiche Weise wie folgt zur Root-Domain um. Typ ist „CNAME“, Host ist „WWW“, Antwort ist „nucuta.com“ oder Ihre Domain. Dieser Schritt ist wichtig, da er den gesamten WWW-Verkehr zur Root-Domain umleitet.
  1. Verwenden Sie den folgenden Befehl auf Putty, um auf die Standarddatei von Nginx zuzugreifen. Die Standarddatei verwendet standardmäßig einen Serverblock, in dem sich die primäre Domäne befindet. Nano Editor wird dringend empfohlen, da er im Vergleich zu anderen sehr bequem zu verwenden ist.
sudo nano /etc/nginx/sites-available/default
  1. Navigieren Sie in der Standarddatei zum Block server und leiten Sie den HTTP-Datenverkehr auf HTTPs um. Ändern Sie im anderen Serverblock, in dem der gesicherte Datenverkehr verarbeitet wird, beispielsweise den server_name in einen Domänennamen
server_name nucuta.com www.Nucuta.com
  1. Geben Sie den folgenden Befehl ein, um den Nginx-Webserver neu zu starten. Immer wenn eine Änderung in der Standarddatei vorgenommen wurde, muss der gesamte Nginx-Server neu gestartet werden, damit neue Änderungen wirksam werden.
sudo systemctl neu laden nginx
  1. Standardmäßig blockiert die Firewall den gesamten Datenverkehr mit Ausnahme von Port 80 und 22. HTTPS verwendet den Port 443; Daher muss es manuell geöffnet werden, um von der Clientseite auf den Webserver zuzugreifen. Das Öffnen des Ports hängt von der Firewall ab.

    In CSF (konfigurierte Server-Firewall)

    1. Öffnet die CSF-Konfigurationsdatei durch Eingabe des folgenden Befehls.
    nano /etc/csf/csf.conf
    1. Fügen Sie die folgenden Ports zu TCP In und Out hinzu.
    TCP_IN = "20,21,22,25,53,80,443"
    TCP_OUT = "20,21,22,25,53,80.443"
    1. Starten Sie den CSF neu, indem Sie eingeben csf -r

    In USF (unkomplizierte Firewall)

    1. Geben Sie die folgenden zwei Befehle ein, um HTTPS zur Ausnahmeliste hinzuzufügen. Das Paket „Nginx Full“ hat sowohl HTTP- als auch HTTPS-Ports; daher ermöglicht das Hinzufügen des vollständigen Pakets sowohl den ein- als auch den ausgehenden Datenverkehr.
    sudo ufw erlauben 'Nginx Full'
    sudo ufw delete 'Nginx HTTP' erlauben
    1. Geben Sie den folgenden Befehl ein, um den Status anzuzeigen
  2. ufw-Status
  1. Überprüfen Sie den Port 443 von einer externen Website, um sicherzustellen, dass er sich sicher öffnet. Wenn der Port offen ist, wird "443 Port is open" angezeigt
  1. Verwenden Sie nun den Certbot, um das SSL-Zertifikat für die Domain abzurufen. D-Parameter ist erforderlich, um die Domäne anzugeben. Let's encrypt gibt ein Zertifikat sowohl für root als auch für die www-Subdomain frei. Wenn Sie nur eine für eine der beiden Versionen haben, wird im Browser eine Warnung ausgegeben, wenn ein Besucher auf die andere Version zugreift; Daher ist es wichtig, das Zertifikat für beide Versionen zu erhalten. sudo certbot --nginx -d nucuta.com -d www.Nucuta.com
  1. Certbot fordert Sie auf, den gesamten HTTP-Verkehr auf HTTPS umzuleiten, dies ist jedoch nicht erforderlich, da dies bereits in einem der vorherigen Schritte erfolgt ist.
  1. Navigieren Sie nun zur SSL Lab-Website und überprüfen Sie die Qualität oder andere Probleme des Zertifikats und seiner Konfiguration. https://www.ssllabs.com/ssltest/
  1. Wenn die aktuelle Konfiguration nicht ausreichend gesichert ist, navigieren Sie zum Mozilla SSL-Konfigurationsgenerator und generieren Sie die Einstellungen für Ihren Webserver. https://mozilla.github.io/server-side-tls/ssl-config-generator/. Da hier Nginx verwendet wird, stellen Sie sicher, dass Sie Nginx als Webserver verwenden. Es bietet drei Optionen, mittel, alt und modern. Die alte Option macht die Website mit praktisch jedem Browser kompatibel, einschließlich superalter Browser wie IE 6, während die mittlere Option sie ideal für durchschnittliche Benutzer macht, die moderne Option erzeugt eine Konfiguration, die für maximale Sicherheit erforderlich ist, aber als Gegenleistung wird die Website nicht funktionieren richtig auf älteren Browsern. Daher wird es dringend für Websites empfohlen, bei denen die Sicherheit ein wichtiges Anliegen ist.
  1. Navigieren Sie zu Ihrer Website und klicken Sie mit der rechten Maustaste auf das Schlosssymbol und dann auf die Option „Zertifikat“, um das Zertifikat anzuzeigen.
  1. Wenn ein Datum in der Zukunft nach TO in der Option Gültig ab angezeigt wird, bedeutet dies, dass der Zertifikatserwerbsprozess abgeschlossen wurde. Es ist jedoch wichtig, den Datenverkehr an die entsprechende Version der Domain umzuleiten, zum Beispiel kann HTTP- und WWW-Datenverkehr umgeleitet werden HTTPS-Root-Domain, wie in diesem Handbuch beschrieben. Das Zertifikat wird von certbot automatisch erneuert; Daher steht es dem Website-Betreiber für immer kostenlos zur Verfügung.
So zeigen Sie OSD-Overlay in Vollbild-Linux-Apps und -Spielen an
Das Spielen von Spielen im Vollbildmodus oder die Verwendung von Apps im ablenkungsfreien Vollbildmodus kann Sie von relevanten Systeminformationen ab...
Top 5 Karten zur Spielaufnahme
Wir alle haben Streaming-Gameplays auf YouTube gesehen und geliebt. PewDiePie, Jakesepticye und Markiplier sind nur einige der Top-Gamer, die Millione...
So entwickeln Sie ein Spiel unter Linux
Vor einem Jahrzehnt hätten nicht viele Linux-Benutzer vorhergesagt, dass ihr Lieblingsbetriebssystem eines Tages eine beliebte Spieleplattform für kom...