Postfix-Konfiguration

Hallo zusammen,

jetzt hätte ich mal eine Frage bezüglich Postfix. :wink:
Ich hab mich jetzt schon seit mehr als einer Stunde durch die Dokumentation/Konfiguration durchgearbeitet und rumprobiert, Postfix bisher aber leider noch nicht so konfiguriert bekommen wie ich es mir vorstelle.

Ich will folgendes haben:
Mail soll von _lokalen_ Benutzern (per mutt) ohne Beschränkung in alle Welt verschickt und empfangen werden können, das Einloggen per Telnet und Verschicken von Hand in alle Welt soll von aussen (also von Leuten hier im Netzwerk) jedoch nicht möglich sein, sondern nur wenn die Zieladresse eine lokale Adresse ist.
Wenn ich das richtig sehe, lässt sich ein anmeldender SMTP Server ja nicht von einem mißbrauchenden Dritten unterscheiden, oder?
D.h. Mails an lokale Bentzer werden immer ausgeliefert?
Wenn das doch geht wärs natürlich noch besser - dann kann wirklich niemand mehr den SMTP Server mißbrauchen.

Ich will keine „Musterkonfiguration“ haben, Tipps mit welchen Parametern und Optionen ich meine Umgebung so einrichten kann reichen mir schon.

Vielen Dank für eventuelle Antworten und Grüsse,
Andreas

Hallo Andreas,

jetzt hätte ich mal eine Frage bezüglich Postfix. :wink:
Ich hab mich jetzt schon seit mehr als einer Stunde durch die
Dokumentation/Konfiguration durchgearbeitet

da ist Dir dann sicherlich der Parameter mynetworks aufgefallen.

Ich will folgendes haben:
Mail soll von _lokalen_ Benutzern (per mutt) ohne Beschränkung
in alle Welt verschickt und empfangen werden können, das
Einloggen per Telnet und Verschicken von Hand in alle Welt
soll von aussen (also von Leuten hier im Netzwerk) jedoch
nicht möglich sein, sondern nur wenn die Zieladresse eine
lokale Adresse ist.

Siehe mynetworks. Hier stehen die Clients drin, die relayen also an andere Rechner Mails verschicken dürfen. Nun musst Du dich noch fragen, welche/r Rechner Mails in die ganze Welt verschicken darf und den dort eintragen. Alle anderen Rechner dürfen dann nur lokal verschicken.

Grüße
Martin

Hallo Martin,

Siehe mynetworks. Hier stehen die Clients drin, die relayen
also an andere Rechner Mails verschicken dürfen.

? Also wie ich das sehe stehen da keine Clients drinnen, sondern
Netzwerke und wie gesagt will ich ja eben nicht, dass irgendein Client meinen Rechner zum Mailverschicken benutzt. Nur lokalen Benutzern soll das gestattet sein.

Nun musst Du
dich noch fragen, welche/r Rechner Mails in die ganze Welt
verschicken darf und den dort eintragen.

Nochmal ?: Wieso welche Rechner? - lokale _Benutzer_ sollen verschicken können und jeder „fremde“ Rechner im Netzwerk nicht bis auf andere SMTP Server, die Mails für lokale Benutzer ausliefern müssen. Und da ist eben die Frage, ob man diese beiden unterscheiden kann, so dass u.U. wirklich nur noch fremde SMTP Server relayen können…

Alle anderen Rechner
dürfen dann nur lokal verschicken.

? Wie verschicken _Rechner_ lokal Mails?

Grüsse,
Andreas

jetzt hätte ich mal eine Frage bezüglich Postfix. :wink:

Ich bin ja eher qmail belastet und kenne Postfix nicht wirklich. [Missionsversuch: nimm qmail…]

Ich hab mich jetzt schon seit mehr als einer Stunde durch die
Dokumentation/Konfiguration durchgearbeitet und rumprobiert,
Postfix bisher aber leider noch nicht so konfiguriert bekommen
wie ich es mir vorstelle.

Ich will folgendes haben:
Mail soll von _lokalen_ Benutzern (per mutt) ohne Beschränkung
in alle Welt verschickt und empfangen

Aha. Empfangen? Dann brauchst Du einen laufenden SPTP-Server.

werden können, das
Einloggen per Telnet

Was meinst Du mit „Einloggen per Telnet“?

‚telnet mail.bulling.de 25‘?

und Verschicken von Hand in alle Welt
soll von aussen (also von Leuten hier im Netzwerk) jedoch
nicht möglich sein, sondern nur wenn die Zieladresse eine
lokale Adresse ist.

Ja, so gehört sich das.

Wenn ich das richtig sehe, lässt sich ein anmeldender SMTP

Wer spricht hier von „anmeldend“ oder was meinst Du damit?

Server ja nicht von einem mißbrauchenden Dritten
unterscheiden, oder?

?

Definiere „Mißbrauch“.

D.h. Mails an lokale Bentzer werden immer ausgeliefert?

Ja. Wenn ich Dich richtig verstanden habe (und Du keine Filter nimmst).

Wenn das doch geht wärs natürlich noch besser - dann kann
wirklich niemand mehr den SMTP Server mißbrauchen.

Ich verstehe nicht, was Du nun willst. Keine Ahnung, aber es klingt nach einer ganz gängigen Konfiguration, die unter Postfix vermutlich Default ist.

Ich will keine „Musterkonfiguration“ haben, Tipps mit welchen
Parametern und Optionen ich meine Umgebung so einrichten kann
reichen mir schon.

Hm. Ich würde mal mit den gängigen RFCs anfangen. „mynetworks“ wurde Dir ja schon genannt.

Unter qmail wären die Dateien „/var/qmail/control/rcpthosts“ „/var/qmail/control/locals“ und ggfs „/var/qmail/control/virtualdomais“ das, was Du vermutlich suchst. Und die entsprechenden (.cdb-)Dateien von tcpserver…

Sebastian

Hallo Andreas,

Netzwerke und wie gesagt will ich ja eben nicht, dass
irgendein Client meinen Rechner zum Mailverschicken benutzt.
Nur lokalen Benutzern soll das gestattet sein.

Der lokale Rechner hat ein Netzwerk und zwar 127.0.0.0/8
Wenn Du diese Adresse nimmst, dann können nur lokal auf dem Rechner angemeldete Benutzer über den Rechner Mails verschicken.
Mails, die an deine Domain geschickt werden (auch über Telnet) nimmt der Mailserver weiterhin an. Es ist also möglich sich von einem anderen Rechner per Telnet auf dem Mailserver anzumelden und Mails an deine Domain zu schicken. Ein Verschicken an andere Domains ist per Telnet so nicht möglich, da der Client nicht berechtigt ist den Server als Relay zu benutzen.

Nochmal ?: Wieso welche Rechner? - lokale _Benutzer_ sollen
verschicken können und jeder „fremde“ Rechner im Netzwerk
nicht bis auf andere SMTP Server, die Mails für lokale
Benutzer ausliefern müssen. Und da ist eben die Frage, ob man
diese beiden unterscheiden kann, so dass u.U. wirklich nur
noch fremde SMTP Server relayen können…

Fremde SMTP Server sollten deinen STMP grundsätzlich nicht als Relay (Weiterleitung) nutzen dürfen.

Grüße
Martin

Hallo Martin,

Der lokale Rechner hat ein Netzwerk und zwar 127.0.0.0/8
Wenn Du diese Adresse nimmst, dann können nur lokal auf dem
Rechner angemeldete Benutzer über den Rechner Mails
verschicken.
Mails, die an deine Domain geschickt werden (auch über Telnet)
nimmt der Mailserver weiterhin an. Es ist also möglich sich
von einem anderen Rechner per Telnet auf dem Mailserver
anzumelden und Mails an deine Domain zu schicken. Ein
Verschicken an andere Domains ist per Telnet so nicht möglich,
da der Client nicht berechtigt ist den Server als Relay zu
benutzen.

Super, genau so wollte ich es haben!
Vielen Dank für deine Hilfe und Grüsse,
Andreas

Ich bin ja eher qmail belastet und kenne Postfix nicht
wirklich. [Missionsversuch: nimm qmail…]

Wenn ich mich dann irgendwann mit Postfix auskenne, werd ich als nächstes qmail ausprobieren, versprochen. :wink:

Aha. Empfangen? Dann brauchst Du einen laufenden SPTP-Server.

jep, postfix - laufen tut er :wink:

Was meinst Du mit „Einloggen per Telnet“?

