|
|
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
|
- Eine Domain bei OVH
- Ein SSL Zertifikat für diese Domain oder eine Ihrer Subdomains (www.meine_domain.de in diesem Beispiel)
- Einen dedizierten Server mit Redhat OVH Release 1
- SSH Zugriff auf den Server z.B. via Putty
- Der Private Key, die Zertifikatskette und das Zertifikat wurden bereits von Ihnen im Ordner /root/ auf dem Server abgelegt.
- 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
|
Named Konfiguration
|
- Editieren Sie die Datei /var/named/meine_domain.de.hosts und fügen Sie die Fail-Over-IP für die Domain oder Subdomain Ihres Zertifikates ein, hier www.meine_domain.de:
Denken Sie daran, die SOA Seriennummer auf das aktuelle Datum einzustellen: 2010071501
root@alex root# cat /var/named/meine_domain.de.hosts
$ttl 86400
meine_domain.de. IN SOA meine_domain.de. webmaster.meine_domain.de. (
2010071501
21600
3600
604800
86400 )
IN NS nsXXXX.ovh.net.
IN NS sdns1.ovh.net.
IN MX 10 mail.meine_domain.de.
IN A 213.xxx.xxx.xxx
www IN A 87.xxx.xxx.xxx
ftp IN A 213.xxx.xxx.xxx
mail IN A 213.xxx.xxx.xxx
Dann named neustarten:
root@alex root# /etc/init.d/named restart
|
SSL Zertificate einrichten
|
- Als einen ersten Schritt werden wir die Privatekeydatei in /usr/local/apache/conf/ssl.key ablegen.
root@alex root# cd /usr/local/apache/conf/ssl.key/
root@alex ssl.key# cp /root/private.key ./
root@alex ssl.key# pwd ; ll private.key
/usr/local/apache/conf/ssl.key
-rw-r--r-- 1 root root 1743 oct 30 16:59 private.key
root@alex ssl.key# chmod 400 private.key
root@alex ssl.key# pwd ; ll private.key
/usr/local/apache/conf/ssl.key
-r-------- 1 root root 1743 oct 30 16:59 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 .
- Laden Sie die .crt von MANAGER >> SSL Zertifikate >> Das SSL Zertifikat abrufen herunter und kopieren Sie sie dann nach /usr/local/apache/conf/ssl.crt
root@alex ssl.key# cd /usr/local/apache/conf/ssl.crt/
root@alex ssl.crt# cp /root/certificate-chain.crt ./
root@alex ssl.crt# cp /root/certificate.crt ./
root@alex ssl.crt# pwd ; ll certificate*
/usr/local/apache/conf/ssl.crt
-rw-r--r-- 1 root root 5053 oct 30 17:10 certificate-chain.crt
-rw-r--r-- 1 root root 2051 oct 30 17:10 certificate.crt
root@alex ssl.crt#
- Dann die Apache Konfiguration bearbeiten.
Editieren Sie die Datei /etc/sysconfig/apache und entfernen Sie das # vor OPTIONS="-DSSL"
root@alex root# cat /etc/sysconfig/apache
# Uncomment the following line and restart Apache to activate SSL
# OPTIONS="-DSSL"
root@alex root# pico /etc/sysconfig/apache
root@alex root# cat /etc/sysconfig/apache
# Uncomment the following line and restart Apache to activate SSL
OPTIONS="-DSSL"
root@alex root#
- VirtualHost Konfiguration
Zuerst prüfen wir, ob Apache auf Port 443 lauscht. Wenn Listen 443 auskommentiert ist, muss das # entfernt werden.
root@alex root# grep ^Listen /httpd.conf
Listen 80
Listen 443
root@alex root#
Danach editieren wir die Datei /httpd.conf
Hier haben wir drei Pflichtfelder:
- Der Private Key
- Das Zertifikat
- Die Zertifikatskette
Anschließend fügen Sie folgende Zeilen hinzu:
NameVirtualHost 87.xxx.xxx.xxx:443
<VirtualHost 87.xxx.xxx.xxx:443>
ServerAdmin postmaster@meine_domain.de
DocumentRoot /home/meinedom/www
User meinedom
Group users
Servername www.meine_domain.de
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/ssl.crt/certificate.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/private.key
SSLCACertificateFile /usr/local/apache/conf/ssl.crt/certificate-chain.crt
Customlog logs/meinedom-acces_log combined
ScriptAlias /cgi-bin/ /home/meinedom/cgi-bin/
</VirtualHost>
- Apache neustarten
root@alex root# /etc/init.d/httpd restart
Stop httpd: [ OK ]
Starting httpd: [ OK ]
root@alex root#
Im Fehlerfall prüfen Sie bitte die Logdatei /var/log/httpd/error_log
Geben Sie, wenn Verlangt, Ihren passphrase (Der, den Sie bei der Erstellung des Private Key private.key angegeben hatten) ein:
Server www.meine_domain.de:443 (RSA)
Enter pass phrase:
Prüfen Sie ob Apache richtig auf Port 443 läuft:
root@alex root# netstat -tanpu | grep ":443"
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 8965/httpd
- Testen Sie den Zugang https://www.meine_domain.de/
|
|
|