LetsEncrypt Zertifikat auf einem Linux Server installieren

  • Ein LetsEncrypt Zertifikat auf einem Linux Server installieren.

    LetsEncrypt hat es sich zum Ziel gemacht, den Traffic im Internet so sicher wie möglich zu gestalten. Durch eine unsichere Verbindung, welche über das http Protokoll die Daten austauscht, können eben diese Verbindungen mitgelesen und manipuliert werden.


    Zu erkennen ist in der Browserleiste eine http (unsichere) Verbindung:



    Aus diesem Grunde bietet LE als certificate authority (Zertifizierungsstelle) kostenfreie Zertifikate an.

    Was je nach Zertifikat im Bereich von ca. 25€ / Jahr liegt, wird hier kostenfrei angeboten.


    Eine bequeme Installation, bei der nicht viel zu beachten ist, ermöglicht auch dem Anfänger eine zertifizierte Verschlüsselung des eigenen Webservers.

    Dabei können alle gängigen Webserver (Apache, NGINX, IIS) genutzt werden.


    Los gehts!
    Im folgenden wird ein KVM vServer genutzt, welcher noch keinerlei Konfigurationen erhalten hat. Das System sollte, wie immer, auf aktuellstem Stand sein.

    Zunächst muss ein weiteres Repository (Weitere Informationen: Linux – Updaten und Upgraden) der sources-list hinzugefügt werden.


    Dazu den folgenden Befehl ausführen:

    echo deb http://ftp.de.debian.org/debian/ stretch-backports main >> /etc/apt/sources.list


    Tipp: Die einfache spitze Klammer (>) überschreibt die Datei, zwei spitze Klammern (>>) hängt etwas der Datei an. Da die Repositorys nicht überschrieben werden sollten, wird hier die Umleitung zum anhängen genutzt.

    Als nächstes die Paket Listen updaten. Dazu apt update nutzen.


    Nun folgt die Installation des Webservers in Kombination mit Paketen aus dem zuvor angelegten Repository:

    apt install apache2 python-certbot-apache -t stretch-backports -y


    Tipp: Mit dem Parameter „-y“ wird dem „apt install“ Befehl mitgegeben, dass alle Anfragen während des Installationsprozesses bejaht werden sollen.

    Nur anzuwenden wenn bekannt ist, welche Fragen auftreten!


    Die Zertifizierung erfolgt über einen FQDN. Daher ist es notwendig, einen A-Record der Domain auf den Webserver zu setzen. Falls dabei Fragen auftreten, steht der MK-Hosting Support gerne zur Verfügung!


    Tipp: Da LE den Nachweis über das DNS erbringt, kann hier keine eigene bzw. kryptische URL verwendet werden.


    Anschließend die /etc/apache2/sites-enabled/000-default.conf Datei bearbeiten. Dazu den Eintrag #ServerName www.example.com so bearbeiten, dass dort der Hostname steht. Der Hostname ist mit nano /etc/hosts und nano /etc/hostname anzupassen.


    In diesem Fall lautet der Hostname zertifikat.mk-hosting.net.


    Nach einem Neustart des Systems kann diese Konfiguration beendet werden.


    Mit dem Befehl certbot --apache wird die abschließende Konfiguration gestartet.

    Als erstes erfolgt eine Abfrage zu einer gültigen E-Mail Adresse. Da das Zertifikat alle 3 Monaten erneuert werden muss, werden entsprechende Benachrichtigungen darüber verschickt, dass sich die Gültigkeit des Zertifikates dem Ende nähert.

    Mit dem zusätzlichen Parameter --register-unsafely-without-email kann der Vorgang ohne das verwenden einer E-Mail Adresse durchgeführt werden.


    Tipp: Das erneuern kann entweder bequem über einen Cronjob (crontab -e) durchgeführt werden, oder durch das absetzen des Befehls certbot renew.


    Anschließend die Lizenzbestimmungen akzeptieren. Es folgt die Frage, ob die eingegebene E-Mail Adresse zu verschiedenen Zwecken genutzt werden darf. Hier kann nun frei entschieden werden, ob dem zugestimmt wird, oder nicht.

    Nun folgt bereits die Abfrage, für welche Domain das Zertifikat installiert werden soll.


    Das entsprechende Zertifikat auswählen und fortfahren.


    Der Mechanismus arbeitet kurz und es folgt die Frage, ob die Weiterleitung / Umleitung der http Anfragen auf https erfolgen soll. Option 2 wählen: redirect.

    Sollte somit der Webserver über http aufgerufen werden, wird die Anfrage automatisch zum https Protokoll umgleitet, sodass die Verschlüsselung greifen kann.




    Abschließend folgt diese Meldung:

    Die Einrichtung des Zertifikates ist nun abgeschlossen und die Verbindung über https ist gegeben.