‚telnet mail.bulling.de 25‘?

exakt, und dann eben die MAIL FROM:… RCPT TO Geschichte.

Wer spricht hier von „anmeldend“ oder was meinst Du damit?

Server ja nicht von einem mißbrauchenden Dritten
unterscheiden, oder?

Na ja, ich meine folgendes:
Es gibt doch grundsätzlich zwei Anfrage"typen", die mein SMTP Server „nach aussen“ (also nicht von einem lokalen Benutzer selbst) zu beantworten hat:

  1. Anfragen anderer Mailserver, die Mails an [email protected] schicken wollen, wenn mein Server verantwortlich für die Domain meinedomain.de ist.
  2. Eben Anfragen von Leuten, die sich mittels Telnet auf meinem Server einloggen und dann Mails direkt von der Kommandozeile verschicken (das sind die Mißbrauchsfälle, die ich meinte).
    Mir ist klar, dass direkter SMTP-to-SMTP Relay im Prinzip das gleich ist, nur automatisch.

Da war eben die Frage, ob man diese beiden Typen irgendwie unterscheiden kann oder ob ich es nicht verhindern kann, dass
irgendwelche Leute Mails an lokale Benutzer verschicken und u.U. sogar meine Mailbox flooden. *grübel* Das muss doch gehen, sonst wäre da doch eine wunderbare DoS Attacke möglich *nochmal grübel* Vielleicht die explizite Angabe, welche IPs Mails an meinem Server abliefern dürfen? @Martin?

Ich verstehe nicht, was Du nun willst. Keine Ahnung, aber es
klingt nach einer ganz gängigen Konfiguration, die unter
Postfix vermutlich Default ist.

Kann sein, da hab ich auch keine Ahnung. Ich verlass mich aber grundsätzlich nicht auf die Defaultkonfiguration, sondern richte alle Server und Dienste von Hand ein. So eben auch Postfix und da ich da nicht weitergekommen bin…

Unter qmail wären die Dateien „/var/qmail/control/rcpthosts“
„/var/qmail/control/locals“ und ggfs
„/var/qmail/control/virtualdomais“ das, was Du vermutlich
suchst. Und die entsprechenden (.cdb-)Dateien von tcpserver…

OK, OK überredet - auf meinem anderen System werd ich sobald als möglich qmail ausprobieren… :wink:)

Danke für deine Hilfe und Grüsse,
Andreas

Ergänzung…

Ich verstehe nicht, was Du nun willst. Keine Ahnung, aber es
klingt nach einer ganz gängigen Konfiguration, die unter
Postfix vermutlich Default ist.

Bin gerade dem Tipp von Martin nachgegangen und habe festgestellt, dass genau diese Konfiguration unter Postfix anscheinend _nicht_ Default ist.
Zwar soll sie das laut Konfigurationsdatei angeblich sein, Mailversand mittels Telnet an „öffentliche“ Domains funktioniert aber erst nach entsprechend gesetztem Parameter mynetworks nicht mehr.
Gut, dass wir verglichen haben… :wink:

Viele Grüsse,
Andreas

Da war eben die Frage, ob man diese beiden Typen irgendwie
unterscheiden kann oder ob ich es nicht verhindern kann, dass
irgendwelche Leute Mails an lokale Benutzer verschicken und
u.U. sogar meine Mailbox flooden. *grübel* Das muss doch
gehen, sonst wäre da doch eine wunderbare DoS Attacke möglich
*nochmal grübel* Vielleicht die explizite Angabe, welche IPs
Mails an meinem Server abliefern dürfen? @Martin?

