Raspberrypi.certbot: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(15 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
== Wildcard-Zertifikat ==
== Zertifikat via :80 ==
 
* script fähig
 
#
# Fahre deinen Webserver runter, certbot wird auf :80 einen eigenen
# Server starten!
#
certbot certonly --standalone --rsa-key-size 4096 -d subdomain.domain.tld
 
== Wildcard-Zertifikat via "DNS" ==


* Ich will ein Wildcard- oder "*"- Zertifikat von lets encrypt erhalten, dieses einzelne Zertifikat ist dann für alle Subdomains gültig
* Ich will ein Wildcard- oder "*"- Zertifikat von lets encrypt erhalten, dieses einzelne Zertifikat ist dann für alle Subdomains gültig
Zeile 13: Zeile 23:
* Aber Schritt für Schritt:
* Aber Schritt für Schritt:


== Erhalte deine DNS Challenge ==
=== Erhalte deine DNS Challenge ===
 
* Der genaue Name der Challenge ist "DNS-01 challenge", siehe https://letsencrypt.org/de/docs/challenge-types/


  > <b>certbot certonly --manual --rsa-key-size 4096 --preferred-challenges "dns"</b>
  > <b>certbot certonly --manual --rsa-key-size 4096 --preferred-challenges "dns"</b>
Zeile 33: Zeile 45:
  Are you OK with your IP being logged?
  Are you OK with your IP being logged?
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  (Y)es/(N)o: Y
  (Y)es/(N)o: <b>Y</b>
   
   
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Zeile 45: Zeile 57:
  Press Enter to Continue</i>
  Press Enter to Continue</i>


* Du hast jetzt einige Minuten Zeit die Challenge zu erfüllen
* Du hast jetzt einige Minuten Zeit die Challenge zu erfüllen, Ziel ist:
* Die Challenge nun also in Worten, also das folgende musst Du technisch erreichen:
* Wenn ich einen Internet-Nameserver frage: Was ist dein TXT Eintrag für den Wert "_acme-challenge" der Domain "orgamon.org" muss er antworten "0wz2rG2Cj6U4jDJqfSf918fLBNAzHhPUsBCM-SWnEHU"
* Wenn ich den .org Nameserver frage: "Was ist dein TXT Eintrag für "_acme-challenge.orgamon.org" muss er antworten "0wz2rG2Cj6U4jDJqfSf918fLBNAzHhPUsBCM-SWnEHU"


=== Erfülle die DNS Challenge ===
=== Erfülle die DNS Challenge ===
Zeile 101: Zeile 112:
  ;; MSG SIZE  rcvd: 323
  ;; MSG SIZE  rcvd: 323


* so muss das aussehen! Nun kann man "oben" <ENTER> drücken
* so muss das aussehen! Nun endlich kann man "oben" <ENTER> drücken
* das Zertifikat sollte erstellt worden sein
* certbot prüft nun den _acme-challenge Wert ob er so ist wie vorgegeben
* das Zertifikat sollte erstellt werden können


=== das erhaltene Zertifikat ===
=== das erhaltene Zertifikat ===
Zeile 123: Zeile 135:
     Donating to EFF:                    https://eff.org/donate-le
     Donating to EFF:                    https://eff.org/donate-le


== Subdomain Zertifikat ==
== Gültigkeitsdauer prüfen ==


* script fähig
  certbot certificates
 
  certbot certonly --standalone --rsa-key-size 4096 -d subdomain.domain.tld


== löschen ==


== Gültigkeitsdauer prüfen ==
certbot delete


certbot certificates
* Es erscheint ein UI und man kann das zu löschende Zertifikat auswählen


== Zertifikate auffrischen ==
== Zertifikate auffrischen ==
Zeile 138: Zeile 149:
* Je nach Verfahren, wie man erstmals ein Zertifikat erhalten hat muss man eine der Alternativen auswählen
* Je nach Verfahren, wie man erstmals ein Zertifikat erhalten hat muss man eine der Alternativen auswählen


=== damals via eigenen http:// Request erhaltenes Zertifikat ===
=== damals via :80 erhalten ===


  #
  #
Zeile 150: Zeile 161:
  #
  #


=== damals via DNS-Challenge erhaltenes Zertifikat ===
=== damals via DNS-Challenge erhalten ===


  #
  #
Zeile 164: Zeile 175:
  # Starte deinen Webserver neu, damit die neuen Zertifikate geladen werden
  # Starte deinen Webserver neu, damit die neuen Zertifikate geladen werden
  #
  #
==== Beispiele ====
*.orgamon.com
*.orgamon.de
*.orgamon.eu
*.orgamon.org
*.orgamon.net
# Mögliche halbautomatische Erneuerung, Script "update-certs.sh"
#!/bin/bash
echo "Take 1 if you are asked [12], in this case the cert is NOT to be candidate for a renew"
certbot certonly --manual --rsa-key-size 4096 --preferred-challenges "dns" --domain "*.orgamon.com"
certbot certonly --manual --rsa-key-size 4096 --preferred-challenges "dns" --domain "*.orgamon.de"
certbot certonly --manual --rsa-key-size 4096 --preferred-challenges "dns" --domain "*.orgamon.eu"
certbot certonly --manual --rsa-key-size 4096 --preferred-challenges "dns" --domain "*.orgamon.org"
certbot certonly --manual --rsa-key-size 4096 --preferred-challenges "dns" --domain "*.orgamon.net"
systemctl restart nginx

Aktuelle Version vom 26. Januar 2022, 18:21 Uhr

Zertifikat via :80

  • script fähig
#
# Fahre deinen Webserver runter, certbot wird auf :80 einen eigenen 
# Server starten!
#
certbot certonly --standalone --rsa-key-size 4096 -d subdomain.domain.tld

Wildcard-Zertifikat via "DNS"

  • Ich will ein Wildcard- oder "*"- Zertifikat von lets encrypt erhalten, dieses einzelne Zertifikat ist dann für alle Subdomains gültig
    • in meinem Fall heist die zu zertifizeirende Domain *.orgamon.org
    • das Zertifikat ist dann für alle möglichen Subdomains möglich, z.B. www.orgamon.org, wiki.orgamon.org usw.
    • ich habe bereits einen "*" A Record, das bedeutet das alle Subdomain-Worte auf immer die gleiche IP-Adresse aufgelöst werden
    • aber dies ist für das Zertifikat irrelevant, die Aufgabe des Zertifikats ist nicht die validierung der IP-Adresse, es könnte also hop.orgamon.org auf eine andere ip Adresse auflösen als top.orgamon.org. Das Zertifikat wäre dennoch für beide Domain-Namen gültig.
  • Ich muss lets encrypt nachweisen dass ich "Eigentümer" der entsprechenden "orgamon.org" Domain bin
  • Dies mache ich durch eine Modifikation meiner DNS-Einstellungen, ich bin Kunde bei Schlund-Tech in Karlsruhe (https://www.schlundtech.com/)
  • Ich muss bei meinem zuküftigen Server KEINE eingehenden Ports öffnen!
  • eine Internetverbindung brauche ich jedoch
  • Aber Schritt für Schritt:

Erhalte deine DNS Challenge

> certbot certonly --manual --rsa-key-size 4096 --preferred-challenges "dns"


Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Please enter in your domain name(s) (comma and/or space separated)  (Enter 'c'
to cancel): *.orgamon.org
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for orgamon.org

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.

Are you OK with your IP being logged?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name
_acme-challenge.orgamon.org with the following value:

0wz2rG2Cj6U4jDJqfSf918fLBNAzHhPUsBCM-SWnEHU

Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue
  • Du hast jetzt einige Minuten Zeit die Challenge zu erfüllen, Ziel ist:
  • Wenn ich einen Internet-Nameserver frage: Was ist dein TXT Eintrag für den Wert "_acme-challenge" der Domain "orgamon.org" muss er antworten "0wz2rG2Cj6U4jDJqfSf918fLBNAzHhPUsBCM-SWnEHU"

Erfülle die DNS Challenge

  • Logge dich bei deinem IP Provider ein und lege bei den "Nameserver-Einstellungen" einen neuen TXT Record an, Gebe 3 Sachen ein
    • Name ist "_acme-challenge", kein Punkt, keine Wiederholung der Domain, einfach immer nur diese Konstante, ohne Anführungszeichen
    • Typ ist "TXT", das schadet dann nix für irgendwelche andere Anwendungen, das wählt man normalerweise aus einer Combobox aus
    • Den "Wert" hat Dir eben lets encrypt mitgeteilt, das ist der Kern der Challenge, der ist 0wz2rG2Cj6U4jDJqfSf918fLBNAzHhPUsBCM-SWnEHU
  • Ich bin beim Schlund in Karlsruhe, dort sieht das gespeichert "so" aus:

Prüfe den TXT Record nachdem Du gespeichert hast

  • Nemhe dafür ein anderes System, oben wartet "certbot" immer noch auf <ENTER>, dass soll so bleiben!
  • Ev. ein paar Sekunden warten bis die Name-Server auf dem neuesten Stand sind
  • mache dann:
dig -t TXT _acme-challenge.orgamon.org
; <<>> DiG 9.11.2 <<>> -t TXT _acme-challenge.orgamon.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51056
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;_acme-challenge.orgamon.org.   IN      TXT

;; ANSWER SECTION:
_acme-challenge.orgamon.org. 21599 IN   TXT     "0wz2rG2Cj6U4jDJqfSf918fLBNAzHhPUsBCM-SWnEHU"

;; AUTHORITY SECTION:
.                       13136   IN      NS      d.root-servers.net.
.                       13136   IN      NS      m.root-servers.net.
.                       13136   IN      NS      e.root-servers.net.
.                       13136   IN      NS      f.root-servers.net.
.                       13136   IN      NS      j.root-servers.net.
.                       13136   IN      NS      i.root-servers.net.
.                       13136   IN      NS      k.root-servers.net.
.                       13136   IN      NS      g.root-servers.net.
.                       13136   IN      NS      l.root-servers.net.
.                       13136   IN      NS      a.root-servers.net.
.                       13136   IN      NS      h.root-servers.net.
.                       13136   IN      NS      b.root-servers.net.
.                       13136   IN      NS      c.root-servers.net.

;; Query time: 47 msec
;; SERVER: 192.168.100.181#53(192.168.100.181)
;; WHEN: Tue Feb 26 11:53:26 CET 2019
;; MSG SIZE  rcvd: 323
  • so muss das aussehen! Nun endlich kann man "oben" <ENTER> drücken
  • certbot prüft nun den _acme-challenge Wert ob er so ist wie vorgegeben
  • das Zertifikat sollte erstellt werden können

das erhaltene Zertifikat

  • wurde nun in das angegebene Verzeichnis gespeichert


IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/orgamon.org/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/orgamon.org/privkey.pem
   Your cert will expire on 2019-05-27. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Gültigkeitsdauer prüfen

certbot certificates

löschen

certbot delete
  • Es erscheint ein UI und man kann das zu löschende Zertifikat auswählen

Zertifikate auffrischen

  • Je nach Verfahren, wie man erstmals ein Zertifikat erhalten hat muss man eine der Alternativen auswählen

damals via :80 erhalten

#
# Fahre deinen Webserver runter, certbot wird auf :80 einen eigenen 
# Server starten!
#
certbot renew

#
# Vergesse nicht deinen Webserver wieder zu starten
#

damals via DNS-Challenge erhalten

#
# Es ist der gleiche Befehl wie bei der Erstbestellung -
# aber certbot wird erkennen dass schon mal abgerufen wurde
# und frägt nicht alle Infos wiederum ab. Die bisherigen Dateinamen
# bleiben bestehen, es wird das alte Zertifikat durch die aufgfrischte 
# Information ersetzt.
# 
certbot certonly --manual --rsa-key-size 4096 --preferred-challenges "dns"

#
# Starte deinen Webserver neu, damit die neuen Zertifikate geladen werden
#

Beispiele

*.orgamon.com
*.orgamon.de
*.orgamon.eu
*.orgamon.org
*.orgamon.net
# Mögliche halbautomatische Erneuerung, Script "update-certs.sh"
#!/bin/bash

echo "Take 1 if you are asked [12], in this case the cert is NOT to be candidate for a renew"

certbot certonly --manual --rsa-key-size 4096 --preferred-challenges "dns" --domain "*.orgamon.com"
certbot certonly --manual --rsa-key-size 4096 --preferred-challenges "dns" --domain "*.orgamon.de"
certbot certonly --manual --rsa-key-size 4096 --preferred-challenges "dns" --domain "*.orgamon.eu"
certbot certonly --manual --rsa-key-size 4096 --preferred-challenges "dns" --domain "*.orgamon.org"
certbot certonly --manual --rsa-key-size 4096 --preferred-challenges "dns" --domain "*.orgamon.net"

systemctl restart nginx