Volker Kuhlmann wrote:
Danke!
Wie kann ich postfix so einzwängen, daß es Mail niemals an andere Rechner als localhost ausliefert? Das ist auch ein Sicherheitsproblem. Man braucht einen lokalen MTA zB für Mails von cron, aber außerhalb der eigenen CPU sollte das direkt abgesägt werden. Eigentlich sollte das auch die Voreinstellung auf SUSE sein - wenn man mehr haben will, sollte man das ausdrücklich einschalten müssen. Insbesondere, wenn SuSEfirewall2 auch überhaupt keine Ausgangsfilterung kann (genauso wie der meistgebrauchte Firewall - ipcop). Postfix selber ist bestimmt nicht das Sicherheitsproblem, eher der Apache oder die php/perl-Scripte, die darauf laufen. Mit "inet_interfaces = localhost" lauscht Postfix nur auf localhost und kann keine Mails aus dem Netzwerk annehmen.
Wer sagt denn, daß es sich hier um einen Server handelt? Und nicht zB um ein Büro, bei dem ich nicht will, daß Arbeitsplatzrechner nach weltweit.net:25 loslegen? (Ok das wird dann auch per Firewall erledigt, aber darum geht es hier nicht.)
Du packst das Problem auch wieder auf der Eingangsseite an. Was nach postfix reingeht, ist mir erst mal gleich, und läßt sich mit inet_interfaces=localhost regeln. Ich will postfix's Aktivitäten auf localhost beschränken, und zwar besonders für den Ausgang.
Äh, hallo...?!? Es ist eigentlich das normale Schema, das Übel an der Wurzel anzupacken und nicht zu versuchen, sich mit Symptomen herumzuprügeln. Was machst du mit einer Mail, die schon eingeliefert wurde, aber nicht nach localhost geht? Soll diese automatisch gelöscht werden, auf HOLD gesetzt werden, zu einer Admin-Adresse umgeleitet werden? Bist du der einzige Anwender auf diesem PC oder können auch andere darauf arbeiten?
Wenn du dann noch "authorized_submit_users = !wwwrun, static:anyone" setzt, darf der Webserver auch nicht Mails an Postfix über die Kommandozeile schicken. Alternativ setze hier nur die user, die Mails einliefern dürfen.
Das beschränkt den Eingang, aber nicht den Ausgang nach weltweit.net:25.
mydestination = localhost myorigin = localdomain.intern smtpd_recipient_restrictions = reject_unauth_destination
Das beschränkt leider noch nicht einmal den Eingang für alles, was nicht nach localhost geht. Ich habe
authorized_submit_users = !wwwrun, static:anyone inet_interfaces = localhost mydestination = localhost.$mydomain, localhost mydomain = site myhostname = localhost mynetworks_style = host myorigin = localhost relayhost = smtpd_client_restrictions = permit_inet_interfaces, reject_unknown_client_hostname smtpd_helo_required = yes smtpd_helo_restrictions = reject_invalid_helo_hostname, reject_unknown_helo_hostname smtpd_recipient_restrictions = reject_unauth_destination
Bitte mal Ausgabe von "postconf -n". Eines solltest du auf jeden Fall beachten: - Mails, die über die Kommandozeile eingeliefert werden (mail, /usr/sbin/sendmail etc.) laufen nicht über die normalen smtpd_*_restrictions. Schließlich wird ja auch kein SMTP verwendet zur Einlieferung. Alle per SMTP eingehenden Mails kannst du sehr wirksam und fein granuliert mit den restrictions regulieren. Wenn die Mails über die Kommandozeile eingeliefert werden, dann beschränke die Erlaubnis mit authorized_submit_users auf die notwendigen Daemons (NICHT static:anyone). Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org