9.1: Postfix: keine externen Mails erlauben
Wie konfiguriere ich es am besten, dass postfix nur intern im lokalen LAN, aber nicht extern versenden darf? (Zum Versenden der externen Mails soll ein SMTP-Server des ISP verwendet werden.) Al
Am Freitag, 21. Mai 2004 19:31 schrieb Al Bogner:
Wie konfiguriere ich es am besten, dass postfix nur intern im lokalen LAN, aber nicht extern versenden darf? (Zum Versenden der externen Mails soll ein SMTP-Server des ISP verwendet werden.)
disable_dns_lookups = yes relayhost = [mail.isp.tld] -- Andreas
Am Freitag, 21. Mai 2004 19:37 schrieb Andreas Winkelmann:
Am Freitag, 21. Mai 2004 19:31 schrieb Al Bogner:
Wie konfiguriere ich es am besten, dass postfix nur intern im lokalen LAN, aber nicht extern versenden darf? (Zum Versenden der externen Mails soll ein SMTP-Server des ISP verwendet werden.)
disable_dns_lookups = yes relayhost = [mail.isp.tld]
Ist in diesem Fall der lokale bind9 kontraproduktiv? Folgendes Mail
kam an:
echo "Test" | mail -s "Das Mail sollte geblockt werden-"`date
+%y-%m-%dc no-spam@un04q2-nospam.pinguin.uni.cc
May 21 20:38:52 gw postfix/pickup[4666]: A2C2E1B3B7: uid=1000
from=
Am Freitag, 21. Mai 2004 20:49 schrieb Al Bogner:
Wie konfiguriere ich es am besten, dass postfix nur intern im lokalen LAN, aber nicht extern versenden darf? (Zum Versenden der externen Mails soll ein SMTP-Server des ISP verwendet werden.)
disable_dns_lookups = yes relayhost = [mail.isp.tld]
Ist in diesem Fall der lokale bind9 kontraproduktiv? Folgendes Mail
Für SMTP ja.
kam an:
echo "Test" | mail -s "Das Mail sollte geblockt werden-"`date +%y-%m-%dc no-spam@un04q2-nospam.pinguin.uni.cc
May 21 20:39:05 gw postfix/smtp[7490]: 396E81B3C6: to=
, relay=un04q2-nospam.pinguin.uni.cc[64.191.111.75], delay=1, status=sent (250 OK id=1BREvE-0002HE-2q)
... wird direkt ausgeliefert, weil ...
relayhost =
-- Andreas
Am Freitag, 21. Mai 2004 21:13 schrieb Andreas Winkelmann:
Am Freitag, 21. Mai 2004 20:49 schrieb Al Bogner:
Wie konfiguriere ich es am besten, dass postfix nur intern im lokalen LAN, aber nicht extern versenden darf? (Zum Versenden der externen Mails soll ein SMTP-Server des ISP verwendet werden.)
disable_dns_lookups = yes relayhost = [mail.isp.tld]
Ist in diesem Fall der lokale bind9 kontraproduktiv? Folgendes Mail
Für SMTP ja.
Was kann man dann tun, um Mails zu unterbinden? Einen falschen relayhost eintragen?
... wird direkt ausgeliefert, weil ...
relayhost =
Ein gültiger relayhost liefert auch aus. Al
Am Freitag, 21. Mai 2004 21:48 schrieb Al Bogner:
Wie konfiguriere ich es am besten, dass postfix nur intern im lokalen LAN, aber nicht extern versenden darf? (Zum Versenden der externen Mails soll ein SMTP-Server des ISP verwendet werden.)
disable_dns_lookups = yes relayhost = [mail.isp.tld]
Ist in diesem Fall der lokale bind9 kontraproduktiv? Folgendes Mail
Für SMTP ja.
Was kann man dann tun, um Mails zu unterbinden?
Einen falschen relayhost eintragen?
... wird direkt ausgeliefert, weil ...
relayhost =
Ein gültiger relayhost liefert auch aus.
Hmm, sorry. Hatte ich wohl falsch verstanden. Willst Du gar keine Mail naqch ausse schicken oder nur bestimmte nicht? -- Andreas
Am Freitag, 21. Mai 2004 21:53 schrieb Andreas Winkelmann:
Am Freitag, 21. Mai 2004 21:48 schrieb Al Bogner:
Wie konfiguriere ich es am besten, dass postfix nur intern im lokalen LAN, aber nicht extern versenden darf? (Zum Versenden der externen Mails soll ein SMTP-Server des ISP verwendet werden.)
disable_dns_lookups = yes relayhost = [mail.isp.tld]
Ist in diesem Fall der lokale bind9 kontraproduktiv? Folgendes Mail
Für SMTP ja.
Was kann man dann tun, um Mails zu unterbinden?
Einen falschen relayhost eintragen?
... wird direkt ausgeliefert, weil ...
relayhost =
Ein gültiger relayhost liefert auch aus.
Hmm, sorry. Hatte ich wohl falsch verstanden. Willst Du gar keine Mail naqch ausse schicken oder nur bestimmte nicht?
Ich will _keine_ Mails via _Postfix_ nach außen versenden. Nach außen gehende Mails müssen einen fremden SMTP-Server _direkt_ versenden. Wenn ich also mit KMail ein Mail an die ML sende, dann ist in KMail als SMTP-Server mail.ml04q2.pinguin.uni.cc mit Authentifizierung eingestellt. Al
Am Freitag, 21. Mai 2004 22:09 schrieb Al Bogner:
Ich will _keine_ Mails via _Postfix_ nach außen versenden. Nach außen gehende Mails müssen einen fremden SMTP-Server _direkt_ versenden.
Wenn ich also mit KMail ein Mail an die ML sende, dann ist in KMail als SMTP-Server mail.ml04q2.pinguin.uni.cc mit Authentifizierung eingestellt.
Dann solltest Du die Mails gar nicht erst annehmen: smtpd_recipient_restrictions = reject_unauth_destination Ansonsten würde mir spontan nur eine access-map (man 5 access) mit der Du alle Mails nach nem bestimmten Muster DISCARD'est. Als Muster dann alles was nicht lokal ist, sollte mit pcre (man 5 pcre_table) oder regex (man 5 regexp_table) recht einfach möglich sein. Oder eine Weiterleitung per pipe (man 8 pipe) in der master.cf nach /dev/null. -- Andreas
Am Freitag, 21. Mai 2004 22:33 schrieb Andreas Winkelmann:
Am Freitag, 21. Mai 2004 22:09 schrieb Al Bogner:
Ich will _keine_ Mails via _Postfix_ nach außen versenden. Nach außen gehende Mails müssen einen fremden SMTP-Server _direkt_ versenden.
Wenn ich also mit KMail ein Mail an die ML sende, dann ist in KMail als SMTP-Server mail.ml04q2.pinguin.uni.cc mit Authentifizierung eingestellt.
Dann solltest Du die Mails gar nicht erst annehmen:
smtpd_recipient_restrictions = reject_unauth_destination
Das blockt dann auch interne Mails:
Diagnostic-Code: X-Postfix; host 127.0.0.1[127.0.0.1] said: 554
5.1.0
Am Freitag, 21. Mai 2004 23:12 schrieb Al Bogner:
Ich will _keine_ Mails via _Postfix_ nach außen versenden. Nach außen gehende Mails müssen einen fremden SMTP-Server _direkt_ versenden.
Wenn ich also mit KMail ein Mail an die ML sende, dann ist in KMail als SMTP-Server mail.ml04q2.pinguin.uni.cc mit Authentifizierung eingestellt.
Dann solltest Du die Mails gar nicht erst annehmen:
smtpd_recipient_restrictions = reject_unauth_destination
Das blockt dann auch interne Mails:
Was bitte heisst denn "interne" Mail? Es blockt alle Mails, für die Postfix sich nicht zuständig fühlt. Also was nicht in mydestination, relay_domains, virtual_*_domains, etc auftaucht. Wo bzw. wer ist denn "client3.local" bei Dir?
Diagnostic-Code: X-Postfix; host 127.0.0.1[127.0.0.1] said: 554 5.1.0
: Relay access denied (in reply to end of DATA command)
-- Andreas
Am Samstag, 22. Mai 2004 10:39 schrieb Andreas Winkelmann:
smtpd_recipient_restrictions = reject_unauth_destination
Das blockt dann auch interne Mails:
Was bitte heisst denn "interne" Mail?
Interne Mails, sind Mails, die im lokalen Netzwerk versendet werden. Konkret, Mails, die im Bereich 192.168.1.96/28 versandt werden.
Es blockt alle Mails, für die Postfix sich nicht zuständig fühlt. Also was nicht in mydestination, relay_domains, virtual_*_domains, etc auftaucht. Wo bzw. wer ist denn "client3.local" bei Dir?
Einer der Clients. IMHO ist das aber völlig egal. In der Regel wird Postfix _nur_ genutzt um Warnmeldungen aus Scripts mit mail/nail an einen Rechner im Netz 192.168.1.96/28 zu versenden. Stellt zB ein Script am Rechner gw (Gateway) fest, dass keine Internetverbindung möglich ist, dann wird durch das Script eine Nachricht an client3 gesendet, dass dies so ist. Al
Am Samstag, 22. Mai 2004 11:08 schrieb Al Bogner:
smtpd_recipient_restrictions = reject_unauth_destination
Das blockt dann auch interne Mails:
Was bitte heisst denn "interne" Mail?
Interne Mails, sind Mails, die im lokalen Netzwerk versendet werden. Konkret, Mails, die im Bereich 192.168.1.96/28 versandt werden.
Davon weiss Postfix aber nix. Für einen MTA ist eine Mail, die nicht für ihn selber bestimmt ist ein relay-versuch.
Es blockt alle Mails, für die Postfix sich nicht zuständig fühlt. Also was nicht in mydestination, relay_domains, virtual_*_domains, etc auftaucht. Wo bzw. wer ist denn "client3.local" bei Dir?
Einer der Clients. IMHO ist das aber völlig egal.
In der Regel wird Postfix _nur_ genutzt um Warnmeldungen aus Scripts mit mail/nail an einen Rechner im Netz 192.168.1.96/28 zu versenden. Stellt zB ein Script am Rechner gw (Gateway) fest, dass keine Internetverbindung möglich ist, dann wird durch das Script eine Nachricht an client3 gesendet, dass dies so ist.
Dann teile Postfix mit, dass er Mails an "client3.local" annehmen soll (relay_domains) und am besten auch einen entsprechenden transport-eintrag wo er das Ziel dazu findet. Sonst kann er nicht unterscheiden, welche Mails jetzt an die grosse weite Welt gehen sollen oder an das lokale LAN. -- Andreas
Am Samstag, 22. Mai 2004 12:07 schrieb Andreas Winkelmann:
Davon weiss Postfix aber nix. Für einen MTA ist eine Mail, die nicht für ihn selber bestimmt ist ein relay-versuch.
Dann teile Postfix mit, dass er Mails an "client3.local" annehmen soll (relay_domains) und am besten auch einen entsprechenden transport-eintrag wo er das Ziel dazu findet.
Danke, mit relay_domains = client2.local,client3.local smtpd_recipient_restrictions = reject_unauth_destination scheint es so zu funktionieren, wie ich möchte. Was meinst du mit "Transport-Eintrag"? Al
Am Samstag, 22. Mai 2004 13:01 schrieb Al Bogner:
Davon weiss Postfix aber nix. Für einen MTA ist eine Mail, die nicht für ihn selber bestimmt ist ein relay-versuch.
Dann teile Postfix mit, dass er Mails an "client3.local" annehmen soll (relay_domains) und am besten auch einen entsprechenden transport-eintrag wo er das Ziel dazu findet.
Danke, mit
relay_domains = client2.local,client3.local smtpd_recipient_restrictions = reject_unauth_destination
scheint es so zu funktionieren, wie ich möchte.
Was meinst du mit "Transport-Eintrag"?
Eine Tabelle in der Du angibst, welche Domain zu welchem MTA zugestellt werden soll z.B. client2.local smtp:[client2.local] client3.local smtp:[client3.local] Siehe auch "man 5 transport". Interessant, wenn es mit dem DNS-Eintrag nicht funktioniert. Wenn es aber bei Dir geht, brauchst Du die nicht. -- Andreas
Am Samstag, 22. Mai 2004 13:38 schrieb Andreas Winkelmann:
Interessant, wenn es mit dem DNS-Eintrag nicht funktioniert. Wenn es aber bei Dir geht, brauchst Du die nicht.
Ok, dann lasse ich das mal so. Gibt es noch eine einfache Möglichkeit per email darüber informiert zu werden, wenn ein unerlaubter relay-Versuch gestartet wurde? Natürlich könnte man /var/log/mail auswerten. Wenn keine lokale Absender-Adresse angegeben wurde, dann bounct auch die "Bounce-Info". Ich habe keine Ahnung warum ich damals unerklärliche (harmlose) Mails in der Mail-Queue hatte, aber vielleicht komme ich so dahinter, falls das unter 9.1 auch einmal passiert. Al
Am Samstag, 22. Mai 2004 14:01 schrieb Al Bogner:
Interessant, wenn es mit dem DNS-Eintrag nicht funktioniert. Wenn es aber bei Dir geht, brauchst Du die nicht.
Ok, dann lasse ich das mal so. Gibt es noch eine einfache Möglichkeit per email darüber informiert zu werden, wenn ein unerlaubter relay-Versuch gestartet wurde? Natürlich könnte man /var/log/mail auswerten. Wenn keine lokale Absender-Adresse angegeben wurde, dann bounct auch die "Bounce-Info".
error_notice_recipient = postmaster (Sollte default sein) notify_classes = policy, resource, software (policy sollte das machen, die anderen sind default) Dann bekommt der postmaster eine Info.
Ich habe keine Ahnung warum ich damals unerklärliche (harmlose) Mails in der Mail-Queue hatte, aber vielleicht komme ich so dahinter, falls das unter 9.1 auch einmal passiert.
Bei sowas kann man im Log recht gut nachschauen wo die Mail herkam. -- Andreas
Am Samstag, 22. Mai 2004 14:48 schrieb Andreas Winkelmann:
Gibt es noch eine einfache Möglichkeit per email darüber informiert zu werden, wenn ein unerlaubter relay-Versuch gestartet wurde? Natürlich könnte man /var/log/mail auswerten. Wenn keine lokale Absender-Adresse angegeben wurde, dann bounct auch die "Bounce-Info".
error_notice_recipient = postmaster
(Sollte default sein)
In meiner ganzen main.cf fand ich nichts zu "error_notice_recipient"
notify_classes = policy, resource, software
Ich habe die beiden Einträge gemacht und es funktioniert. Danke Andreas, du warst mir wieder mal eine sehr wertvolle Hilfe!
Bei sowas kann man im Log recht gut nachschauen wo die Mail herkam.
Manchmal ist es aber sehr schwer zu finden. Ab nun gibt es ein Mail, wenn irgendwer / -was über postfix zu senden versucht :-) Al
Am Samstag, 22. Mai 2004 15:41 schrieb Al Bogner:
Gibt es noch eine einfache Möglichkeit per email darüber informiert zu werden, wenn ein unerlaubter relay-Versuch gestartet wurde? Natürlich könnte man /var/log/mail auswerten. Wenn keine lokale Absender-Adresse angegeben wurde, dann bounct auch die "Bounce-Info".
error_notice_recipient = postmaster
(Sollte default sein)
In meiner ganzen main.cf fand ich nichts zu "error_notice_recipient"
Es gibt für jede Option default-werte. Wenn eine Option in der main.cf nicht angegeben wird, wird der default benutzt. Wie dieser ist, kannst Du z.B. mit: # postconf -d error_notice_recipient herausfinden.
notify_classes = policy, resource, software
Ich habe die beiden Einträge gemacht und es funktioniert. Danke Andreas, du warst mir wieder mal eine sehr wertvolle Hilfe!
Bei sowas kann man im Log recht gut nachschauen wo die Mail herkam.
Manchmal ist es aber sehr schwer zu finden. Ab nun gibt es ein Mail, wenn irgendwer / -was über postfix zu senden versucht :-)
Jede Mail in der Queue hat eine Queue-Id. Mit grep kannst Du im Mail-Log danach suchen und siehst im ersten Eintrag wo die Mail herkam. -- Andreas
Am Freitag, 21. Mai 2004 22:09 schrieb Al Bogner:
Am Freitag, 21. Mai 2004 21:53 schrieb Andreas Winkelmann:
Am Freitag, 21. Mai 2004 21:48 schrieb Al Bogner:
> Wie konfiguriere ich es am besten, dass postfix nur > intern im lokalen LAN, aber nicht extern versenden > darf? (Zum Versenden der externen Mails soll ein > SMTP-Server des ISP verwendet werden.)
[...]
Ich will _keine_ Mails via _Postfix_ nach außen versenden. Nach außen gehende Mails müssen einen fremden SMTP-Server _direkt_ versenden.
Wenn ich also mit KMail ein Mail an die ML sende, dann ist in KMail als SMTP-Server mail.ml04q2.pinguin.uni.cc mit Authentifizierung eingestellt.
Dann duerfte aber Dein Postfix die Mails gar nicht zu Gesicht bekommen. ;) Oder es ist im KMail nicht korrekt eingestellt. Bei dem KMail-Einstellungen gibt es doch eine Einstellung 'Spezielle Versandart' unter 'Identitaeten'->'Extra'. Da muesste das zu konfigurieren sein. hth, Andreas.
Am Samstag, 22. Mai 2004 00:12 schrieb Andreas Scherer:
Am Freitag, 21. Mai 2004 22:09 schrieb Al Bogner:
Am Freitag, 21. Mai 2004 21:53 schrieb Andreas Winkelmann:
Am Freitag, 21. Mai 2004 21:48 schrieb Al Bogner:
> > Wie konfiguriere ich es am besten, dass postfix nur > > intern im lokalen LAN, aber nicht extern versenden > > darf? (Zum Versenden der externen Mails soll ein > > SMTP-Server des ISP verwendet werden.)
[...]
Ich will _keine_ Mails via _Postfix_ nach außen versenden. Nach außen gehende Mails müssen einen fremden SMTP-Server _direkt_ versenden.
Wenn ich also mit KMail ein Mail an die ML sende, dann ist in KMail als SMTP-Server mail.ml04q2.pinguin.uni.cc mit Authentifizierung eingestellt.
Dann duerfte aber Dein Postfix die Mails gar nicht zu Gesicht bekommen. ;) Oder es ist im KMail nicht korrekt eingestellt.
Bekommt Postfix auch nicht für ausgehende Mails. Es geht darum,. dass Postfix grundsätzlich nicht außen senden soll, weil kein Bedarf besteht. (Grund: Siehe Thread "Postfix: Woher kommt diese Mail queue"). Al
participants (3)
-
Al Bogner
-
Andreas Scherer
-
Andreas Winkelmann