e-Mails mit fetchmail und SSL sicher abholen

Was ist fetchmail und was ist SSL ?


fetchmail ist ein Linux Konsolenprogramm, es dient zum Abholen der Emails von einem Emailserver. Es holt die Emails ab und übergibt sie dem lokalen Emailsystem. fetchmail wird meistens genutzt um mehrere Emailserver hintereinander abzufragen. Die empfangenen Emails werden dann an einen Emailverteiler (zum Beispiel: procmail) weitergeleitet.
fetchmail kann die Emails von folgenden Servern abholen (Version: 5.4.0) : POP2, POP3, IMAP4, MS Exchange Server (NTLM) , Kerberos POP,...
Man kann fetchmail direkt mit allen Parametern aufrufen, aber normalerweise legt man im home Verzeichnis die Datei .fetchmailrc an und schreibt dort alle Parameter rein.

SSL ist das Secure Sockets Layer Protocol und stammt von Netscape. Es kann:

  • die übertragenen Daten versschlüsseln
  • Benutzer authentifizieren
  • laufende Sitzungen verifizieren

Viele Internethändler verwenden SSL, um die Benutzerdaten zu übertragen. Mit normalem HTTP kann nämlich jeder deine Kreditkartennummer mitlesen!!

Das war eine (sehr) kurze Einleitung zu fetchmail und SSL. Nun kommen wir zum Vorteil, die beide zusammen bieten:

  • Das Paßwort wird verschlüsselt gesendet
  • die Daten werden verschlüsselt abgeholt!

Das ist eine sehr sinnvolle Funktion, leider bieten es nur wenige Emaildiensteanbieter und Provider.


GMX, WEB.de

GMX, der wohl größte deutsche Free-emaildienst stellt ab sofort (Juni 2000) diesen Service für alle Kunden bereit.
Web.de unterstützt jetzt ebenfalls SSL (Danke an Michael Uplawski).
Sie verwenden dafür den Port 995, dieser Port ist der offizielle Port für POP3/SSL. Warum ich das erwähne weiß jeder, der eine Firewall hat. Dort muß nämlich dieser Port freigeschaltet werden.


Installation von fetchmail mit SSL Support


Nun wird es etwas kompliziert: Damit du fetchmail mit SSL kompilierst, braucht du OpenSSL und für OpenSSL brauchst du die zlib.
Also, am besten installiert du OpenSSL von der Distribution und probierst mal ob dein fetchmail danach mit SSL läuft. Wie du das machst, erläutere ich weiter unten.

Für alle Kaltduscher, die direkt die Quellen kompilieren wollen :

Zuerst die zlib kompilieren (verwendete Version 1.1.3 - bitte vorher README lesen) :

    # tar xzvf zlib-1_1_3_tar.gz
    # cd zlib-1.1.3/
    # ./configure
    # make test
    # make install

dann OpenSSL (verwendete Version 0.9.5a - bitte vorher INSTALL lesen):

    # tar xzvf openssl-0.9.5a.tar.gz   
    # cd openssl-0.9.5a
    # ./config   
    # make
    # make test
    # make install

und am Ende fetchmail (verwendete Version 5.4.0) mit der Option "--with-ssl" configurieren. Die Datei INSTALL auf jeden Fall lesen, vielleicht brauchst du auch noch Support für Microsoft Exchange Server ;-):

    # tar xzvf fetchmail-5.4.0.tar.gz 
    # cd fetchmail-5.4.0 
    # ./configure  --with-ssl  (siehe unten)
    # make
    # make install

Achtung! Während des configures sollte etwas in der Art "Enabling OpenSSL support in /usr/local/ssl" erscheinen. Nach ./configure können einige "makedepend warning"s kommen, aber sieh genau hin "You can ignore any makedepend error messages:", also alles in Ordnung!
Wenn bisher alles fehlerfrei lief, hast du es geschafft.

fetchmail Konfigurationsdatei



fetchmail erwartet seine Konfigurationsdatei im Homeverzeichnis des Benutzers unter dem Namen ".fetchmailrc" .
Die Emails bitte NICHT als root abholen, am besten einen extra Benutzer dafür erstellen !!
Der Aufbau der Datei ist sehr einfach.

Hier mal ein Beispiel mit einem gmx.de POP-Server. Der Benutzer tux@gmx.de holt seine Emails mit SSL ab, löscht die Emails nicht (ist besser zum Testen) und gibt alle Emails an procmail weiter. Dieser verteilt die Emails nach seinen Regeln (vielleicht schreibe ich mal was drüber), die Konfigurationsdatei /home/tux/.fetchmailrc sieht dann so aus:

#Server und Protokoll
    server pop.gmx.de 
    proto pop3     
#Benutzer und Password
    user tux@gmx.net
    pass geheim
    
#SSL und Dateien NICHT löschen
    ssl
    keep
    
#Alle Emails an procmail geben
    mda /usr/bin/procmail

Nun einfach "fetchmail -v" ausführen. Klappt SSL bekommst du eine Meldung in der Art (bei gmx) :

Issuer Organization: TC TrustCenter for Security in Data Networks GmbH

Andernfalls hängt fetchmail fest...

Sollte es nun funktionieren, solltest du das "keep" entfernen, sonst bekommst du immer wieder die selben Emails ;-)

Eines solltest du aber noch bedenken:
Du holst zwar die Emails sicher ab, aber wenn du die Email selber nicht verschlüsselst (zum Beispiel mit PGP), kann die Emails trotzdem von jedem (der es will) gelesen werden ! Der Cracker fängt die Email ab, bevor du sie abholst!

Das wars...............
 


Quellen und weitere Dokus


Eigentlich nur die man Pages und die zu den Programmen gelieferte Doku.

Hat dir der Artikel gefallen, hast du Probleme mit dem Artikel, oder hast du Fehler gefunden? Sag mir bitte Bescheid.
 
Dieser Artikel darf ausdrücklich kopiert und weitergegeben werden , solange die Quelle ersichtlich ist. Solltest du etwas ändern, ist dies nur erlaubt, wenn die Unterschiede zu dieser Version deutlich werden und der Autor informiert wird!

Erstellt am: 2000-07-26     Autor: Markus Ungermann (mu@tuxhausen.de)
Last Update: 2000-11-26   URL: http://www.tuxhausen.de/softw are_fetchmail_ssl.html

Anmerkung von Baitronic:

Für eine genauere Beschreibung einer Softwareinstallation im Quellcode siehe Software installieren.
Für die genauere Beschreibung zur Einrichtung eines lokalen Mailservers siehe lokaler Mailserver (in kürze in der Rubrik Netzwerk)
Autor: Markus Ungermann