Benutzer-Werkzeuge

Webseiten-Werkzeuge


lets_encrypt

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
lets_encrypt [2017/03/09 22:22]
root [Zerftifikat beziehen (und installieren)]
lets_encrypt [2018/10/23 19:34] (aktuell)
root [Zertifikat ohne Plugin verlängern]
Zeile 19: Zeile 19:
       * zum Beispiel Zertifikate direkt in der entsprechenden Software konfigurieren (Webserver, Mailserver usw.)       * zum Beispiel Zertifikate direkt in der entsprechenden Software konfigurieren (Webserver, Mailserver usw.)
  
-===== Certbot =====+===== Certbot-Auto =====
  
 +  * Certbot-Auto ist für Systeme ohne Internetanbindung oder für Systeme für die es kein Certbot-Packet gibt gedacht
 +  * Bezugsquelle und Installationsanleitung: https://certbot.eff.org/docs/install.html
 +      * Installation ist runterladen und ausführen
   * Kommando: certbot-auto   * Kommando: certbot-auto
   * Handbuch: http://letsencrypt.readthedocs.io/en/latest/using.html#manual   * Handbuch: http://letsencrypt.readthedocs.io/en/latest/using.html#manual
Zeile 59: Zeile 62:
       * die Angabe des Verzeichnisses erfolgt interaktiv        * die Angabe des Verzeichnisses erfolgt interaktiv 
       * es muss natürlich das Webroot (Verzeichnis im Dateisystem) angegeben werden aus dem Standardmäßig, bei Aufruf der Domain für die man das Zertifikat erstellen will, gelesen wird       * es muss natürlich das Webroot (Verzeichnis im Dateisystem) angegeben werden aus dem Standardmäßig, bei Aufruf der Domain für die man das Zertifikat erstellen will, gelesen wird
 +
 +
 +   * interaktiv zuerst 1 drücken
 +   * dann kommt Abfrage des Verzeichnisses -> Webroot eingeben
 +   * <Enter> drücken
 +
 +
 +
   * <code>--standalone </code>   * <code>--standalone </code>
       * startet einen Webserver auf Port 443 (https) (der vermutlich einen Authentifizierungs-Token ausliefert)       * startet einen Webserver auf Port 443 (https) (der vermutlich einen Authentifizierungs-Token ausliefert)
Zeile 66: Zeile 77:
  
 Es gibt noch weitere 3-rd-Party Plugins die weitere Möglichkeiten bieten (Authentifizierung über andere Anwendungen wie Mailserver usw.)  -> siehe Handbuch Es gibt noch weitere 3-rd-Party Plugins die weitere Möglichkeiten bieten (Authentifizierung über andere Anwendungen wie Mailserver usw.)  -> siehe Handbuch
 +\\ \\
  
 +Die Option -d gibt an für welche Domain man das Zertifikat beziehen will (wenn mehrere angegeben werden landen die alle im gleichen Zertifikat). \\ \\
  
 +Syntax:
 +<code>
 +./certbot-auto //Nur Zertifikat oder inkl. Installieren// --//Authentifizierungsmethode// -d //Domain(s)//
 +</code>
 +
 +Beispiel:
 +<code>
 +./certbot-auto certonly --webroot -d example.com
 +</code>
  
 +Obiges Beispiel bezieht nur das Zertifikat (richtet es aber nicht ein) (certonly), die Authentifizierung erfolgt durch das (automatische -> certbot macht das nach Angabe des Verzeichnisses) hinterlegen von Dateien im Webroot (wird abgefragt wo das ist) für die Domain "example.com"
  
  
Zeile 88: Zeile 111:
  
      
 +====== HowTo ======
 +
 +===== Zertifikat ohne Plugin verlängern =====
 +
 +  * Bei der Installation von certbot über einen Packagemanager wird in der Regel auch ein Cron-Scrip für die Erneuerung der Zertifikate installiert
 +
 +Im Fall von Debian sieht das so aus:
 +<code>
 +/usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew
 +</code>
 +
 +Im Prinzip ist es certbot renew. \\
 +Renew setzt aber Voraus das es ein Plugin im Webserver nutzen kann um Authentifzierung und Installation der Zertifikate durchführen zu können und das bei der Erst-Installation des Zertifikats diese Methode genutzt wurde.
 +\\ \\
 +Um eine andere Authentifizierungsmethode zu nutzen um das Zertifikat zu erneuern kann der cron-Job diesen Befehl ausführen:
 +<code>
 +certbot certonly -n --<Methode> [Optional notwendige Optionen] -d <Domain> | grep 'Certificate not yet due' || systemctl restart <someservice>
 +</code>
 +
 +  * -n -> Non-Interactive -> Frage nicht den Benutzer nach Eingaben -> alle notwendigen Eingaben müssen in Form von Parametern vorhanden sein
 +  * <code>--<Method></code> -> Authentifizierungsmethode -> z.B. webroot
 +  * [Optional notwendige Optionen] -> Die Optionen die notwendig sind damit certonly mit der gewählten Authentifizierungsmethode ohne Benutzerinteraktion arbeiten kann. Vorher auf der Kommandozeile manuell testen, die Option -n gibt aus welche Optionen ggf. nötig sind
 +  * -d <Domain> -> die Domain für die Aktion durchgeführt werden soll (ggf. mehrfach angeben wenn mehrere Domains)
 +  * der Rest -> certbot liefert als Return-Value immer 0 zurück, auch wenn es nichts geändert hat. D.h. auch wenn kein neues Zertifikat bezogen wurde würde ggf. ein daran hängender Dienst neugestartet. Das grep prüft ob das Zertifikat nicht erneuert wurde und nur wenn es nicht-nicht erneuert wurde (also erneuert wurde) wird der Dienst im Befehl nach || neugestartet
 +
 +Beispiel:
 +<code>
 +certbot certonly -n --webroot -w /var/www/someforum/ -d forum.test.de | grep 'Certificate not yet due' || systemctl restart apache2.service
 +</code>
 +
 +Obiges Beispiel erneuert das Zertifikat für Domain forum.test.de, mit Authentifizierungsmethode webroot, der Pfad um die Authentifizierungsdaten zu hinterlegen ist /var/www/someforum/ und wenn das Zertifikat erneuert wurde wird apache neugestartet.
 +
 +
 +<WRAP center round important 60%>
 +Vor certbot muss der Pfad gestellt werden wo certbot installiert ist -> im Fall von Debian /usr/bin/
 +</WRAP>
 +
 ====== Troubleshooting ====== ====== Troubleshooting ======
  
Zeile 134: Zeile 194:
  
  
 +===== Zertifikate werden nicht automatisch verlängert =====
  
 +  * Cron-Job nicht vorhanden 
 +  * Es wurde eine andere Authentifizierungsmethode als "--apache" gewählt (aka. das erste Zertifikat für die Domain wurde nicht per certbot run bzw. nur certbot erstellt) 
 +      * certbot renew - das ist der Befehl der durch das per Default installierte cron-Script genutzt wird, kann  Zertifikate nur erneuern wenn es ein Plugin für den Webserver hat und darüber die Authentifizierung und Installation des Zertifikates machen kann 
 +      * Lösung siehe Howto -> Zertifikat ohne Plugin erneuern
lets_encrypt.1489094552.txt.gz · Zuletzt geändert: 2017/03/09 22:22 von root