SMTP-push-to-local Lösung over SSH ?
SMTP-push-to-local Lösung over SSH ?
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.
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.
Re: SMTP-push-to-local Lösung over SSH ?
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.
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.
Re: SMTP-push-to-local Lösung over SSH ?
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.
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.
Re: SMTP-push-to-local Lösung over SSH ?
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.aber das mit der lokalen auslieferung musst du mir mal genauer erklären.
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.
Re: SMTP-push-to-local Lösung over SSH ?
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.
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

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: SMTP-push-to-local Lösung over SSH ?
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
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: SMTP-push-to-local Lösung over SSH ?
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 ;-)
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 ;-)
Re: SMTP-push-to-local Lösung over SSH ?
Nein, das ist nicht dasselbe. ;)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)...
Bei meiner Lösung werden die Domains in local_domains eingetragen und eben _nicht_ in relay_domains.
Doch. :)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.
Exim 4 könnte genau das machen. Nennt sich dort Callout/Call-Forward.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?
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...
Re: SMTP-push-to-local Lösung over SSH ?
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 ;-)
jedenfalls scheint mir in der sache mein postfix leicht überfordert. muss ich mir wohl mal ein exim-buch kaufen ;-)
Re: SMTP-push-to-local Lösung over SSH ?
Dazu musst du keine Exim-Doku nehmen, das kann jeder MTA.trotz nachforschungen in der exim doku weiß ich noch immer nicht, was der unterschied zwischen deinem local_domains und meinem relay_domains sein soll.
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... :)
Re: SMTP-push-to-local Lösung over SSH ?
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 ;-)
deshalb verstehe ich local_domains in verbindung mit meinem problem net ;-)
Re: SMTP-push-to-local Lösung over SSH ?
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.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.
-
rootmaster
- Posts: 483
- Joined: 2002-04-28 13:30
- Location: Hannover
Re: SMTP-push-to-local Lösung over SSH ?
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"
das gute alte uucp (auch über ssh tunnelbar) ;)
siehe zb.
http://jimsun.linxnet.com/jdp/uucp_over_tcp/index.html
"back to the roots"