ST-Hosting Handbuch

Unser Handbuch

SSL Zertifikate in Debian

SSL Zertifikate in Debian


Wir möchten Ihnen zeigen, wie Sie ganz einfach einen Server mit einem SSL Zertifikat ein bisschen sicherer machen kann.
Gerade als Anbieter von Kundenshops mit z. B. teuren Produkten sollten dies nutzen, da es wichtig ist, die Daten der Kunden geheim zu halten.
Bitte beachten Sie, dass Sie Zertifikate, die Sie gekauft hast, nur in den Ordner /etc/ssl/certs kopieren müssen und den Schritt mit dem Generieren einfach überspringen können.
Man ist auch im Vorteil, wenn man sich ein Zertifikat bei uns kauft, weil meist die eigen generierten Zertifikate von den meisten Browsern als zu gefährlich eingestuft werden.

Wichtige Hinweise zum Tutorial

Dieses Tutorial ist nur für Debian.
Es funktioniert nicht auf anderen Linux-Distributionen.
Das # deutet standardmäßig in den meisten Fällen auf ein Konsolenbefehl an, der mit root-Rechten ausgeführt werden muss.
Wir benutzen im Tutorial verschiedene Platzhalter:

  • domainname = Ihre Domain z.B.: signaltransmitter.de
  • ihreip = Ihre IP-Adresse vom Server, z.B.: 4.4.4.4

Erstellen des Zertifikats

In diesem Schritt wird das Zertifikat generiert.
Wie schon beschrieben, sollten Sie schon ein Zertifikat für die Domain haben, lade Sie dieses einfach in das Verzeichnis /etc/ssl/certs hoch und überspringen diesen Schritt.

Zunächst installieren Sie das benötigte Paket openssl mit dem Befehl:
# apt-get install openssl

Danach erstellen Sie das Zertifikat mit folgenden Befehlen:
# cd /etc/ssl/certs
# openssl genrsa -des3 -out domainname-pass.key 2048
# openssl req -new -key domainname-pass.key -out domainname.csr
# openssl rsa -in domainname-pass.key -out domainname.key
# openssl x509 -req -days 365 -in domainname.csr -signkey domainname.key -out domainname.crt
# chmod 444 *.crt # chmod 400 *.key

Nun haben Sie das Zertifikat generiert und die neuen Dateien sind nun im Ordner /etc/ssl/certs und diese tragen die Dateinamen domainname.key und domainname.crt

Einbinden in proftpd

Im Paket proftpd bindet man mit folgenden Schritten nun das Zertifikat ein:

Gehen Sie zunächst in die Datei: /etc/proftpd/proftpd.conf und ändern Sie folgende Einstellungen:
#
# SSL via TLS
#
< IfModule mod_tls.c >
TLSEngine off # on for use of TLS
TLSLog /var/log/proftpd/ftp_ssl.log # where to log to
TLSProtocol SSLv23 # SSLv23 or TLSv1
TLSOptions NoCertRequest # either to request the certificate or not
TLSRSACertificateFile /etc/proftpd/ssl.crt # SSL certfile
TLSRSACertificateKeyFile /etc/proftpd/ssl.key # SSL keyfile
TLSVerifyClient off # client verification
<⁄IfModule>

in den nachfolgenden Einstellungen:
#
# SSL via TLS
#
< IfModule mod_tls.c >
TLSEngine on # on for use of TLS
TLSLog /var/log/proftpd/ftp_ssl.log # where to log to
TLSProtocol SSLv23 # SSLv23 or TLSv1
TLSOptions NoCertRequest # either to request the certificate or not
TLSRSACertificateFile /etc/ssl/certs/domainname.crt # SSL certfile
TLSRSACertificateKeyFile /etc/ssl/certs/domainname.key # SSL keyfile
TLSVerifyClient off # client verification
<⁄IfModule>

Jetzt müssen Sie nur noch den FTP Server neustarten und Sie sind fertig:
# /etc/init.d/proftpd restart

Einbinden in courier

Kommen wir nun zum courier-Paket:

Zunächst werden wieder 2 neue Pakete benötigt (courier-imap-ssl und courier-pop-ssl)
# apt-get install courier-imap-ssl courier-pop-ssl

Dann führen Sie diese beiden Befehle aus:
# cat /etc/ssl/certs/domainaname.key /etc/ssl/certs/domainaname.crt >> /etc/courier/imapd.pem
# cat /etc/ssl/certs/domainaname.key /etc/ssl/certs/domainaname.crt >> /etc/courier/pop3d.pem

Jetzt müssen Sie nun diese Dateien in die Konfiguration von courier eingefügt werden:
In der Datei /etc/courier/imapd-ssl einfach folgende Zeile hinzufügen:
TLS_CERTFILE=/etc/courier/imapd.pem

und bei der Datei /etc/courier/pop3d-ssl diese:
TLS_CERTFILE=/etc/courier/pop3d.pem

Als letztes nur noch den Courier neustarten:
etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-pop3-ssl restart

Einbinden in apache2

Zum Schluss kommen Sie zur Einbindung in apache2:
In der Datei /etc/apache2/sites-enabled/00-default müssen Sie den passenden Abschnitt der Domain suchen und folgende Konfiguration hinzufügen:
< VirtualHost ihreip:443 >
ServerName domainname
DocumentRoot /var/www/

< IfModule mod_ssl.c >
SSLEngine on
SSLCertificateKeyFile /etc/ssl/certs/domainname.key
SSLCertificateFile /etc/ssl/certs/domainname.crt
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
< /IfModule >
< /VirtualHost >

Als nächstes den apache2-Server neustarten
# /etc/init.d/apache2 restart