kai_f
21.05.12, 11:35
Hallo.
Ich habe ein Passwort-Problem mit fetchmail (v6.3.21) bzgl. CRAM-MD5 Authentifizierung.
Auf meinem openSUSE (12.1) Server (nur LAN, kein Root-Server) läuft Dovecot als IMAP-Server und Postfix für SMTP. Dies funktioniert ganz gut. Für externe Mail-Provider benutze ich Fetchmail im (Daemon-Mode) zum Abholen der Mails.
In meiner globalen /etc/fetchmailrc habe ich u.a. die Zugangsdaten für einen Unitymedia IMAP-Server konfiguriert, der die Auth-Varianten Plain, CRAM-MD5 und DIGEST-MD5 unterstützt. Wenn ich nun das Passwort im Klartext in die fetchmailrc eintrage und als Auth-Methode (Default also) CRAM-MD5 wähle, authentifiziert sich fetchmail ohne Probleme bei dem IMAP-Server und holt Mails ab.
# Meine /etc/fetchmailrc:
set daemon 300
...
poll imap.unitybox.de
protocol imap
auth cram-md5
username xxx@unitybox.de
password 'Passwort im Klartext'
is mailuser
fetchall
ssl
sslproto tls1
sslfingerprint "..."
sslcertck
sslcertpath /etc/ssl/certs
mda "/usr/lib/dovecot/deliver -d mailuser -m 'INBOX/xxx@unitybox.de'"
...
Folgendes möchte ich nun erreichen:
Das Passwort für den Mail-Server soll nicht im Klartext in der fetchmailrc gespeichert werden, sondern verschlüsselt bzw. der Hashwert vom Passwort.
Wenn ich es richtig verstehe, sollte es laut Man-Page von Fetchmail möglich sein, das Passwort verschlüsselt in der fetchmailrc zu speichern, anstatt im Klartext. Hier der relevante Text aus der Man-Page:
Legal authentication types are 'any', 'password', 'kerberos', 'kerberos_v4', 'kerberos_v5' and 'gssapi', 'cram-md5', 'otp', 'msn' (only for POP3), 'ntlm', 'ssh', 'external' (only IMAP). The 'password' type specifies authentication by normal transmission of a password (the password may be plain text or subject to protocol-specific encryption as in CRAM-MD5)
Den CRAM-MD5 Hashwert vom Klartext-Passwort berechne ich so:
doveadm pw -s cram-md5 -p 'PASSWORT'
Die fetchmailrc ändere ich dazu wie folgt ab:
...
poll imap.unitybox.de
...
password 'CRAM-MD5 Hashwert vom Klartext-Passwort'
...
Mit dem so erzeugten CRAM-MD5 Hashwert scheitert allerdings die Authentifizierung am Server und ich verstehe nicht warum. Der Server akzeptiert CRAM-MD5 als Auth-Methode auf jeden Fall, denn dies habe ich mit KMail bereits getestet.
Mein Ziel ist, dass Passwort nicht als Klartext in der fetchmailrc zu speichern.
Kann mir jemand sagen, was ich falsch mache? Vielleicht habe ich die Man-Page falsch interpretiert und Passwörter können unabhängig von der Auth-Methode immer nur im Klartext gespeichert werden?
Vielen Dank und Gruß...
Ich habe ein Passwort-Problem mit fetchmail (v6.3.21) bzgl. CRAM-MD5 Authentifizierung.
Auf meinem openSUSE (12.1) Server (nur LAN, kein Root-Server) läuft Dovecot als IMAP-Server und Postfix für SMTP. Dies funktioniert ganz gut. Für externe Mail-Provider benutze ich Fetchmail im (Daemon-Mode) zum Abholen der Mails.
In meiner globalen /etc/fetchmailrc habe ich u.a. die Zugangsdaten für einen Unitymedia IMAP-Server konfiguriert, der die Auth-Varianten Plain, CRAM-MD5 und DIGEST-MD5 unterstützt. Wenn ich nun das Passwort im Klartext in die fetchmailrc eintrage und als Auth-Methode (Default also) CRAM-MD5 wähle, authentifiziert sich fetchmail ohne Probleme bei dem IMAP-Server und holt Mails ab.
# Meine /etc/fetchmailrc:
set daemon 300
...
poll imap.unitybox.de
protocol imap
auth cram-md5
username xxx@unitybox.de
password 'Passwort im Klartext'
is mailuser
fetchall
ssl
sslproto tls1
sslfingerprint "..."
sslcertck
sslcertpath /etc/ssl/certs
mda "/usr/lib/dovecot/deliver -d mailuser -m 'INBOX/xxx@unitybox.de'"
...
Folgendes möchte ich nun erreichen:
Das Passwort für den Mail-Server soll nicht im Klartext in der fetchmailrc gespeichert werden, sondern verschlüsselt bzw. der Hashwert vom Passwort.
Wenn ich es richtig verstehe, sollte es laut Man-Page von Fetchmail möglich sein, das Passwort verschlüsselt in der fetchmailrc zu speichern, anstatt im Klartext. Hier der relevante Text aus der Man-Page:
Legal authentication types are 'any', 'password', 'kerberos', 'kerberos_v4', 'kerberos_v5' and 'gssapi', 'cram-md5', 'otp', 'msn' (only for POP3), 'ntlm', 'ssh', 'external' (only IMAP). The 'password' type specifies authentication by normal transmission of a password (the password may be plain text or subject to protocol-specific encryption as in CRAM-MD5)
Den CRAM-MD5 Hashwert vom Klartext-Passwort berechne ich so:
doveadm pw -s cram-md5 -p 'PASSWORT'
Die fetchmailrc ändere ich dazu wie folgt ab:
...
poll imap.unitybox.de
...
password 'CRAM-MD5 Hashwert vom Klartext-Passwort'
...
Mit dem so erzeugten CRAM-MD5 Hashwert scheitert allerdings die Authentifizierung am Server und ich verstehe nicht warum. Der Server akzeptiert CRAM-MD5 als Auth-Methode auf jeden Fall, denn dies habe ich mit KMail bereits getestet.
Mein Ziel ist, dass Passwort nicht als Klartext in der fetchmailrc zu speichern.
Kann mir jemand sagen, was ich falsch mache? Vielleicht habe ich die Man-Page falsch interpretiert und Passwörter können unabhängig von der Auth-Methode immer nur im Klartext gespeichert werden?
Vielen Dank und Gruß...