Letsencrypt hat mit der Registrierung von kostenlosen SSL Zertifikaten begonnen.
Browser wie Google Chrome, Firefox und Microsoft IE werden unterstützt. Google Chrome hat zur Zeit ein Problem mit dem Root CA bei Microsoft Windows XP.
1.) Git Client in Ubuntu installieren
sudo apt-get install git
2.) Installation von Letsencrypt (Github) erstellen
git clone https://github.com/letsencrypt/letsencrypt
3.) Update von Letsencrypt
cd letsencrypt
git pull
3.) SSL Zertifikat erstellen
3.1.) Manueller Betrieb
Im „Manuellen“ Betrieb werden keine Konfigurationen geändert und der Web-Server wird als Pyton Script aus gegeben.
./letsencrypt-auto certonly –manual –email name@domain.de -d domain.de
3.2.) Standalone Betrieb
Im „Standalone“ Betrieb wird keine Konfiguration geänder, jedoch wird ein WebServer auf Port 80 (HTTP) und 443 (HTTPS) gestartet. Für die Verifizierung muß der WebServer unter der Domain „domain.de“ laufen und aus dem Internet erreichbar sein.
./letsencrypt-auto certonly –standalone –email webmaster@domain.de -d domain.de
4.) Konfiguration Zertifikate
Die SSL Zertifikate werden nach erfolgreicher Verifizierung im Verzeichnis „/etc/letsencrypt/live/domain.de/“ gespeichert. Zusatzlich solltem man das „Intermediate“ Zertifikat von Letsencrypt installieren.
Root Zertifikate (CA): https://letsencrypt.org/certificates/
cd /etc/letsencrypt/
wget https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem
4.1.) Einbinden in Apache 2.4.x
Aktivieren wir das Apache SSL Modul und den Virtuellen Host.
sudo a2enmod ssl
sudo a2ensite /etc/apache2/sites-available/default-ssl
Ändern wir die Einstellung von dem Host für das SSL Zertifikat.
sudo vim /etc/apache2/sites-available/default-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
SSLEngine On
SSLHonorCipherOrder On
SSLProtocol All -SSLv2 -SSLv3
SSLCipherSuite ALL:!ADH:!EXP:!LOW:!RC2:!3DES:!SEED:!RC4:+HIGH:+MEDIUM
SSLCertificateFile /etc/letsencrypt/live/domain.de/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.de/privkey.pem
SSLCACertificateFile /etc/letsencrypt/lets-encrypt-x1-cross-signed.pem
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
DocumentRoot /var/www/html/
</VirtualHost>
</IfModule> |
<IfModule mod_ssl.c>
<VirtualHost *:443>
SSLEngine On
SSLHonorCipherOrder On
SSLProtocol All -SSLv2 -SSLv3
SSLCipherSuite ALL:!ADH:!EXP:!LOW:!RC2:!3DES:!SEED:!RC4:+HIGH:+MEDIUM
SSLCertificateFile /etc/letsencrypt/live/domain.de/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.de/privkey.pem
SSLCACertificateFile /etc/letsencrypt/lets-encrypt-x1-cross-signed.pem
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
DocumentRoot /var/www/html/
</VirtualHost>
</IfModule>
SSLEngine: Aktiviert das SSL/TLS Protokoll für dem virtuellen Host.
SSLCertificateFile: Dies ist der öffentliche Teil des Zertifikat-Schlüssels.
SSLCertificateKeyFile: Dies ist der private Teil des Zertifikats-Schlüssels.
SSLCACertificateFile: Dies enthält das Zertifikat der CA, welche das Zertifikat ausgestellt hat.
Nach der Änderung erfolgt ein Neustart.
sudo service apache2 restart
5.) Aktualisieren der Zertifikate
Die Zertifikate von Letsencrypt sind nur 90 Tage gültig. Für eine automatische Aktualisierung, kann man die Einstellung in der Konfiguration hinterlegen.
sudo ./letsencrypt-auto –config /etc/letsencrypt/cli.ini
sudo vim /etc/letsencrypt/cli.ini
server = https://acme-v01.api.letsencrypt.org/directory
rsa-key-size = 2048
authenticator = standalone
email = webmaster@domain.de
domains = domain.de, www.domain.de
agree-tos = True
renew-by-default = True |
server = https://acme-v01.api.letsencrypt.org/directory
rsa-key-size = 2048
authenticator = standalone
email = webmaster@domain.de
domains = domain.de, www.domain.de
agree-tos = True
renew-by-default = True
Hinweis: Die SSL Anforderung ist auf 10 Abfragen pro Tag und Domain begrenzt.
Quellen:
http://letsencrypt.readthedocs.org/en/latest/using.html