Installieren Sie Wildcard-Zertifikate von Lets Encrypt in Nginx unter Ubuntu 19.04

Im März 2018 hat Let's Encrypt die Unterstützung für Platzhalterzertifikate hinzugefügt. Mit Platzhalterzertifikaten können Sie alle Subdomains der ersten Ebene einer Domain mit einem einzigen Zertifikat sichern. Platzhalterzertifikate sind nur über ACMEv2 erhältlich, eine aktualisierte Version des ACME-Protokolls. Um ACMEv2 für Platzhalter- oder Nicht-Platzhalterzertifikate verwenden zu können, benötigen Sie einen Client, der aktualisiert wurde, um ACMEv2 zu unterstützen. Ein solcher Client ist acme.sh, ein ACME / ACMEv2-Protokollclient, der ausschließlich in Shell-Sprache (Unix-Shell) ohne Abhängigkeiten geschrieben ist. Darüber hinaus müssen Platzhalterdomänen mithilfe des DNS-01-Challenge-Typs validiert werden. Dies bedeutet, dass Sie DNS-TXT-Einträge ändern müssen, um die Kontrolle über eine Domäne zu beweisen und ein Platzhalterzertifikat zu erhalten.

In diesem Handbuch wird erläutert, wie Sie kostenlose Wildcard-Zertifikate von Let's Encrypt unter Ubuntu 19.04 mithilfe des acme.shClient- Lexikon- Tools zur automatischen Bearbeitung von DNS-Einträgen erhalten und bereitstellen, indem Sie die Vultr-API verwenden und Zertifikate auf dem Nginx-Webserver bereitstellen.

Bedarf

  • Frisch bereitgestellter Ubuntu 19.04 Vultr Cloud Server.
  • Sie haben einen registrierten Domainnamen. In diesem Handbuch wird example.comals Beispieldomäne verwendet.
  • Stellen Sie sicher, dass Sie A / AAAA- und CNAME-DNS-Einträge für Ihren vollqualifizierten Domänennamen (FQDN) festgelegt haben. Sie können das Tutorial Einführung in Vultr DNS konsultieren , wenn Sie sich mit DNS-Konzepten vertraut machen müssen.
  • Vultr-API-Zugriff in der Systemsteuerung Ihres Vultr-Kontos aktiviert.

Bevor Sie beginnen

Überprüfen Sie die Ubuntu-Version.

lsb_release -ds
# Ubuntu 19.04

Erstellen Sie ein neues Benutzerkonto mit sudoZugriff und Ihrem bevorzugten Benutzernamen und wechseln Sie zu diesem. Wir benutzen johndoe.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

HINWEIS : Ersetzen Sie johndoedurch Ihren Benutzernamen.

Richten Sie die Zeitzone ein.

sudo dpkg-reconfigure tzdata

Stellen Sie sicher, dass Ihr Ubuntu-System auf dem neuesten Stand ist.

sudo apt update && sudo apt upgrade -y

Installieren Sie die erforderlichen Pakete.

sudo apt install -y git wget curl socat

Installieren Sie Nginx

Installieren Sie den Nginx-Webserver.

sudo apt install -y nginx

Überprüfe die Version.

sudo nginx -v
# nginx version: nginx/1.15.9 (Ubuntu)

Installieren Sie Python und Lexicon

Als ersten Schritt beim Abrufen von Platzhalterzertifikaten von Let's Encrypt mithilfe der API acme.sh und Vultr müssen Sie Python und Lexicon installieren . Lexicon ist ein Python-Paket, mit dem DNS-Einträge auf mehreren DNS-Anbietern standardisiert bearbeitet werden können.

Installieren Sie Python, falls es noch nicht auf Ihrem System installiert ist.

sudo apt install -y python3

Bestätigen Sie die Installation, indem Sie die Version überprüfen.

python3 --version
# Python 3.7.3

Installieren Sie das Lexikon-Tool. Ein Lexikon ist ein Python-Tool, mit dem Sie DNS-Einträge bei verschiedenen DNS-Anbietern auf standardisierte Weise bearbeiten können.

