Suche


drucken PDF

SSL Debian


Was ist das?

Was ist das? SSL (Secure Socket Layer) wird verwendet um Informationen zwischen zwei Maschinen verschlüsselt auszutauschen. Normalerweise geschieht dies zwsichen einem Client und einem Server. Dies kann auf Ihrem Server genutzt werden, um die Übertragung vertraulicher Informationen zu schützen. Beispielsweise eine Onlinezahlung. Seine Verwendung wird in der Adresszeile durch HTTPS angezeigt.









Schritte

Voraussetzungen

  1. Eine Domain bei OVH

  2. Ein SSL Zertifikat für diese Domain oder eine Ihrer Subdomains (www.meine_domain.de in diesem Beispiel)

  3. Einen dedizierten Server mit Debian

  4. SSH Zugriff auf den Server z.B. via Putty

  5. Der Private Key, die Zertifikatskette und das Zertifikat wurden bereits von Ihnen im Ordner /root/ auf dem Server abgelegt.

  6. In diesem Beispiel wird die Installation auf der Fail-Over-IP: 87.xxx.xxx.xxx stattfinden, die zuvor wie hier beschrieben eingerichtet wurde: Fail-Over-IP Hinzufügen

Installation der Pakete

  1. Sourcen updaten und folgende Pakete installieren Apache2 & OpenSSL :

    debian:~# apt-get update
    debian:~# apt-get install apache2 openssl



Apache konfigurieren

  1. Editieren Sie die Datei /etc/apache2/ports.conf, nutzen Sie dazu einen Editor Ihrer Wahl (Beispiel: nano)und fügen folgende Zeilen hinzu Listen 443 below Listen 80 :


    Die Datei muss dann wie in unserem Besipiel aussehen:
    ns3773:~# cat /etc/apache2/ports.conf
    Listen 80
    Listen 443

    Nun erstellen Sie die folgenden Symlinks, damit das SSL-Modul geladen wird.

    debian:~# ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled/ssl.load
    debian:~# ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ssl.conf



SSL-Zertifikat einrichten

  1. Laden Sie die .crt von MANAGER >> SSL Zertifikate >> Das SSL Zertifikat abrufen herunter und kopieren Sie sie dann nach /etc/apache2/ssl.crt/

    debian:~# mkdir /etc/apache2/ssl.crt/
    debian:~# cd /etc/apache2/ssl.crt/
    debian:~# cp /root/private.key ./
    debian:~# cp /root/certificate-chain.crt ./
    debian:~# cp /root/certificate.crt ./
    debian:~# chmod 400 private.key
    debian:/etc/apache2/ssl.crt# ll
    total 24
    drwxr-xr-x 2 root root 4096 2007-11-02 18:00 .
    drwxr-xr-x 8 root root 4096 2007-11-02 18:02 ..
    -rw-r--r-- 1 root root 5637 2007-11-02 18:00 certificate-chain.crt
    -rw-r--r-- 1 root root 1982 2007-11-02 18:00 certificate.crt
    -r-------- 1 root root 1743 2007-11-02 18:00 private.key

    Damit Apache nicht bei jedem Neustart nach dem Private Key fragt, wird empfohlen, den Key im Voraus zu entschlüsseln: :
    openssl rsa -in private.key > private-deprotect.key

    Wenn Sie diese Methode Nutzen, ersetzen Sie später in der Hilfe private.key durch private-deprotect.key .


  2. VirtualHost Konfiguration

    Editieren Sie die folgende Datei/etc/apache2/mods-enabled/ssl.conf
    Und fügen vor der Zeile </IfModule> folgendes ein:

    NameVirtualHost�87?.xx.xxx.xx:443

    <VirtualHost�87?.xx.xxx.xx:443>
    ServerAdmin�postmaster@my_domain.de
    DocumentRoot�/home/my_domain/www
    Servername www.my_domain.de
    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl.crt/certificate.crt
    SSLCertificateKeyFile /etc/apache2/ssl.crt/private.key
    SSLCACertificateFile /etc/apache2/ssl.crt/certificate-chain.crt
    ScriptAlias? /cgi-bin/ /home/mydomai/cgi-bin/
    </VirtualHost>


  3. Apache neustarten

    debian:~# /etc/init.d/apache2 restart
    debian::/etc/apache2/ssl.crt# /etc/init.d/apache2 restart
    Forcing reload of web server (apache2)... waiting Apache/2.2.3 mod_ssl/2.2.3 (Pass Phrase Dialog)
    Some of your private key files are encrypted for security reasons.
    In order to read them you have to provide the pass phrase.

    Server www.my_domain.de:443 (RSA)
    Enter pass phrase:

    OK: Pass Phrase Dialog successful.
    .

    Im Fehlerfall prüfen Sie bitte die Logdatei /var/log/apache2/error.log

    Geben Sie, wenn Verlangt, Ihren passphrase (Der, den Sie bei der Erstellung des Private Key private.key angegeben hatten) ein:

    Prüfen Sie ob Apache richtig auf Port 443 läuft:

    debian:~# netstat -tanpu | grep ":443"
    tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 11015/apache2


  4. Zugang testen https://www.my_domain.de/