Direkt zum Inhalt | Direkt zur Navigation

Benutzerspezifische Werkzeuge

This is SunRain Plone Theme

Sektionen

Sie sind hier: Startseite / Apache / Let’s Encrypt Kostenlose SSL / TLS Zertifikate, oder, wie bekomme man http Port 80 los

Let’s Encrypt Kostenlose SSL / TLS Zertifikate, oder, wie bekomme man http Port 80 los

Eine tolle Sache. Let’s Encrypt Kostenlose SSL/Zertifikate Beispielhafte Einrichtung mit Apache als Webserver

Checkliste Voraussetzungen:

Datum der Erstellung: 08.03.2016

Verwendetes OS:

Debian 8.3 jessie
CentOS Linux release 7.2.1511

Verwendeter Webserver:

CentOS Linux release 7.2.1511

Name       : httpd
Architektur : x86_64
Version    : 2.4.6
Ausgabe    : 40.el7.centos.1

Debian 8.3 jessie

Apache 2.4.10

Notwendiges Wissen:

Konfiguration von Apache
Betrieb von Debian / CentOS

Let’s Encrypt, eine Übersicht:

Let’s Encrypt hat sich zum Ziel gesetzt, die Verbreitung von SSL / TLS Zertifikate voran zutreiben. Der Betreiber ist eine Organisation und Zertifizierungsstelle sowie ein gemeinnützige Einrichtung. Es ist die ISRG (Internet Security Research Group).Hinter dieser Organisation stehen unteranderm bekannte Namen wie Mozilla, Akamai, Cisco und die Electronic Frontier Foundation
Eine gutes Quelle für Let’s Encrypt fragen steht unter https://www.internetwerk.de/support/ssl/lets-encrypt-faq/ zu Verfügung.

Übersicht der Güte von Zertifikaten:

Name Klasse Überprüfung Kosten

Let’s Encrypt

0

Die Inhaberinformationen werden nicht überprüft

Das Zertifkat wird kostenlos ausgestellt
z.B

PositiveSSL

1 Die E-Mail Adresse und die Domain  wurde überprüft ca ~ 40,0€ für 3 Jahre
  3 Die persönliche Identität der Person  wurde kontrolliert ca ~ 150,0€ für 3 Jahre

Limits bei Let’s Encrypt, die man beachten sollte:

  • 20 Zertifikate innerhalb von 7 Tagen
  • 90 Tage Gültigkeit der Zertifikat
  •  
  • 500 Zertifikate Pro IP-Adresse in 3 Stunden

Installaion:

Centos Packete

yum -y install git httpd mod_ssl

git Firewall Port

Git lauscht auf den Port 9418, Dieser Port auf der Firewall ausgehend Freigeschaltet sein

Let'sEncrypt Installation

Die Installation ist sehr einfach:

Eine Ausführliche Anleitung findet man unter http://wiki.pratznschutz.com/index.php/Let%27s_Encrypt

Es wird ein Directory erzeugt:

mkdir /var/www/acme-client

In diesem Verzeichnis wird mit "git" die Software installiert.

git clone https://github.com/letsencrypt/letsencrypt /var/www/acme-client
cd /var/www/acme-client
./letsencrypt-auto certonly

Außer der E-Mail Adresse muss noch nichts eingegeben werden.

HTTPD Installation

Überprüfung der default Einstellungen

httpd -V

Server version: Apache/2.4.6 (CentOS)
Server built:   May 12 2016 10:27:23
Server's Module Magic Number: 20120211:24
Server loaded:  APR 1.4.8, APR-UTIL 1.5.2
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="/run/httpd/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

mod_rewrite Installation

ls /etc/httpd/modules | grep mod_rewrite

mod_rewrite.so

