exim4+auth

Fórumok

Szeretném megoldani azt, hogy az smtp szerverem kérjen authentikációt. Úgy ahogy az invitel csinálja. Ha nem léptél be akkor hibaüzi. Tehát belépés élkül ne lehessen levelet küldeni. pl.:telnet
Na szóval. Ezt hogyan tudom megoldani? Van a szrveren még vpopmail és courier-pop,pop-ssl,imap,imap-ssl.

Hozzászólások

Én így csináltam:

# Unix clients
plain:
driver = plaintext
public_name = PLAIN
server_condition = \
${if eq {${readsocket{/usr/local/var/authdaemon/socket}\
{AUTH ${strlen:exim\nlogin\n$2\n$3\n}\nexim\nlogin\n$2\n$3\n}}}{FAIL\n} {no}{yes}}
server_set_id = $2
# Windows clients
login:
driver = plaintext
public_name = LOGIN
server_prompts = Username:: : Password::
server_condition = ${if eq {${readsocket{/usr/local/var/authdaemon/socket} \
{AUTH ${strlen:exim\nlogin\n$1\n$2\n}\nexim\nlogin\n$1\n$2\n}}}{FAIL\n} {no}{yes}}
server_set_id = $1

Ha telnetelek a szerverre akkor ezt látom:
EHLO server
250-debian Hello client
250-SIZE 52428800
250-PIPELINING
250-AUTH PLAIN LOGIN
250-STARTTLS
250 HELP

Itt látszik az euth rész, de amikor levelet akarok küldeni akkor érdekes módin nem kiabál, hogy nincs hozzá jogosultságom hanem simán küldhetek.

kuldeni lehet authentikalas nelkul is. szerintem csak relayzes eseten kell authentikalni. kiveve persze ha a szerverre kizarolag authentikalt felhasznalok kuldhetnek levelet, mashonnan nem johet level.
ettol fuggetlenul fel tudod hasznalni az authentikalas tenyet masra is, pl. az authentikalt felhasznalok nem kerulnek greylistre

Nekem hasonló igényem lenne.
Jelenleg két alhálózatból fogadunk el leveleket, valamint máshonnan olyat, aminek a cimzettje a mi domainünk.
Azt szeretném elérni, hogy a két alhálózatból csak auth-olva fogadjon el levelet, valamint bárhonnan olyat, aminek a cimzettje a mi domainünk.

Erre mi lenne a megoldás? (Jelenlegi beállítás a telepítés közbeni configgal készült, és egyben hagytam a configfájlt.)

Es ha egy spammer virussal fertozott gep authol be, mert a gazdi 1 db levelet el akar kuldeni, akkor lehet, hogy 5-6 perc alatt levelek ezreit kezbesitjuk?

Mert a kiindulas az volt, hogy letiltottak a fix ipcimunket levelkuldes szempontjabol. Lehet, hogy open relay voltunk. Bezartunk. :)

Kesobb a win-es kollega kideritette, hogy a geptermek gepei fertozottek, es egyenlore nem all(t) modunkban viruspajzsokat telepiteni. Ekkor lezartam a gepen (ami gw is ezeknek a gepeknek) az IN es FW chain-ekben a 25-os portot. Csak az intezmeny mukodesehez elengedhetetlen gepekrol nyitottam meg, amik a netszolgaltato smtp-jet hasznaltak.

Ezzel a problema megoldodott, de mostanra elkeszult a DNS a fix IP-nkhez, es a levelezest be kellett inditanom.

Ez most ugy all, ahogy nagyon roviden leirtam. Jelenleg a sajat domainunkre cimzett maileket fogadja el az exim, a megadott ket alhalozat szamara vagyunk relay, de az IN chainben szurve van a 25-os port, kiveve azt a par gepet.

Ami aggaszt: ha lehetoseget adunk tovabbi gepekre, kicsuszik a kezunkbol a kontroll, es ismet feketelistara kerul az ip.

Csak a viruspajzs a megoldas, vagy van valami kerulo lehetoseg?

Na jo, azt hiszem, nincs mas lehetosegunk... Szep monolog lett...

Ha megis van mas ut, szivesem veszem a hozzaszolasokat...

Szerintem a leírásban nem éppen a legegyszerűbb és legszebb módja szerepel az Exim + SA megoldásnak.
sa-exim felejtős exim4-el mivel a exim4-daemon-heavy Debian csomag már tartalmazza az Exiscan ACL patch-t.
Egyszerűen engedélyezni kell a konfigban a megfelelő sorokat.
Ha split konfigot használsz, akkor a /etc/exim4/conf.d/acl könyvtárban érdemes szétnézni (40_exim4-config_check_data).

Sziasztok!
Nekem is hasonló a problémám.
Már egy hete ezzel a fránya smtp auth-hal szenvedek.Oprendszer: Debian etch. Nagyon bosszantó. Adott egy exim4 szerver, itt az smtphez használt auth:

fixed_login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = ${lookup mysql{SELECT '1' FROM users \
WHERE username = '${quote_mysql:$1}' \
AND clear = '${quote_mysql:$2}'} {yes}{no}}

server_set_id = $1
--------------

plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT '1' FROM users \
WHERE username = '${quote_mysql:$2}' \
AND clear = '${quote_mysql:$3}'} {yes}{no}}
server_set_id = $2
# .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
# server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
# .endif
-----------

Telnet kimenet:
telnet xy.hu 25
ehlo test

250-xy.hu Hello localhost [127.0.0.1]
250-SIZE 52428800
250-8BITMIME
250-ETRN
250-PIPELINING
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-STARTTLS
250 HELP

//elvileg, tehát mennie kellene az authnak, sőt: Outlookon keresztül frakón megy is. De amikor levelet küldenék a serveren keresztük, visszapattan Outlooknak.

exim4 mainlog:

2008-10-21 20:32:46 unexpected disconnection while reading SMTP command from xy (viktor) [yx]
2008-10-21 20:32:55 H=xy.pool.invitel.hu (viktor) [yí] F= rejected RCPT : DNSBL listed at zen.spamhaus.org

továbbá:
acl_check_rcptbe van beállítva
deny message = DNSBL listed at $dnslist_domain\n$dnslist_text
dnslists = zen.spamhaus.org:list.dsbl.org

ha kikommentezem a felső két sort, akkor meg a spamszűrő dobja vissza.

Összegezve: az auth elvileg tehát jó, csak arra kellene rávenni a szervert, hogy az autholt leveleket átengedje, vkinek van vmi 5lete? Én acllel próbálkoztam eddig googlizás után, de nem történt semmi változás.

Válaszokat előre is köszönöm!

nos, továbbjutottam :)

Outlookal nagyon pírmán megy a küldés, authot megköveteli a köv tiltás, de van a gépen webmail is. (Squirrelmail)
Sajnos a webmailt is megfogja ez a tiltás. Vki tudja, hogy hogy lehetne a condition részt úgy beállítani, hogy a localhostrol érkező "authentikálatlan" leveleket, is engedje?

deny
! authenticated = *
condition = ${if match_domain{${domain:${address:$h_from:}}}{+localdomains}}

message = Auth...

na ezt leírom, hátha valaki tanul belőle:

a problémára a megoldás:

accept authenticated = *
set valtozo = do-not-scan //persze barmi lehetne, de legyen beszédes

.ifndef valtozo
deny dnslist zend.spamhaus.org:list.dsbl.org
.endif

így érhető el könnyedén, hogy a nem autholt smtp-n jött emaileket ellenőrizze így.

ha a felhasznalo authentikalva van, az "accept authenticated = *" sornal az acl_check_rcpt accept-el visszater, vagyis soha nem fut ra a "deny dnslists = zen.spamhaus.org:list.dsbl.org" sorra.
ha a felhasznalo nincs authentikalva akkor az "accept authenticated = *" soron tulmegy mert a feltetel nem teljesul, de ilyenkor mindig kell a "deny dnslists = zen.spamhaus.org:list.dsbl.org" ha jol ertettem.
tehat ez a 2 sor egymas utan azt csinalja amit szeretnel, nincs szukseg valtozot elesiteni:

accept authenticated = *
deny dnslists = zen.spamhaus.org:list.dsbl.org

nem lehet mashoz is hozzapiszkaltal hogy jo lett?

Én vexim2-őt használok SMARTHOST-ra konfigurálva(exim4 + courier imap + debian etch). Egy külsős cég végzi a spam/vírus írtást, ő a SMARTHOST és az MX címem is.
Van SMTP AUTH relay_host-ra, SPAM mégis bejön localdomain címre, ha közvetlenül kapcsolódik MTA-re.

Hogy tudnám ezt kivédeni?

megadnám a teljes idevágó részt;

iptables -A kulso -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A kulso -p tcp -d ! $vpn1 -m multiport --destination-ports $accept_tcp_kint -m state --state NEW -j ACCEPT
iptables -A kulso -p gre -d ! $vpn1 -m state --state NEW -j ACCEPT

for ip in $admin_hosts;
do
iptables -A kulso -p tcp -s $ip -d ! $vpn1 -m multiport --destination-ports $admin_accept_tcp_kint -m state --state NEW -j ACCEPT
done

for ip in $smtp_ip;
do
iptables -A kulso -p tcp -s $ip --dport 25 -m state --state NEW -j ACCEPT
done

iptables -A kulso -m limit --limit 1/s -j LOG --log-level warn --log-prefix "DROP kulso: "
iptables -A kulso -j DROP

$admin_hosts alatt az MTA külső IP-je is meg van adva ... ez baj?
$smtp_ip alatt a SMARTHOST-os IP-k vannak

így kéne mennie?

valami hasonló az én problémám is
smarthost szerver

exim4 levélküldés, fetchmail meg leszedi a leveleket, és ezt egy openwebmail kezeli.
a probléma, hogy t-online hálózatában, nem tudok levelet küldeni, mert hitelesítés szükséges, fogadás az okés.

dpkg-reconfigure exim4 ezel beállítottam az eximet, külön a fetchmailt.
hogy tudom azt megoldani, hogy a levélküldéshez xy@mail.t-online.hu -n keresztül küldje, jelszóval.
exim4 beállítást mindig reconfigural csináltam, ennél tovább nem probálkoztam

buék előre is