Netzflut

Webdesign, Webentwicklung, Drupal & Zeuchs

SSL/TLS HTTP nach HTTPS Webseite

Inhaltsverzeichniss

    htaccess infos

    https://www.hostinger.com/tutorials/ssl/forcing-https

    Notes

    301 redirects von http nach https
    Sitemap anpassen
    GA anpassen
    Webmastertools anpassen

    Ich habe zu diesem Zeitpunkt Debian 9 (stretch)

    Rootserver SSL Letsencrypt

    ssl modul aktivieren:
    a2enmod ssl

    1. Letsencrypt Client auf Debian installieren

    Info: Backports aktivieren: https://backports.debian.org/Instructions/
    apt-get install python-certbot-apache -t stretch-backports

    Info: Es gibt wohl die Pakete "certbot" und "python-certbot". Im web gibt es viele Anleitungen. Ich nehme den Weg aus den official docs.

    Erzeuge certs. Das startet den interaktiven wizard.
    Laut: https://certbot.eff.org/lets-encrypt/debianstretch-apache
    certbot --authenticator webroot --installer apache

    Direkt fail: The client lacks sufficient authorization

    Failed authorization procedure. www.url.net (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.url.net/.well-known/acme-challenge/dgYwjgcbh-PWOJEYl7CmATGw6yqoYKS4TO1j4YZPUIo: "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>403 Forbidden</title>
    </head><body>
    <h1>Forbidden</h1>
    <p", www.url2.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.url2.com/.well-known/acme-challenge/dZNpXK0kwj8aXv_pyHm3oXiylSg62oXzYL-LkRLRWEs: "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    ....

    Lösung: Korrekten webroot angeben. /.well-known/acme-challenge selbst anlegen und prüfen ob der Pfad erreichbar ist über die Domain www.url.de/.well-known/acme-challenge/foo

    Prüfe Certs bzw. die vhost config. Dort sollten die Einträge stehen. Bei debian "apache/sites-avaliable/000-default-le-ssl.conf
    "

    SSLCertificateFile /etc/letsencrypt/live/<your-domain>/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/<your-domain>/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/<your-domain>/chain.pem

    Test config und reload

    sudo apachectl configtest
    sudo systemctrl reload apache2

    Klappt. versuche ich jedoch weitere domains mit dem Wizard hinzuzufügen zerballert er mir die 000-default-le-ssl.conf. Also cert manuell erzeugen und vhost kram selbst adden.

    certbot certonly --webroot -w /var/www/siteA -d siteA.com -d www.siteA.com -w /var/www/siteB -d siteB.com -d www.siteB.com

    Dann manuell in 000-default-le-ssl.conf adden. Da dort dann bereist ein EIntrag ist, sieht man auch wie es auszusehen hat.

    Renew WICHTIG!

    Zertifikate müssen erneuert werden! Aktuell hat letsencrypt 90 Tage.

    Renew testen

    sudo certbot renew --dry-run

    Manche Seiten lassen renew täglich laufen? Wieso was ist da der Sinn? Aber selbst im Forum empfehlen die das bzw. jemand von certbot.
    https://community.letsencrypt.org/t/cron-job-not-seem-to-be-renewing-my-ssl/39961/3
    CERTBOT DOCS: https://certbot.eff.org/docs/using.html?highlight=renew#renewing-certificates

    Er empfiehlt:
    50 2 * * * certbot renew

    Mit restart des apache nach dem erneuern eines certs so:
    certbot renew --post-hook "systemctl restart apache2"

    Crontab
    50 2 * * * certbot renew --post-hook "systemctl restart apache2"

    SSL modul im apache aktivieren nicht vergessen!

    Quellen

    Quelle mit nginx: https://goneuland.de/wordpress/debian-9-stretch-lets-encrypt-zertifikate-mit-certbot-erstellen/
    Quelle Apache: https://linuxconfig.org/generate-ssl-certificates-with-letsencrypt-debian-linux
    Quelle Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-16-04
    Apache Ubuntu 18 04: https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-18-04
    Debian 9 mit Apache: https://www.karl-deutsch.at/linux_apache2_ssl_https_letsencrypt_zertifikat.html
    https://www.itzgeek.com/how-tos/linux/how-to-install-lets-encrypt-on-centos-debian-ubuntu-running-apache-web-server.html
    https://www.snel.com/support/stall-lets-encrypt-ssl-on-debian-9-running-apache-web-server/
    CERTBOT Website: https://certbot.eff.org/all-instructions/
    Debian 9 https://certbot.eff.org/lets-encrypt/debianstretch-apache
    https://www.digitalocean.com/community/tutorials/how-to-use-certbot-standalone-mode-to-retrieve-let-s-encrypt-ssl-certificates

    Dokus
    Certbot: https://certbot.eff.org/docs/
    https://certbot.eff.org/docs/using.html#apache

    Sepzialinfos Drupal und rerouted domains
    Für domains die umgeroutet werden 301 erstelle ich keine certs!
    Bei einer Drupal multisiteinstallation ist das webroot auch der drupal root folder.

    veraltet! neue drupal versionen haben das. https://community.letsencrypt.org/t/drupals-defualt-htaccess-file-breaks-webroot-authentication/3014/4

    Zertifikate anzeigen

    certbot certificates

    Drupal: