[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Exim 4] Untrusted users koennen Sender setzten [Solved]



Guten Tag!

On Sat, 20 Mar 2004 17:20:18 +0100, Simon Brandmair wrote:
> 
> On Sat, 20 Mar 2004 16:10:05 +0100, Christian Schmidt wrote:
>> Hallo Simon,
>> 
>> Simon Brandmair, 20.03.2004 (d.m.y):
>> 
>>> Nun dasselbe Spiel mit Balsa. Damit einfach eine Mail an
>>> postmaster@rosa.luebb24 schreiben, als Absender wieder foo@localhost
>>> eintragen. Und siehe da, postmaster bekommt eine Mail von foo@localhost.
>>> Ich kann also mit Balsa jeden beliebigen Sender setzten, *ohne* dass ich
>>> trusted user bin. Das sollte aber nicht funktionieren, oder?
>> 
>> Ob die "untrusted"-Eintraege der exim.conf greifen oder nicht, duerfte
>> IMO davon abhaengen, ob exim die Mail quasi "selbst" erzeugt
>> ("/usr/sbin/exim4 -f'foo@localhost' -t") oder eine Mail per SMTP
>> ueberreicht bekommt.
>> Ich vermute mal ganz stark, dass Balsa zum Versenden nicht das
>> exim-Binary bzw. den "sendmail-Wrapper" von exim aufruft, sondern die
>> Mail ueber localhost:25 an exim uebergibt.
>> Sprich: Wenn Du die Absendereinstellungen auch fuer das Relaying
>> festnageln willst, duerftest Du IMO nicht um das Editieren
>> entsprechender ACLs herumkommen...
>> 
> Ja. Deine Vermutung ist richtig. Balsa uebergibt die Mails an
> localhost:25. Vielen Dank!
> Dann mal los die ACLs konfigurieren...
> 
Ok. Nachdem ich mich nun mehrere Stunden mit den ACLs rumgeschlagen habe,
hier die Loesung:
In exim4/conf.d/acl/30_exim4-config_check_rcpt stand urspruenglich:
"accept hosts = :". Dazu weiss die exim4 Docu [1]: "What this statement is
doing is to accept unconditionally all recipients in messages that are
submitted by SMTP from local processes using the standard input and output
(that is, not using TCP/IP). A number of MUAs operate in this manner."

Also habe ich *vor* diesen Eintrag folgende Regel eingefuegt:
deny hosts = 127.0.0.1
     domains = !+local_domains
     senders = ${if exists{CONFDIR/validsenders} \
               {!lsearch;CONFDIR/validsenders} {!\N^.*\N}}
              
Diese lehnt alle Mails ab, die von einer lokalen Verbindung kommen und an
eine nicht-lokale Domain gegehen und deren Absender nicht in validsenders
steht. Der If-Test soll verhindern, dass Mails abgelehnt werden, wenn
validsenders nicht existiert.

Was man damit nicht machen kann, ist bestimmte lokalen Usern bestimmte
Adressen zuzuordnen. Dazu muesst man wohl mit Authentifizierungen
arbeiten, oder?

Simon


P.S.: Zum Debuggen von deny/drop Regeln erstmal lieber warn verwenden,
sonst sind schnell mal Mails verschwunden ;-)


[1] http://www.exim.org/exim-html-4.00/doc/html/spec_toc.html#TOC67



Reply to: