Good to Know Database

CentOS 5: POP3- und IMAP-Verbindungen zum Cyrus-Daemon mit TLS absichern


Ein Mail-Client verbindet sich entweder über POP3 oder über IMAP mit dem Mailserver um neue E-Mails abzurufen. Diese Verbindungen sind unverschlüsselt und können belauscht werden. Die folgende Anleitung soll Ihnen zeigen, wie Sie die Protokolle POP3 und IMAP mit SSL verschlüsseln.

Zuerst erstellen Sie die beiden Verzeichnisse /etc/ssl/certs und /etc/ssl/private.

[root@centos5 ~]# mkdir -p /etc/ssl/certs /etc/ssl/private

Anschließend erstellen sie mit dem folgenden Befehl ein Zertifikat und den dazugehörigen Schlüssel, welche in den soeben erstellten Verzeichnissen abgelegt werden. Durch die Option -days können Sie festlegen, wie lange das Zertifikat gültig sein soll.

[root@centos5 ~]# openssl req -new -x509 -nodes -out /etc/ssl/certs/cyrus-imapd.pem -keyout /etc/ssl/private/cyrus-imapd.key -days 3650
Generating a 1024 bit RSA private key
............++++++
.........++++++
writing new private key to '/etc/ssl/private/cyrus-imapd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:DE
State or Province Name (full name) [Berkshire]:Bayern
Locality Name (eg, city) [Newbury]:Woerth an der Donau
Organization Name (eg, company) [My Company Ltd]:Privat
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []:mail.home.lan
Email Address []:root@home.lan

Hinweis: Als Common Name müssen Sie unbedingt die Adresse des Servers angeben, welche Sie für den Zugriff auf den Mailserver verwenden. Andernfalls erhalten Sie bei jedem Verbindungsaufbau über POP3S und IMAPS eine Fehlermeldung weil der Hostname nicht mit dem Common Name des Zertifikates übereinstimmt.

Das Zertifikat und den dazugehörigen Schlüssel müssen Sie jetzt in der Konfigurationsdatei /etc/imapd.conf eintragen.

[root@centos5 ~]# vi /etc/imapd.conf

Entfernen oder kommentieren Sie die ersten drei Zeilen im folgenden Listing und fügen die beiden letzten Zeilen ein.

#tls_cert_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem
#tls_key_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem
#tls_ca_file: /etc/pki/tls/certs/ca-bundle.crt
tls_cert_file: /etc/ssl/certs/cyrus-imapd.pem
tls_key_file: /etc/ssl/private/cyrus-imapd.key

Wenn Sie die unverschlüsselten POP3- und IMAP-Verbindungen vollständig unterbinden wollen, müssen Sie noch die Konfigurationsdatei /etc/cyrus.conf anpassen.

[root@centos5 ~]# vi /etc/cyrus.conf

Fügen Sie wie im folgenden Beispiel am Anfang der Zeilen für imap und pop3 ein Kommentarzeichen ein.

# imap          cmd="imapd" listen="imap" prefork=5
  imaps         cmd="imapd -s" listen="imaps" prefork=1
# pop3          cmd="pop3d" listen="pop3" prefork=3
  pop3s         cmd="pop3d -s" listen="pop3s" prefork=1

Beachten Sie dabei, dass cyradm für die Konfiguration des IMAP-Servers ebenfalls eine IMAP-Verbindung benötigt. Daher sollten Sie den Zugriff auf den IMAP-Server nur für externe Verbindungen unterbinden und lokale Zugriffe auf IMAP erlauben. Dazu ändern Sie die Zeile für imap wie folgt ab.

  imap          cmd="imapd" listen="localhost:imap" prefork=5
  imaps         cmd="imapd -s" listen="imaps" prefork=1
# pop3          cmd="pop3d" listen="pop3" prefork=3
  pop3s         cmd="pop3d -s" listen="pop3s" prefork=1

Nachdem Sie alle Änderungen vorgenommen haben, müssen Sie den Cyrus-Daemon neu starten.

[root@centos5 ~]# service cyrus-imapd restart

Beachten Sie bitte, dass die Ports 993/tcp (IMAPS) und 995/tcp (POP3S) nicht von der Firewall gefiltert werden.

[root@centos5 ~]# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 993 -j ACCEPT
[root@centos5 ~]# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 995 -j ACCEPT
[root@centos5 ~]# service iptables save

Weiterführende Tutorials

CentOS 5: Funktion des Cyrus POP3S-Servers testen
CentOS 5: Funktion des Cyrus IMAPS-Servers testen


Dieser Eintrag wurde am 10.08.2009 erstellt und zuletzt am 24.01.2016 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_33_725.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer