TCP 포트 80 및 443을 열지 않고 Let’s Encrypt 인증서(RSA 4096 또는 EC 521) 요청 및 생성

Let’s Encrypt Zertifikate (RSA 4096 oder EC 521) ohne offene TCP-Ports 80 und 443 beantragen und erstellen

von Carsten Rieger|Aktualisiert

turnserver

Um Let’s Enrcypt-Zertifikate mit einer Schlüssellänge von 4096 Bit (RSA) oder auf Basis der Elliptische-Kurven-Kryptografie (EC secp384r1 oder EC secp521r1) beantragen zu können, ohne zugleich die TCP-Ports 80 und 443 öffnen zu müssen, gehen Sie bitte wie folgt vor:

sudo -s

Installieren Sie zuerst die Software certbot, um die Zertifikate beantragen zu können:

apt install -y certbot

Rufen Sie dann folgenden Befehl auf, ersetzen aber bitte die exemplarische Domain mit Ihrer Domain.

certbot --manual --preferred-challenges dns certonly --rsa-key-size 4096 -d ihre.domain.de

Auch moderne Zertifikate (bspw. Elliptic Curve secp384r1 oder secp521r1) lassen sich beantragen, bspw. alternativ so:

certbot --manual --preferred-challenges dns certonly --elliptic-curve secp384r1 -d ihre.domain.de

Für diesen Artikel verwenden wir ein RSA-Zertifikat mit einer Schlüssellänge von 4096 Bit: certbot –manual –preferred-challenges dns certonly –rsa-key-size 4096 -d ihre.domain.de

Übertragen Sie dann die Angaben aus der Konsole in Ihr DNS (bspw. bei ALL-INKL.COM) als TXT-Record ein:

Kehren Sie nun in die Konsole zurück und bestätigen Sie den Dialog mit <ENTER>. Achtung, die DNS.Replikation kann einige Zeit in Anspruch nehmen.

Sofern Sie die Nachricht „…Successfully received certificate….“ sehen, waren Sie erfolgreich und finden die Zertifikate unter

Certificate is saved at: /etc/letsencrypt/live/ihre.domain.de/fullchain.pem
Key is saved at: /etc/letsencrypt/live/ihre.domain.de/privkey.pem

wieder. Das bedeutet folgende Dateien finden Sie hier:

CERT:  /etc/letsencrypt/live/ihre.domain.de/cert.pem
CHAIN: /etc/letsencrypt/live/ihre.domain.de/chain.pem
FULLCHAIN: /etc/letsencrypt/live/ihre.domain.de/fullchain.pem
PRIVKey: /etc/letsencrypt/live/ihre.domain.de/privkey.pem

Die regelmäßige Erneuerung der Zertifikate können Sie bspw. über einen cron-Job oder den certbot.timer automatisieren:

crontab -e
@weekly /usr/bin/certbot renew > /dev/null 2>&1

Wichtig: Nach dem (erstmaligen) Anfordern des Zertifikates per dns challenge muss die renewal-config des Zertifikats geprüft und ggf. angepasst werden:

nano /etc/letsencrypt/renewal/ihre.domain.de.conf

Als Authenticator muss standalone gesetzt sein:

authenticator = standalone

Treten Probleme auf, so prüfen Sie den Systemdienst

systemctl enable certbot.timer
systemctl restart certbot.timer
systemctl status certbot.timer

und sehen in der dazugehörigen Logdatei nach:

/var/log/letsencrypt/letsencrypt.log

Ein bereits abgelaufenes Zertifikate kann bei Bedarf wieder reaktiviert/erneuert werden. Auch, wenn es zuvor mit einer anderen Methode (bspw. ‚challenge‘) erstellt wurde. Wichtig dabei ist, dass das abgelaufen Zertifiakt vorher mit

certbot delete

gelöscht wird. Viel Spaß wünscht Ihnen das Team von Carsten Rieger IT-Services!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다