grep -i LoadModule /etc/httpd/conf.modules.d/* | grep mod_rewrite

Es sollte folgender output erscheinen:

/etc/httpd/conf.modules.d/00-base.conf:LoadModule rewrite_module modules/mod_rewrite.so

Erzeugen Virtual Host http://system-mind.de

Im Verzeichnis "/etc/httpd/conf.d" löschen wir alles, was default ist:

rm /etc/httpd/conf.d/*

Im Verzeichnis "/etc/httpd/sites-enable" werden die Konfigfiles für die V-Hosts aktiviert

mkdir /etc/httpd/sites-available
mkdir /etc/httpd/sites-enabled

Hinweis: Diese Verzeichnis Struktur wurde von Debian eingeführt und sorgt für zusätzliche Flexibilität mit unseren virtuellen Hosts. Sie lassen sich leichter verwalten (vorübergehend aktivieren und deaktivieren).

Als nächstes konfigurien wir Apache für die virtuelle Hosts. Apache soll in dem Verzeichnis "sites-enabled" suchen. Um dies zu erreichen, werden wir die Datei "/etc/httpd/conf/httpd.conf" bearbeiten. Wir fügen in diese Datei folgende Zeile hinzu:

echo "IncludeOptional sites-enabled/*.conf" >> /etc/httpd/conf/httpd.conf

Wir erzeugen einen Virtual Host:

echo " <VirtualHost *:80>
    ServerName www.system-mind.de
    ServerName www.system-mind.de
    ServerAdmin   webmaster
    ServerSignature On

    CustomLog     /var/log/httpd/www.system-mind-access.log combined
    ErrorLog      /var/log/httpd/www.system-mind-error.log


    DocumentRoot /var/www/html
    <Directory /var/www/html>
        Options Indexes FollowSymlinks MultiViews
        Require all granted
    </Directory>

</VirtualHost>" > /etc/httpd/sites-available/system-mind.de.conf 
ln -s /etc/httpd/sites-available/system-mind.de.conf /etc/httpd/sites-enabled

enable und starten httpd service

systemctl enable httpd.service
service httpd restart || systemctl status httpd.service
  • erzeugen Test HTML-Page

echo "<html>
    <head>
        <title>Test Page</title>
        <style type=text/css>
                h1 {text-align:center; font-family:Arial, Helvetica, Sans-Serif; }
                {text-indent:20px; }
        </style>
    </head>
    <body bgcolor = #ffffcc text = #000000>         
        <h1>Test Page</h1>
    </body>   
</html>" > /var/www/html/index.html
http://www.system-mind.de

Es sollte eine Webseite mit "Test Page erscheinen

acme-client Virtual Host

Der Request von Let'sEncrypt soll an den acme-client weitergeleitet werden. Dafür erzeugen wir einen weitern Virtual Host

vi /etc/httpd/sites-available/acme-client.system-mind.de.conf

und fügen den Inhalt hinein:

<VirtualHost *:80>
    DocumentRoot /var/www/acme-client
    ServerName http://acme-client.system-mind.de

    CustomLog     /var/log/httpd/acme-client.info-access.log combined
    ErrorLog      /var/log/httpd/acme-client.info-error.log

    ServerAdmin   webmaster
    <If "%{HTTP_USER_AGENT} !~ /Let\'s Encrypt validation server/">
        Require all denied
    </If>
</VirtualHost>
ln -s /etc/httpd/sites-available/acme-client.system-mind.de.conf /etc/httpd/sites-enabled

enable und starten httpd service

systemctl enable httpd.service
service httpd restart || systemctl status httpd.service

Ein Test führt zu einen 403 Forbidden

http://acme-client.system-mind.de

Erweitern Virtual Host http://www.system-mind.de

Wir leiten den request von Let'sEncrypt zu den acme-client weiter.
Dazu erweitern wir den Virtual Host http://www.system-mind.de

vi /etc/httpd/sites-available/www.system-mind.de.conf

<VirtualHost *:80>
    ServerName www.system-mind.de
    ServerName www.system-mind.de
    ServerAdmin   webmaster
    ServerSignature On

    CustomLog     /var/log/httpd/system-mind-access.log combined
    ErrorLog      /var/log/httpd/system-mind-error.log

    <IfModule mod_rewrite.c>
        LogLevel warn mod_rewrite.c:trace3
        RewriteEngine On
        RewriteCond %{REQUEST_URI} ^/\.well-known\/acme-challenge\/?.*
        RewriteRule ^ http://acme-client.system-mind.de%{REQUEST_URI}
    </IfModule>

    DocumentRoot /var/www/html
    <Directory /var/www/html>
        Options Indexes FollowSymlinks MultiViews
        Require all granted
    </Directory>
</VirtualHost>

Bei dem aufruf von http://acme-client.system-mind/.well-known/acme-challenge führt ebenfalls zu einen 403 Forbidden

Let'sEncrypt Zertifkat anforden

Wir erzeugen die Datei /etc/letsencrypt/cli.ini 

echo "authenticator = webroot
webroot-path = /var/www/acme-client/
renew-by-default
agree-tos
email = webmaster" > /etc/letsencrypt/cli.ini

Jetzt können wir das Zertifkat für nvon Let'sEncrypt anfordern

/var/www/acme-client/letsencrypt-auto --config /etc/letsencrypt/cli.ini  -d www.system-mind.de certonly
systemctl enable httpd.service
service httpd restart || systemctl status httpd.service

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/www.system-mind.de/fullchain.pem. Your cert
   will expire on 2016-10-20. To obtain a new or tweaked version of
   this certificate in the future, simply run letsencrypt-auto again.
   To non-interactively renew *all* of your certificates, run
   "letsencrypt-auto 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

SSL Virtual Host https://www.system-mind.de erzeugen

Wir erzeugen den Virtual Host https:

<VirtualHost *:443>
    ServerName www.system-mind.de
    ServerAdmin webmaster
 
    CustomLog     /var/log/httpd/www.system-mind-access.log combined
    ErrorLog      /var/log/httpd/www.system-mind-error.log
    LogLevel warn
 
    <IfModule mod_ssl.c>
        SSLEngine On
        SSLProtocol ALL -SSLv2 -SSLv3
        SSLHonorCipherOrder on
        SSLCipherSuite HIGH:!ADH:!RC4:!aNULL:!eNULL:!EXP:!MEDIUM:!LOW:!MD5
    
        SSLCertificateFile      /etc/letsencrypt/live/www.system-mind.de/fullchain.pem
        SSLCertificateKeyFile   /etc/letsencrypt/live/www.system-mind.de/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/www.system-mind.de/chain.pem
    </IfModule>

    DocumentRoot /var/www/html
    <Directory /var/www/html>
        Options Indexes FollowSymlinks MultiViews
        Require all granted
    </Directory>
</VirtualHost>

Ein Test führt zu  https://www.system-mind.de zeigt das Zerifikat:

permanent Umleitung von http

Erweitern Virtual Host http://www.system-mind.de

Wir leiten den request von http://www.system-mind.de um. Dafür erweiterten wir die Virtual Host Konfig. Dafür entfernen wir das DocumentRoot

<VirtualHost *:80>
    ServerName www.system-mind.de
    ServerName www.system-mind.de
    ServerAdmin   webmaster
    ServerSignature On

    CustomLog     /var/log/httpd/system-mind-access.log combined
    ErrorLog      /var/log/httpd/system-mind-error.log

    <IfModule mod_rewrite.c>
        LogLevel warn mod_rewrite.c:trace3
        RewriteEngine On
        RewriteCond %{REQUEST_URI} ^/\.well-known\/acme-challenge\/?.*
        RewriteRule ^ http://acme-client.system-mind.de%{REQUEST_URI}
    </IfModule>

   Redirect permanent / https://www.system-mind.de/
  
</VirtualHost>

Rufen wir die Seite

http://www.system-mind.de

so werden wir automatisch nach

https://www.system-mind.de

umgeleitetet.

Fertig.

   

    Artikelaktionen

    abgelegt unter: , , ,
    Kommentieren

    Sie können einen Kommentar abgeben, indem Sie das untenstehende Formular ausfüllen. Nur Text. Web- und E-Mailadressen werden in anklickbare Links umgewandelt. Kommentare werden moderiert.

    Enter the word