sudo apt install -y lexicon

Überprüfen Sie die Lexikonversion.

lexicon --version
# lexicon 3.0.8

acme.shClient installieren

Acme.shist ein ACME-Protokoll-Client, der ausschließlich in der Shell-Sprache (Unix-Shell) geschrieben ist und den Prozess des Abrufs eines signierten Zertifikats über Let's Encrypt automatisiert. Es unterstützt ACME v1 und ACME v2 und vor allem ACME v2-Platzhalterzertifikate. In diesem Abschnitt installieren wir ein Acme.sh-Skript.

HINWEIS: Es wird empfohlen rootBenutzer zu installieren acme.sh, obwohl es nicht erforderlich ist root/ sudoZugang.

Wechseln Sie rootvom normalen Benutzer zum Benutzer, wenn Sie ihn erstellt haben.

sudo su - root

Herunterladen und installieren acme.sh.

git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail "[email protected]"
source ~/.bashrc
cd

Überprüfe die Version.

acme.sh --version
# v2.8.2

Erhalten Sie Platzhalterzertifikate von Let's Encrypt

Um ein Platzhalterzertifikat zu erhalten, können wir nur die DNS-Validierungsmethode verwenden. Wir verwenden die Lexikon- und Vultr-DNS-API, um TXT-DNS-Einträge zu bearbeiten.

Erhalten Sie RSA- und ECC-Platzhalterzertifikate für Ihre Domain.

# Configure your API key and username
export PROVIDER=vultr
export LEXICON_VULTR_USERNAME="[email protected]"
export LEXICON_VULTR_TOKEN="XXXXXXXXXXXXXXX"

# RSA 2048
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength 2048
# ECC 256
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength ec-256

HINWEIS : Vergessen Sie nicht, durch example.comIhren Domain-Namen zu ersetzen und die Platzhalterwerte der Vultr-API durch Ihre eigenen zu ersetzen.

Nachdem Sie die vorhergehenden Befehle ausgeführt haben, befinden sich Ihre Zertifikate und Schlüssel in:

  • Für RSA: ~/.acme.sh/example.comVerzeichnis.
  • Für ECC / ECDSA: ~/.acme.sh/example.com_eccVerzeichnis.

HINWEIS : Sie sollten die Zertifikatdateien im ~/.acme.sh/Ordner nicht verwenden , sie sind nur für den internen Gebrauch bestimmt. Die Verzeichnisstruktur kann sich in Zukunft ändern.

Um Ihre Zertifikate aufzulisten, können Sie Folgendes ausführen:

acme.sh --list

Erstellen Sie einen Ordner, um Ihre Zertifikate in der Produktion zu speichern. Wir benutzen /etc/letsencryptVerzeichnis.

sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Installieren / Kopieren von Zertifikaten für die Produktion auf Ihrem Server.

# RSA
acme.sh --install-cert -d example.com \
        --cert-file /etc/letsencrypt/example.com/cert.pem \
        --key-file /etc/letsencrypt/example.com/private.key \
        --fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
        --cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
        --key-file /etc/letsencrypt/example.com_ecc/private.key \
        --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

Nachdem wir erfolgreich Platzhalterzertifikate von Let's Encrypt erhalten haben, müssen wir den Nginx-Webserver konfigurieren. Alle Zertifikate werden automatisch alle 60 Tage erneuert.

Nachdem Sie Zertifikate erhalten und an Ihrem bevorzugten Speicherort installiert haben, können Sie sich vom rootBenutzer bei einem normalen sudoBenutzer abmelden und Ihren Server sudobei Bedarf weiterhin verwalten .

exit

Konfigurieren Sie den Nginx-Webserver

Führen Sie sudo vim /etc/nginx/sites-available/example.com.confdie Datei aus und füllen Sie sie mit dem folgenden Inhalt. Ersetzen Sie alle Vorkommen von example.comdurch Ihren eigenen Domainnamen.

server {

  listen 443 ssl http2;
  listen [::]:443 ssl http2;

  server_name example.com *.example.com;
  root /var/www/example.com;

  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;

}

Aktivieren Sie die neue example.com.confKonfiguration, indem Sie die Datei mit dem sites-enabledVerzeichnis verknüpfen .

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

Testen Sie die Nginx-Konfiguration.

sudo nginx -t

Laden Sie Nginx neu.

sudo systemctl reload nginx.service

Das ist es. Wir haben Wildcard-Zertifikate mithilfe der acme.sh-, Lexicon- und Vultr-API für Nginx bereitgestellt. Platzhalterzertifikate können nützlich sein, wenn Sie mehrere dynamisch generierte Subdomains der ersten Ebene sichern möchten.



Leave a Comment

So installieren Sie Blacklistd unter FreeBSD 11.1

So installieren Sie Blacklistd unter FreeBSD 11.1

Einführung Jeder Dienst, der mit dem Internet verbunden ist, ist ein potenzielles Ziel für Brute-Force-Angriffe oder ungerechtfertigten Zugriff. Es gibt Tools wie fail2ba

So aktivieren Sie TLS 1.3 in Apache unter Fedora 30

So aktivieren Sie TLS 1.3 in Apache unter Fedora 30

Verwenden Sie ein anderes System? TLS 1.3 ist eine Version des TLS-Protokolls (Transport Layer Security), das 2018 als vorgeschlagener Standard in RFC 8446 veröffentlicht wurde

Chroot auf Debian einrichten

Chroot auf Debian einrichten

In diesem Artikel erfahren Sie, wie Sie unter Debian ein Chroot-Gefängnis einrichten. Ich gehe davon aus, dass Sie Debian 7.x verwenden. Wenn Sie Debian 6 oder 8 ausführen, funktioniert dies möglicherweise, bu

So installieren Sie ModSecurity für Nginx unter CentOS 7, Debian 8 und Ubuntu 16.04

So installieren Sie ModSecurity für Nginx unter CentOS 7, Debian 8 und Ubuntu 16.04

ModSecurity ist ein WAF-Modul (Open Source Web Application Firewall), mit dem Apache, Nginx und IIS vor verschiedenen Cyberangriffen geschützt werden können

MongoDB sichern

MongoDB sichern

MongoDB ist standardmäßig nicht sicher. Wenn Sie MongoDB installieren und starten, ohne es für die Authentifizierung zu konfigurieren, werden Sie eine schlechte Zeit haben

Konfigurieren Sie die unkomplizierte Firewall (UFW) unter Ubuntu 14.04

Konfigurieren Sie die unkomplizierte Firewall (UFW) unter Ubuntu 14.04

Sicherheit ist entscheidend, wenn Sie Ihren eigenen Server betreiben. Sie möchten sicherstellen, dass nur autorisierte Benutzer auf Ihren Server, Ihre Konfiguration und Ihre Dienste zugreifen können. ich

So installieren Sie rkhunter unter Ubuntu

So installieren Sie rkhunter unter Ubuntu

Rkhunter ist eine Software, die Rootkits auf einem Linux-Server findet. Rootkits werden von Hackern installiert, damit sie immer auf den Server zugreifen können. In diesem Dokument werden Sie b

So aktivieren Sie TLS 1.3 in Nginx unter FreeBSD 12

So aktivieren Sie TLS 1.3 in Nginx unter FreeBSD 12

Verwenden Sie ein anderes System? TLS 1.3 ist eine Version des TLS-Protokolls (Transport Layer Security), das 2018 als vorgeschlagener Standard in RFC 8446 veröffentlicht wurde

So richten Sie die Zwei-Faktor-Authentifizierung (2FA) für SSH unter Debian 9 mit Google Authenticator ein

So richten Sie die Zwei-Faktor-Authentifizierung (2FA) für SSH unter Debian 9 mit Google Authenticator ein

Verwenden Sie ein anderes System? Es gibt verschiedene Möglichkeiten, sich über SSH bei einem Server anzumelden. Zu den Methoden gehören die Kennwortanmeldung, die schlüsselbasierte Anmeldung und Two-Facto

