Post auf Kommando
fetchmail
Verschlüsselt bitte!
Überprüfen Sie zunächst, ob fetchmail gegen die SSL-Bibliotheken gelinkt ist:
huhn@asteroid:~$ ldd /usr/bin/fetchmail
libcrypt.so.1 => /lib/libcrypt.so.1 (0x4001e000)
libresolv.so.2 => /lib/libresolv.so.2 (0x4004b000)
libssl.so.0.9.6 => /usr/lib/libssl.so.0.9.6 (0x4005c000)
libcrypto.so.0.9.6 => /usr/lib/libcrypto.so.0.9.6 (0x40089000)
libc.so.6 => /lib/libc.so.6 (0x40149000)
libdl.so.2 => /lib/libdl.so.2 (0x40266000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Die Einträge libssl.so und libcrypto.so sind die entscheidenden. Bei einigen Distributionen, z. B. Debian Woody, muss ein spezielles fetchmail-Paket mit SSL-Unterstützung (apt-get install fetchmail-ssl) installiert werden, damit dies funktioniert.
Bei POP3 geht Ihr Passwort (genau wie bei telnet) im Klartext über das Netz - nicht nur die Anmeldung, sondern auch das Übertragen der Mail verläuft unverschlüsselt. Wenn der Mail-Server, mit dem Sie sich verbinden, SSLunterstützt (bei GMX und Web.de klappt das), hängen Sie entweder den Parameter --ssl an den Programmaufruf an, oder tragen Sie in die Datei ~/.fetchmailrc ganz unten ein:
ssl
Das Tunnelnmit ssh (Secure Shell) ist etwas schwieriger und setzt voraus, dass Sie einen Shell-Account auf dem Mail-Server haben. Zusammen mit den ssh-Optionen -L und -R können verschlüsselte "Pipelines" gelegt werden, die sich sogar noch komprimieren lassen (Parameter -C). Ein entsprechender Eintrag in der .fetchmailrc kann beispielsweise so aussehen:
poll localhost port 1234 proto pop3 user (POPUSER) password (POPPASS) preconnect "ssh -C -f -L 1234:(HOST):110 (USER)@(HOST) sleep 20" is (LOCALUSER) here options fetchall;
(POPUSER), (POPPASS), (USER)@(HOST) und (LOCALUSER) ersetzen Sie entsprechend durch Ihre eigenen Daten. Der Eintrag port 1234 bezeichnet einen beliebig gewählten Portauf Ihrem lokalen Rechner. Mit dem Aufruf preconnect "ssh ... wird der Tunnel eingerichtet. Die ssh-Parameter lassen sich so erklären: -C steht für Komprimierung (engl. "compression"), -f sagt ssh, dass es im Hintergrund starten soll. Die Angabe -L 1234:(HOST):110 bedeutet: Unter Port 1234 wird ein Tunnel zum HOST (der Mail-Server) auf Port 110 (für POP3) eingerichtet; fetchmail spricht also mit dem Localhost auf 1234 unverschlüsselt, ist aber in Wirklichkeit mit dem Mail-Server auf Port 110 verbunden, wobei die Verbindung dorthin durch die ssh verschlüsselt wird. Der Eintrag sleep 20 setzt schließlich eine Wartezeit von 20 Sekunden im Verbindungsaufbau. Beim fetchmail-Aufruf werden Sie nun noch nach dem Passwort vom Server gefragt, und der sichere Transfer kann beginnen.
Glossar
POP3
Das Post Office Protocol (neueste Version ist POP3) sorgt dafür, dass private Anwender Post vom Mail-Server auf den lokalen Rechner herunterladen können. E-Mails auf dem Server werden wahlweise gelöscht oder verbleiben dort.
IMAP
Wesentlich flexibleres Protokoll, bei dem die Mail auf dem Server bleibt und vom Mail-Client lokal angezeigt wird. Das verwendete Mail-Programm muss IMAP-fähig sein, was heutzutage für fast alle Mailer zutrifft. Eine Netzwerkverbindung zum Mail-Server muss permanent bestehen. Alternativ erlaubt auch IMAP den Download der Mails - das wird auch fetchmail beim Zugriff auf IMAP-Server nutzen.
Daemon
Daemon-Prozesse sind Endlosprozesse, die auf ein bestimmtes Ereignis warten und im Hintergrund Dienste verrichten.
SSL
Secure Socket Layer. Ein Standard zur Verschlüsselung von Kommunikation. Dabei wird nicht nur sicher gestellt, dass es sich um den richtigen Server handelt, sondern auch geprüft, ob die Daten vollständig und unverändert den Empfänger erreichen. Die Authentifizierung läuft mittels sogenannter Zertifikate. Diese Identitätsbescheinigungen werden von anerkannten Stellen, z. B. VeriSign oder Thawte, ausgestellt und sind in der Regel kostenpflichtig. Viele Anbieter (z. B. Banken oder Online-Kaufhäuser) im WWW verwenden diese Technik, um ihren Kunden maximale Sicherheit zu garantieren.
Tunneln
Das Durchleiten einer Verbindung durch eine andere. Konkret heißt das: Die unverschlüsselte POP-Verbindung wird durch die verschlüsselte ssh-Verbindung durchgeleitet.
Port
Eine Nummer, unter dem auf dem System Netzwerkdienste angesprochen werden können. Beispielsweise ist SMTP der Port 25 oder POP3 der Port 110 zugewiesen (siehe /etc/services). Der hier gewählte Port muss größer als 1024 sein, da die darunterliegenden für das System reserviert und nur von root belegbar sind.
Infos
[1] Patricia Jung: "Ab geht die Post - The Answer Girl", LinuxUser 10/2000, S. 44, http://www.linux-user.de/ausgabe/2000/10/044-answergirl/Answergirl_1000-2.html
[2] Oliver Flimm: "Secure Shell (ssh) Infoblatt", http://www.ph-cip.uni-koeln.de/~flimm/ssh-info.ps