Kenne mich zwar auch nicht wirklich mit postfix aus, aber schau dir mal smtpd_client_restrictions (http://www.postfix.org/uce.html) an. Damit kannst Du angeben welche Clients eine SMTP-Connection zu deinem Server aufbauen dürfen.

Grüße
Martin
*sendmailliebhaber*

Kenne mich zwar auch nicht wirklich mit postfix aus, aber
schau dir mal smtpd_client_restrictions
(http://www.postfix.org/uce.html) an. Damit kannst Du angeben
welche Clients eine SMTP-Connection zu deinem Server aufbauen
dürfen.

Danke - bin gerade dabei *les*

*sendmailliebhaber*

Wirklich? Na ja, Optionen bietet Sendmail in der Tat viele - da gibt es wohl keine Konfiguration, die man nicht irgendwie verwirklichen könnte…

Was meinst Du mit „Einloggen per Telnet“?

‚telnet mail.bulling.de 25‘?

exakt, und dann eben die MAIL FROM:… RCPT TO Geschichte.

Das ist „Kotaktaufnahme per SMTP auf Port 25“. Ja, das ist ein Unterschied.

Na ja, ich meine folgendes:
Es gibt doch grundsätzlich zwei Anfrage"typen", die mein SMTP
Server „nach aussen“ (also nicht von einem lokalen Benutzer
selbst) zu beantworten hat:

  1. Anfragen anderer Mailserver, die Mails an
    [email protected] schicken wollen, wenn mein Server
    verantwortlich für die Domain meinedomain.de ist.

Ja. Die wenden sich an Port 25 und reden SMTP. So wie Du es mit dem Programm „Telnet“ zu Fuß getan hast…

  1. Eben Anfragen von Leuten, die sich mittels Telnet auf
    meinem Server einloggen

„telnet mail.bulling.de 25“? Das ist kein einloggen. Genausowenig, wie der Abruf der Seite http://www.microsoft.com Einloggen ist.

und dann Mails direkt von der
Kommandozeile verschicken (das sind die Mißbrauchsfälle, die
ich meinte).

Kommandozeile ist das vermutlich nicht, was Du meinst. Das ist der SMTP-Dialog „zu Fuß“.

Kurz der Ablauf einer Prüfung:

Kontakt an Port 25.

  1. Geht die Mail an eine Adresse für die ich zuständig bin.

· Ja: annehmen und zustellen

· Nein: Er will, daß ich relaye, also weiter.

  1. Kommt die Anfrage von einer IP, die in meiner konfiguration zum Senden an beliebige Ansender („Relaying“) freigeschaltet wurde?

· Ja: annehmen und weitersenden

· Nein: Weiter

  1. Hat der Benutzer sonst irgendwie nachgewisen, daß er berechtigt ist, Relaying zu machen (zb: SMTP-After-POP)

· Ja: annehmen und weitersenden.

· Nein: Mail mit Fehlermeldung (5xx oder auch 4xx) ablehnen.

Mir ist klar, dass direkter SMTP-to-SMTP Relay im Prinzip das
gleich ist, nur automatisch.

?

Da war eben die Frage, ob man diese beiden Typen irgendwie
unterscheiden kann oder ob ich es nicht verhindern kann, dass
irgendwelche Leute Mails an lokale Benutzer verschicken und
u.U. sogar meine Mailbox flooden.

Nein, das kannst Du bei lokalen Mailbosen nicht ohne weiteres verhindern.

Stichwort „Teergrube“.

*grübel* Das muss doch
gehen, sonst wäre da doch eine wunderbare DoS Attacke möglich
*nochmal grübel* Vielleicht die explizite Angabe, welche IPs
Mails an meinem Server abliefern dürfen? @Martin?

Das kannst Du natürlich machen. Das ist ungefäher so sinnvoll wie ein Schild am Briefkasten

„nehme nur Briefe von Absendern mit durch 5 teilbarer Postleitzahl an“.

Also garnicht.

Ich verstehe nicht, was Du nun willst. Keine Ahnung, aber es
klingt nach einer ganz gängigen Konfiguration, die unter
Postfix vermutlich Default ist.

Kann sein, da hab ich auch keine Ahnung. Ich verlass mich aber
grundsätzlich nicht auf die Defaultkonfiguration, sondern
richte alle Server und Dienste von Hand ein.

Das ist lobenswert. Die 4 großen Mailserver haben aber mittlerweile eine zumindest annehmbare Default-Konfiguration.

So eben auch
Postfix und da ich da nicht weitergekommen bin…

Wie gesagt, ich halte Dein Vorhaben - so ich es richtig verstanden habe - für unsinnig.

OK, OK überredet - auf meinem anderen System werd ich sobald
als möglich qmail ausprobieren… :wink:)

Nein, zuerst mußt Du genau begreifen, wie Mail funktioniert.

Dann kansst Du mit Konzepten verschiedener Mailserver arbeiten.

Obwohl: zum Lernen ist qmail sehr anschaulich…

Sebastian