Aktivieren von mod_evasive unter Apache

Aktivieren von mod_evasive unter Apache

Mod_evasive ist ein Modul für Apache, das automatisch Maßnahmen ergreift, wenn ein HTTP-DoS-Angriff oder ein Brute-Force-Angriff erkannt wird. Mod_evasive kann eine protokollieren

Setup Ermöglicht die Verschlüsselung mit Nginx unter Ubuntu 16.04

Setup Ermöglicht die Verschlüsselung mit Nginx unter Ubuntu 16.04

Lets Encrypt ist eine Zertifizierungsstelle (Certificate Authority, CA), die kostenlose SSL-Zertifikate mit einem automatisierten Client bereitstellt. Mit einem Lets Encrypt SSL-Zertifikat können Sie ca.

Richten Sie NGINX mit ModSecurity unter CentOS 6 ein

Richten Sie NGINX mit ModSecurity unter CentOS 6 ein

In diesem Artikel werde ich erklären, wie ein durch ModSecurity geschützter LEMP-Stack erstellt wird. ModSecurity ist eine Open-Source-Firewall für Webanwendungen, die nützlich ist

Sichern von NGINX vor dem Logjam-Angriff auf CentOS

Sichern von NGINX vor dem Logjam-Angriff auf CentOS

Nun, es gibt eine weitere SSL-Sicherheitslücke in freier Wildbahn. Technisch gesehen ist es keine wirkliche Sicherheitslücke, sondern nur eine Lücke innerhalb des Protokolls, auf das wir uns verlassen

Arbeiten mit Linux-Funktionen

Arbeiten mit Linux-Funktionen

Einführung Linux-Funktionen sind spezielle Attribute im Linux-Kernel, die Prozessen und binären ausführbaren Dateien bestimmte Berechtigungen gewähren, die normalerweise üblich sind

So deaktivieren Sie SELinux unter CentOS 7

So deaktivieren Sie SELinux unter CentOS 7

SELinux, eine Abkürzung für Security-Enhanced Linux, ist eine Sicherheitsverbesserung für das Linux-Betriebssystem. Es ist ein Kennzeichnungssystem, das viele Systeme blockiert

So installieren Sie Lets Encrypt SSL unter CentOS 7 unter Apache Web Server

So installieren Sie Lets Encrypt SSL unter CentOS 7 unter Apache Web Server

Einführung In diesem Lernprogramm erfahren Sie, wie Sie das TLS / SSL-Zertifikat auf dem Apache-Webserver installieren. Wenn fertig, alle Verkehr

Verwenden von Lets Encrypt unter OpenBSD 6.1

Verwenden von Lets Encrypt unter OpenBSD 6.1

Es ist nicht mehr erforderlich, dass jemand seine eigenen SSL-Zertifikate erstellen muss, da Sie jetzt Ihr eigenes kostenloses, gültiges SSL-Zertifikat von Let erhalten können

Verschlüsseln: Migration von TLS-SNI-01

Verschlüsseln: Migration von TLS-SNI-01

Lets Encrypt ist ein kostenloser Dienst, der Zertifikate zur Sicherung Ihrer Website generiert. Es unterstützt das Generieren verschiedener Arten von Zertifikaten, einschließlich

Port Knocking auf Debian

Port Knocking auf Debian

Verwenden Sie ein anderes System? Inzwischen haben Sie wahrscheinlich Ihren Standard-SSH-Port geändert. Trotzdem können Hacker Portbereiche leicht scannen, um diesen Port zu entdecken - aber witzig

Verwenden Sie Ihren SSH-Schlüssel, um sich bei Nicht-Root-Benutzern anzumelden

Verwenden Sie Ihren SSH-Schlüssel, um sich bei Nicht-Root-Benutzern anzumelden

Vultr bietet eine Funktion, mit der Sie SSH-Schlüssel beim Erstellen einer neuen Instanz vorinstallieren können. Auf diese Weise können Sie jedoch auf den Root-Benutzer des Servers zugreifen

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.