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
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
#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
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
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
[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 ]
© 2004-2021 by Georg Kainzbauer