Raspberrypi.certbot

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen

Zertifikat via :80

  • script fähig
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
  • Die Challenge nun also in Worten, also das folgende musst Du technisch erreichen:
  • 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

  • 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 kann man "oben" <ENTER> drücken
  • das Zertifikat sollte erstellt worden sein

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

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
#