SMTP-push-to-local Lösung over SSH ?

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
metrix
Posts: 94
Joined: 2002-10-26 15:52

SMTP-push-to-local Lösung over SSH ?

Post by metrix » 2003-12-20 00:53

Hallo,

folgendes habe ich mir ausgedacht und wollte mal eure Meinung dazu hören. Was würdet ihr anders machen oder habt ihr Ideen was es da schon an fertigen Skripts gibt.

Ich habe hier lokal an DSL meinen Mailserver stehen der über einen dyndns-Service meine Domains als Primary MX aus dem Internet annimmt. Da mir das Ganze aber nicht so ganz geheuer ist, wenn ich aus irgendeinem Grund mal offline sein sollte und dummerweise ein Anderer meine alte IP bekommt und somit im schlimmsten Fall meine E-Mails oder der andere Mailserver meine Mail rejectet.

Angedacht habe ich also folgendes:
Ich trage für meine Domains meinen Rootserver als Primary MX ein und nehme DSL komplett als MX-Eintrag raus. Somit schlagen alle E-Mails auf meinem Rootserver auf. In Postfix trage ich meine Domains die ich per DSL haben will als relay_domains ein und gebe in Transport localhost:1234 für die Domains ein. Auf diesem lokalen Port wartet ein Skript auf eine Verbindung. Wenn ein connect von Postfix kommt, baut das Skript einen SSH-Tunnel auf meine DSL-Kiste auf und überträgt die E-Mails verschlüsselt. Wird der Tunnel für 5 Minuten nicht genutzt, wird er wieder getrennt bis zum nächsten connect von Postfix. Meine Frage ist jetzt erstmal, wie sieht es da mit der Sicherheit aus? Also E-Mails gehen so nicht mehr verloren, da sie nicht an einem falschen SMTP-Server ankommen können der sie ablehnt.

Aber was passiert nun, wenn mein DSL down ist und der Rootserver einen connect aufbaut und ein Anderer hat meine IP?!?! Bekommt dieser dann quasi meinen SSH-Key und kann damit wiederum auf meine DSL-Kiste connecten?

Habt ihr bessere Ideen? Ansätze mit fertigen Skripten oder ähnliches ?!?!
Das selbe habe ich in die andere Richtung übrigens auch vor um den Versand über SMTP zu erledigen. Oder dort einfach SMTP-Auth nehmen?

Würde mich über zahlreiche Reaktionen sehr freuen.

dodolin
RSAC
Posts: 4009
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: SMTP-push-to-local Lösung over SSH ?

Post by dodolin » 2003-12-20 01:01

Ich würde das komplett anders lösen (habs hier auch vor, bin aber noch nicht dazugekommen... wie das halt immer so ist. ;) ):

Variante 1)
Mach ein VPN. Darin nutzt du Private IP Adressen.

Variante 2)
Nimm TLS und lasse den Rootserver den Key deines DSL-Rechners verifizieren.

Für beide Varianten:
Nicht als relay_domains eintragen, sondern als lokalen Transport. Zumindest bei Exim wäre das so, ich gehe schwer davon aus, dass das mit Postfix auch geht...

Bei beiden Varianten werden die Mails im Falle einer Downtime von DSL einfach ganz normal in die Queue gesteckt, wie das mit allen anderen Mails auch geschieht, die nicht sofort zugestellt werden können.

metrix
Posts: 94
Joined: 2002-10-26 15:52

Re: SMTP-push-to-local Lösung over SSH ?

Post by metrix » 2003-12-20 14:16

hört sich nicht verkehrt an. müsste ich nur irgendwie sicherstellen, dass wenn einer meinen rooti knackt, dass der mir dann nicht über vpn in meinem lan rumgeistert ;-)

aber das mit der lokalen auslieferung musst du mir mal genauer erklären. ich kenne nur die sache mit den relay_domains und dem transport-eintrag.

lasse mich da aber gerne eines besseren belehren.

dodolin
RSAC
Posts: 4009
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: SMTP-push-to-local Lösung over SSH ?

Post by dodolin » 2003-12-20 16:45

aber das mit der lokalen auslieferung musst du mir mal genauer erklären.
Also bei Exim würde ich hierzu einfach einen zusätzlichen Router an der passenden Stelle in die Konfiguration einfügen, der (nur) die betreffenden Domains per festem Eintrag auf deinen Rechner @home routet (je nach Variante eben per DynDNS Eintrag oder per privater IP im VPN). Dann den/die MX Einträge nur auf den Rootserver zeigen lassen und dieser weiß dann, wo er die Mails weiter umzuleiten hat.

Ich bin mir ziemlich sicher, dass man auch in Postfix solche manuelle Transports einstellen kann, die halt nicht per MX Eintrag, sondern per fester Zuordnung ala Domain x -> weiter-routen zu Host y machen kann. Aber ich kenne mich mit Postfix zu wenig aus, als dass ich da Details nennen könnte. -> Doku/FAQ nachgucken.

metrix
Posts: 94
Joined: 2002-10-26 15:52

Re: SMTP-push-to-local Lösung over SSH ?

Post by metrix » 2003-12-20 17:39

ok, dann reden wir doch eigentlich vom selben ;-)

postfix nimmt die domains als relay_domains an und sendet sie anhand der angaben in der transport an einen beliebigen rechner weiter (dieser ist völlig unabhängig vom mx-eintrag)...

das einzigste doofe ist dann noch, das mein rooti dann alle emails annimmt auch für accounts die eigentlich "user unkown" sind ... aber dagegen wird man denke nichts machen können.

