Notice: Undefined index: string in /var/www/stefan/howtux.de/htdocs/article.php on line 49

Notice: Undefined index: settings in /var/www/stefan/howtux.de/htdocs/article.php on line 61
Home / Client / Server Dienste / SSL mit Apache2

SSL mit Apache2

Kategorie: Client / Server DiensteErstellt: 17.12.2007 - 10:21 Geändert: 03.11.2008 - 17:16
Autor: Stephan Küffner
0SSL auch Secure Sockets Layer genannt ist ein Netzwerkprotokoll zur sicheren Übertragung von Daten u. a. von Internetseiten. Um SSL zu aktivieren braucht man ein Zertifikat um die Daten zu verschlüsseln. Der Client stellt eine Verbindungsanfrage an den Server mit dem er sich verbinden möchte. Sie tauschen sich Informationen über einen SSL Handshake Protocol aus und nach erfolgreicher Initiierung findet der Datenaustausch zwischen Server und Client verschlüsselt statt.

Damit die Kommunikation über SSL abläuft, muss vorher noch ein Zertifikat erstellt werden.

Das passende Howto für die Erstellung des Zertifikates finden sie unter: http://www.howtux.de/index.php?article=119



Ist ein Zertifikat erstellt, kann der Apache eingerichtet werden. Es müssen dafür noch einige Konfigurationsdateien editiert werden.

Einrichten des Apache2


Das eben erstellte Zertifikate sollte dann am Besten in ein Verzeichnis des Apache kopiert werden
Sichern der Zertifikate

sv1@server:~$ mkdir /etc/apache2/ssl
sv1@server:~$ mv SERVERNAME.key /etc/apache2/ssl
sv1@server:~$ mv SERVERNAME.crt /etc/apache2/ssl


Der Apache2 bringt standardmäßig den SSL Support mit. Wenn keine Apache2 installiert ist, kann man dies sehr einfach mit apt-get install apache2 tun.
In dem Apache2-Verzeichniss /etc/apache2/mods-available befinden sich alle Module die der Apache2 zur Verfügung stellt.
In dem Verzeichnis /etc/apache2/mods-enabled befinden sich alle Module die aktiviert sind.

Aktivieren des SSL-Moduls

sv1@server:~$ cd /etc/apache2/mods-enabled
sv1@server:/etc/apache2/mods-enabled# ln -s ../mods-available/ssl.conf .
sv1@server:/etc/apache2/mods-enabled# ln -s ../mods-available/ssl.load .


Alternative zum erstellen der Links:
sv1@server:~$ a2enmod ssl



Bei einem Neustart des Apache wird nun das Modul "SSL" mit geladen.


Dieses Howto bezieht sich auf die Konfiguration des Apache2, damit alle Verbindungen an den Server zwingend über SSL abgewickelt werden.



Nun muss der Server auch wissen das Anfragen auch über SSL abgewickelt werden sollen. Dazu muss die Konfiguration des Apache2 wie folgt angepasst werden.

Default-Konfigurationsdatei

sv1@server:~$ vim /etc/apache2/sites-available/default

NameVirtualHost *:80
<VirtualHost *:80>
Redirect / https : //[ IP ODER NAME DES SERVERS]/
</VirtualHost>

NameVirtualHost *:443
<VirtualHost *:443>
ServerName [IP ODER NAME DES SERVERS]

DocumentRoot /var/www/

# SSL
SSLEngine On
SSLCipherSuite HIGH:MEDIUM
SSLCertificateFile /etc/apache2/ssl/SERVERNAME.crt
SSLCertificateKeyFile /etc/apache2/ssl/SERVERNAME.key

...

</VirtualHost>


In dieser Konfiguration wird der Apache2 Verbindungsanfragen an Ihn von Port 80 und 443 annehmen und sollte es der Port 80 sein, dann wird ein Redirect auf die Addresse mit Port 443 durchgeführt.

Port 443 ist der Standardport für Https (http over SSL)



Desweiteren werden mit SSLEngine On das Modul freigegeben. Der Server greift dann auf die Zertifikate zu, die in dem Verzeichnis liegen.

Normalerweise ist der Apache2-Daemon so konfiguriert das er nur bei TCP-Verbindungen auf Port 80 lauscht. Mit einem Eintrag in der /etc/apache2/ports.conf muss dies noch geändert werden.
Ports.conf

sv1@server:~$ echo "Listen 443" | tee -a /etc/apache2/ports.conf


Optional: Wenn man den Eintrag für Port 80 aus /etc/apache2/ports.conf entfernt dann, dann lauscht der Apache2 garnicht mehr auf diesem Port.



Neustart des Apache2


Abschließend muss noch ein Neustart des Apache2 durchgeführt werden.

Neustart des Apache2

sv1@server:~$ /etc/init.d/apache2 restart



Fehlerbehebung: Bei einem Neustart des Apache2-Servers kann es sein, dass die Fehlermeldung apr_sockaddr_info_get() aufkommt und der Server danach nicht einsatzfähig ist. Dann die Datei /etc/hosts editieren und den offiziellen Hostnamen des Servers unter der IP-Adresse eintragen.



Notice: Undefined variable: urli in /var/www/stefan/howtux.de/htdocs/classes.php on line 240
Bookmark auf del.icio.usBookmark auf Mister WongBookmark auf BlinklistBookmark auf GoogleBookmark auf LinkarenaBookmark auf YiggBookmark auf FolkdBookmark auf Yahoo
Home / Client / Server Dienste / SSL mit Apache2
simplum