From: Markus Hochholdinger (mh_at_xmachina.de)
Date: 19. Oct 1999
Hi Liste,
ich denke, ich habe jetzt eine brauchbare Lösung.
Problem: Abrufen von e-mails mit pop3, ohne daß das Passwort im Klartext
übertragen wird. (Wichtig ist das zum Beispiel, wenn man sich in einem
unsicheren (sniffer Angriffe!!!) Netzwerksegment befindet!)
Situation:
- Mailserver: rumms.uni-mannheim.de; kein ssh-Server; kein verschlüsseltes
pop3 oder imap
- ssh-Server: rummelplatz.uni-mannheim.de; ssh-Server verfügbar, aber keine
authentifizierung über ~/.ssh/authorized_keys möglich; Verbindungen von diesem
Rechner zum Mailserver müssen sicher vor sniffer Angriffen sein! (In diesem
Fall sollten wir das voraussetzen, sonst hätte das RUM ein Problem!)
- Rechner im unsicheren Netzwerksegment: fetchmail, procmail und expect
sollten vorhanden sein. Es sind keine root-Rechte erforderlich!
Namensgebung:
- Mailserver: rumms.uni-mannheim.de, Benutzer: hochhold, Passwort: geheim
- ssh-Server: rummelplatz.uni-mannheim.de, Benutzer: hochhold, Passwort: geheim
- Rechner im unsicheren Netzwerksegment: defiant, Benutzer: markus
Folgende Dateien auf defiant erstellt (Kommentarzeilen sind mit #
gekennzeichnet und können weggelassen werden):
~/.fetchmailrc (-rw------- markus markus):
--8<-----------------------------------
# Mail von rumms.uni-mannheim.de vom localhost über port 1309 mit pop3 abholen:
poll rumms.uni-mannheim.de via localhost port 1309 with proto pop3:
# Benutzer und Passwort auf dem Mailserver (rumms.uni-mannheim.de)
user hochhold
pass "geheim"
# Mail wird standardmäßig nach /var/spool/mail/markus geschrieben. Somit kann
# die Mail vom lokalen Rechner (localhost bzw. defiant) normal über pop3
# abgeholt werden, oder direkt aus /var/spool/mail/ gelesen werden. (pop3 vom
# localhost sollte unproblematisch sein, da dabei kein Traffic aus diesem
# Rechner über eine Netzwerkkarte raus geht!)
# Durch erstellen und konfigurieren von ~/.procmailrc kann die Mail auch
# automatisch weiterverarbeitet werden.
mda "/usr/bin/procmail -d markus"
# Sicheren Tunnel mit ssh zu rummelplatz.uni-mannheim.de als Benutzer hochhold
# bauen. Port 1309 auf localhost (defiant) kommt dann auf Port 110 auf dem
# rummelplatz raus. Da keine automatische Authentifizierung mit diesem Rechner
# gemacht werden kann, fragt fetchmail bzw. ssh hier nach dem Passwort für den
# Benutzer hochhold auf rummelplatz.uni-mannheim.de. Dieses Problem wird mit
# dem nächsten Script (.expect) behoben. sleep 10 bedeutet, daß die Verbindung
# mindestens 10 Sekunden lang offen bleibt. Das ganze ist sehr unkritisch, da
# ssh die Verbindung erst beendet, wenn fetchmail fertig ist (ssh waitung..).
# Zumindest bei mir hat ssh gewartet, ich hab´s ausprobiert!
preconnect "ssh -l hochhold -f -L 1309:rumms.uni-mannheim.de:110 rummelplatz.uni-mannheim.de sleep 10 < /dev/null > /dev/null";
# Alle Mail, auch gelesene, vom Mailserver holen. Somit gibt es keine Probleme,
# wenn man trotzdem noch mit pine auf dem rummelplatz seine Mail liest.
fetchall
------------------------------->8------
~/.expect (-rwx------markus markus): <= Achtung! Ausführbar!
--8<-----------------------------------
#!/usr/bin/expect5.31 --
# Obige Zeile ist KEIN Kommentar! Wichtig ist, daß der Pfad und Name zu Expect
# richtig ist!
#
# fetchmail starten, ohne daß angezeigt wird, was Expect gerade macht:
spawn -noecho fetchmail
# Wenn fetchmail mit einem Fehler abbricht, Expect sofort beenden (eof exit).
# Ansonsten auf die Passworteingabe warten und Passwort automatisch eingeben
# (send "geheim\r"). Das "\r" ist dabei nur die Eingabebestätigung, und hat
# nichts mit dem eigentlichen Passwort zu tun!
expect eof exit "password:" {send "geheim\r"}
# Warten, bis fetchmail fertig ist:
wait
# So sieht es hübscher aus ;-) wenn die Ausgabe nicht nach /dev/null umgeleitet
# wird.
send_user "\n"
------------------------------->8------
Das ganze kann man dann bequem von defiant mit:
markus_at_defiant:~$ ./.expect > /dev/null
aufrufen, oder Script gesteuert mit cron, oder fetchmail als daemon laufen
lassen, ...
Ich hoffe, ich habe damit nicht nur mir geholfen...
Gruß
{
{ markus hochholdinger
{ xmachina GmbH
{ maassstrasse 24
< 69123 heidelberg
{ 06221/822028 -> phone
{ 06221/822040 -> fax
{ http://www.xmachina.de
{
Dieses Archiv wurde generiert von hypermail 2.1.2 : 11. Mar 2002 CET