da ich mich in sachen vpn noch nicht groß beschäftigt habe, wollte ich mit http://openvpn.sourceforge.net/ den anfang wagen. oder sollte man da was anderes machen?

danke.

captaincrunch
Userprojekt
Userprojekt
Posts: 7225
Joined: 2002-10-09 14:30
Location: Dorsten

Re: SMTP-push-to-local Lösung over SSH ?

Post by captaincrunch » 2003-12-20 20:40

OpenVPN ist eine richtig nette Geschichte: sicher, aber bei weitem nicht so "aufgebläht" wie eine "reinrassige" IPSec-Lösung. Schau dir mal http://www.rootforum.org/forum/viewtopic.php?t=20371 dazu an, da hatte ich einen recht interessanten Link gepostetm, in dem verschiedene VPN-Lösungen unter die Lupe genommen wurden, wobei OpenVPN recht gut weggekommen ist.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

metrix
Posts: 94
Joined: 2002-10-26 15:52

Re: SMTP-push-to-local Lösung over SSH ?

Post by metrix » 2003-12-20 23:51

ok, dann denke werde ich mir was mit openvpn aufbauen und da alles blocken bis auf die eine connection auf port 25.

noch eine frage: gibt es irgendwie eine möglichkeit, dass mein postfix auf dem rooti erst mein postfix auf dsl fragt ob der user existiert, bevor es die email annimmt?

denke eher nicht - aber vllt habe ich was verpasst ;-)

dodolin
RSAC
Posts: 4009
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: SMTP-push-to-local Lösung over SSH ?

Post by dodolin » 2003-12-21 13:54

ok, dann reden wir doch eigentlich vom selben

postfix nimmt die domains als relay_domains an und sendet sie anhand der angaben in der transport an einen beliebigen rechner weiter (dieser ist völlig unabhängig vom mx-eintrag)...
Nein, das ist nicht dasselbe. ;)
Bei meiner Lösung werden die Domains in local_domains eingetragen und eben _nicht_ in relay_domains.
das einzigste doofe ist dann noch, das mein rooti dann alle emails annimmt auch für accounts die eigentlich "user unkown" sind ... aber dagegen wird man denke nichts machen können.
Doch. :)
noch eine frage: gibt es irgendwie eine möglichkeit, dass mein postfix auf dem rooti erst mein postfix auf dsl fragt ob der user existiert, bevor es die email annimmt?
Exim 4 könnte genau das machen. Nennt sich dort Callout/Call-Forward.

Falls Postfix das nicht kann, könnte es eventuell helfen, in dem dann einzurichtenden Router/Transport eine feste Liste von erlaubten Localparts dieser Domains zu hinterlegen (z.B. in einer Datei), sodass dieser eine Prüfung vornehmen kann. Das ist aber nur dann halbwegs praktikabel, wenn sich die Liste nicht so oft ändert...

metrix
Posts: 94
Joined: 2002-10-26 15:52

Re: SMTP-push-to-local Lösung over SSH ?

Post by metrix » 2003-12-21 19:41

trotz nachforschungen in der exim doku weiß ich noch immer nicht, was der unterschied zwischen deinem local_domains und meinem relay_domains sein soll.

jedenfalls scheint mir in der sache mein postfix leicht überfordert. muss ich mir wohl mal ein exim-buch kaufen ;-)

dodolin
RSAC
Posts: 4009
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: SMTP-push-to-local Lösung over SSH ?

Post by dodolin » 2003-12-22 11:37

trotz nachforschungen in der exim doku weiß ich noch immer nicht, was der unterschied zwischen deinem local_domains und meinem relay_domains sein soll.
Dazu musst du keine Exim-Doku nehmen, das kann jeder MTA.
local_domains sind die Domains, für die sich ein MTA local zuständig fühlt, die er also lokal ausliefern will. relay_domains sind die Domains, für die er Backup-MX ist und die daher also gerade *nicht* lokal ausgeliefert werden. Jetzt klarer? Ich dachte eigentlich, das wäre Grundlagenwissen, das man bei einem Postmaster voraussetzen kann... :)

metrix
Posts: 94
Joined: 2002-10-26 15:52

Re: SMTP-push-to-local Lösung over SSH ?

Post by metrix » 2003-12-22 12:09

aber bei local_domains kann postfix die aber nur entweder in lokale postfächer stecken oder an eine andere email-adresse weiterleiten. jedoch nich an einen anderen host.

deshalb verstehe ich local_domains in verbindung mit meinem problem net ;-)

dodolin
RSAC
Posts: 4009
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: SMTP-push-to-local Lösung over SSH ?

Post by dodolin » 2003-12-22 12:36

aber bei local_domains kann postfix die aber nur entweder in lokale postfächer stecken oder an eine andere email-adresse weiterleiten. jedoch nich an einen anderen host.
Nunja, mit dem entsprechenden Router/Transport-Eintrag geht das zumindest mit Exim. Wenn das mit Postfix nicht geht, ok. Dann nehme ich alles zurück.

rootmaster
RSAC
Posts: 536
Joined: 2002-04-28 13:30
Location: Hannover

Re: SMTP-push-to-local Lösung over SSH ?

Post by rootmaster » 2003-12-22 17:00

andere möglichkeit:
das gute alte uucp (auch über ssh tunnelbar) ;)

siehe zb.
http://jimsun.linxnet.com/jdp/uucp_over_tcp/index.html

"back to the roots"