Wie man einen ISPConfig 3 Server gegen den Poodle SSL-Angriff sichert

Version 1.0 
Author: Till Brehm<t [dot] brehm [at] howtoforge [dot] com> 
 Follow howtoforge on Twitter
Zuletzt bearbeitet am 2014-10-16

In der folgenden Anleitung werde ich die Schritte beschreiben, wie man einen Server der die ISPConfig 3 Administrationsoberfläche einsetzt gegen den jüngsten Poodle SSL Angriff sichern kann. Ich werde eine ISPConfig 3 "Perfect Server" Installation verwenden, aber die gleichen Schritte werden auch für andere Linux-Distribution funktionieren. Ein ISPConfig Standard-Hosting-Server beinhaltet die folgenden Dienste: Webserver (Nginx oder apache), Mailserver (Postfix oder Dovecot / Courier), FTP-Server (pure-ftpd) die SSL / TLS Verbindungen anbieten und auch potenzielle Angriffsziele für Poodle Attacken sind.

Ich gehe davon aus, dass Du auf Deinem Server als Root User angemeldet bist. Wenn du auf Ubuntu arbeitest und nicht als Root angemeldet bist, dann stelle allen Befehlen"sudo" voran oder führe "sudo -" aus um ein Root User zu werden.

Apache Webserver

Um einen apache Webserver zu sichern, muss die Zeile

SSLProtocol all -SSLv2 -SSLv3

In jedem SSL vhost auf dem Server hinzugefügt werden. Ist die SSLProtocol Einstellung nicht explizit in einem vhost gesetzt, dann wird die globale Einstellung angewendet. Im Falle eines ISPConfig 3 Servers kann die SSLProtocol Einstellung global gesetzt werden, da die vhosts sie von dort übernehmen. Auf einem Debian oder Ubuntu Server muss die Datei /etc/apache2/mods-available/ssl.conf editiert werden:

nano /etc/apache2/mods-available/ssl.conf

scroll runter bis du diese Zeilen siehst:

# enable only secure protocols: SSLv3 and TLSv1, but not SSLv2
SSLProtocol all -SSLv2

und ändere Sie dann so ab:

# enable only secure protocols: but not SSLv2 and SSLv3
SSLProtocol all -SSLv2 -SSLv3

Starte apache dann neu

service apache2 restart

 

Nginx Webserver

Für einen nginx Webserver, muss die Zeile

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

in jeder einzlenen SSL Server Sektion hinzugefügt werden { }. Wenn die SSLProtocol Einstellung nicht explizit in einer Server Sektion definiert ist { }, dann werden die globalen Einstellungen der http { } Sektion angewendet. Im Falle eines ISPConfig 3 Server kann die SSLProtocol Einstellung global in der http { } Sektion gesetzt werden. Auf einem Debian oder Ubuntu Server musst die Datei /etc/nginx/nginx.conf in einem Editor geöffnet:

nano /etc/nginx/nginx.conf

und folgende Zeile:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

nach der Zeile:

http {

hinzugefügt werden. Dann nginx neu starten:

service nginx restart

 

Postfix mail server

Um SSLv2 und SSLv3 in Postfix zu deaktivieren, führe die folgenden befehle aus:

postconf -e 'smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3'
postconf -e 'smtpd_tls_protocols=!SSLv2,!SSLv3'
postconf -e 'smtp_tls_protocols=!SSLv2,!SSLv3'

Dies wird folgende Zeilen:

smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3
smtpd_tls_protocols = !SSLv2,!SSLv3
smtp_tls_protocols = !SSLv2,!SSLv3

in der /etc/postfix/main.cf Datei einfügen. Führe dann diesen Befehl aus um die neue Konfiguration anzuwenden:

service postfix restart

 

Dovecot IMAP / POP3 server

Dovecot unterstützt SSL Protokoll Einstellungen in den Versionen 2.1 und neuer. Daher sollte der erste Schritt sein herauszufinden. welche dovecot Version Du verwendest. Der Befehl lautet:

dovecot --version

auf meinem Server bekam ich folgendes Resultat:

root@server1:~# dovecot --version
2.1.7
root@server1:~#

was zeigt, dass mein Server ssl_protocol Einstellungen unterstützt.

Bearbeite die dovecot Konfigurationsdatei

nano /etc/dovecot/dovecot.conf

und füge die folgende Zeile hinzu,

ssl_protocols = !SSLv2 !SSLv3

gleich nach der ssl_key Zeile. Deine Datei sollte dann so aussehen:


ssl_key = </etc/postfix/smtpd.key
ssl_protocols = !SSLv2 !SSLv3

und dann starte dovecot neu um die Änderungen zu übernehmen:

service dovecot restart

 

Courier POP3 / IMAP server

Der courier imap und pop3 Server bietet auch standardmäßig Verbindungen über die unsicheren SSLv3 un SSLv3 Protokolle an, daher muss auch seine Konfiguration geändert werden. Die Courier Konfigurationsdateien befinden sich im Verzeichnis /etc/courier/. Als erstes beginne ich mit dem IMAP Daemon:

nano /etc/courier/imapd-ssl

Füge die folgenden Zeilen hinzu bzw. ändere bestehende Zeilen:

IMAPDSTARTTLS=YES
IMAP_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1

Dann editiere die Datei des POP3 Daemon:

nano /etc/courier/pop3d-ssl

Und füge die folgenden Zeilen hinzu bzw. ändere bestehende Zeilen:

POP3STARTTLS=YES
POP3_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1

Zum Schluss muss Courier neu gestartet werden:

service courier-imap-ssl restart
service courier-pop-ssl restart

 

FTP mit pure-ftpd

Die Sicherung von pure-ftpd auf Debian und Ubuntu ist ein bisschen komplizierter da das /usr/sbin/pure-ftpd-wrapper Script von Debian den -J Switch nicht unterstützt welcher vpn pure-ftpd verwendet wird um die ssl Protokolle festzulegen. Daher ist der erste Schritt, dass wir die –J Option in der wrapper Skript einbauen. Öffne die Datei

nano /usr/sbin/pure-ftpd-wrapper

und scrolle bis zur Zeile

'TLS' => ['-Y %d', \&parse_number_1],

und füge diese neue Zeile gleich danach ein:

'TLSCipherSuite' => ['-J %s', \&parse_string],

Zum Schluss erstellen wir noch eine config Datei die die SSL Protokolle enthält, denen wir folgendes erlauben wollen:

echo 'HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3' > /etc/pure-ftpd/conf/TLSCipherSuite

Um die Änderungen zu übernehmen, starte pure-ftpd neu. Auf meinem Server habe ich pure-ftpd mit mysql verwendet, daher ist der Name des Startscriptes pure-ftpd-mysql anstatt nur pure-ftpd.

service pure-ftpd-mysql restart

das Result sollte so ähnlich aussehen:

root@server1:~# service pure-ftpd-mysql restart
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -Y 1 -8 UTF-8 -H -J HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3 -D -b -O clf:/var/log/pure-ftpd/transfer.log -E -u 1000 -A -B
root@server1:~#

die -J option ist also erfolgreich hinzugefügt worden um den Daemon zu starten.

 

Links

0 Kommentar(e)

Zum Posten von Kommentaren bitte