Newsgroup: it.comp.os.linux.sys
Titolo: Maledetti bounce di Exim

Ho un problemino con un server Exim che fa solo da SMTP autenticato.
Genera vagonate di bounce e non è bello.
In pratica, il cliente si collega al server smtp, si autentica,
inserisce una mail non valida come destinatario, il mio server la
accetta e dopo un po fa un bel bounce. Quanto basta per finire
qui: 
http://www.backscatterer.org
come diavolo si risolve questa cosa con Exim?
Il destinatario è un indirizzo inesistente sui miei server, sempre
exim, che non fanno bounce ma fanno un bel reject appena si inserisce
l'RCPT TO, quindi il problema è lato smtp mittente.
(sempre mio, in questo caso)
-- 
Non tocca a noi dominare tutte le maree del mondo,
il nostro compito è di fare il possibile per la
salvezza degli anni nei quali viviamo,
sradicando il male dai campi che conosciamo.

 come diavolo si risolve questa cosa con Exim?
nelle acl (prima di accettare da autenticati):
drop	message = REJECTED - Invalid RCPT
	!verify      = recipient/no_details/callout=1m,defer_ok,use_sender
oppure direttamente:
accept authenticated = *
           verify              = recipient/no_details/
callout=1m,defer_ok,use_sender
ciao,
stefano

 tradotto significa facendogli controllare SUBITO il destinatario)
Credo che il concetto lo sappia e voglia appunto sapere l'implementazione 
del concetto in Exim.
-- 
Vide

 tradotto significa facendogli controllare SUBITO il destinatario)
Si, questo metodo brutale lo conosco, ma mi stavo chiedendo come
gestire
gli errori in maniera più "dolce".
Se, ad esempio, da gmail scrivo ad una mail inesistente su yahoo,
non vedo l'errore istantaneamente, ma mi arriva un DSN.
---
Delivery to the following recipient failed permanently:
 
asdasdadasdasdas...@yahoo.com
Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the
recipient domain. We recommend contacting the other email provider for
further information about the cause of this error. The error that the
other server returned was: 554 554 delivery error: dd This user
doesn't have a 
yahoo.com
 account
(
asdasdadasdasdas...@yahoo.com
) [0] -
mta1070.mail.sk1.yahoo.com
 (state 18).
---
Che venga generato sempre un bounce? Mi pare strano che google generi
bounce
a più non posso.
Il reject sugli MX già lo faccio, e funziona (gmail genera il dsn e
non il mio server che si limita a dare un 5xx) ma il mio problema è
sul server smtp usato direttamente dagli utenti e vorrei evitare di
sparar fuori un 5xx che Thunderbird mostrerebbe con il messaggio di
alert.
C'è da dire che avendo l'autenticazione obbligatoria, i bounce sono
sicuramente molto inferiori rispetto ad un open relay. Ma se un
malware si impossessasse del computer mittente, non c'è autenticazione
che tenga...
Come si fa a far generare il dsn (in modo che i clienti me lo possano
anche inoltrare in caso di necessità) senza sparar fuori un 5xx e
senza essere sputare raffiche di backscatter al mondo intero?

 del concetto in Exim.
Si, più o meno.
Come fare il reject lo so, ma io cercavo di capire come generare un
dsn senza
generare backscatter a manetta.

> significa facendogli controllare SUBITO il destinatario)
Occhio ad una cosa:
se il problema è il backscatter devi capire da dove dipende.
Se il cliente manda email con envelope sendere di un dominio NON tuo 
generi backscatter.
Se li manda con un dominio che gestisci tu, allora il backscatter va a 
finire sui tuoi server, e sarebbe cosa normale.
Secondo me tu permetti agli utenti autenticati di mandare email con 
envelope sender *qualunque*.
Fai in modo che spediscano solo con il loro account.
Max

 a pi� non posso.
Forse ti sfugge il fatto che se tu invii una mail attraverso Gmail, lo
fai con la tua utenza gmail come mittente.
Quindi: s�, google genera bounce (come tutti, da l� non scappi), ma sono
bounce che riceverai *tu* in quanto tu sei il mittente di envelope delle
mail rimbalzanti.
Il fatto che i tuoi bounce arrivino a qualcuno che non � il tuo utente,
pertanto, � in realt� un effetto collaterale del fatto che autorizzi gli
utenti ad usare un envelope sender diverso dal loro stesso
account/dominio, e che quindi i bounce per mail generate dai tuoi utenti
arrivano a mailbox che *non* sono di tuoi utenti.
Hai diverse linee di condotta, es:
- stringi le policy per l'invio autenticato e i relativi envelope sender
assocuati
oppure
- applichi rate limit di qualche genere per le sessioni autenticate, in
modo da limitare gli effetti del ladrocinio di credenziali
La sostanza, per�, � che il problema *non �* la generazione di bounce in
s� (che per un mailserver � pressoch� vitale, quando avvengono a fronte
di traffico lecito) ma la applicazione di policy che inibiscano o
limitino gli effetti delle compromissioni cui i tuoi utenti sono soggetti.
Peraltro, scordati che questo serva a tenerti fuori da backscatterer:
come ho gi� avuto occasione di ribadire, se hai un mailserver
sufficientemente trafficato l� dentro prima o poi ci finisci comunque.
Il che dovrebbe dirla lunga sulla sensatezza dell'implementazione su cui
si appoggia...
-- 
Professional System & Network Sarcazzer
http://bofhskull.wordpress.com/

 finire sui tuoi server, e sarebbe cosa normale.
Ecco...


 Fai in modo che spediscano solo con il loro account.
E come si fa con Exim?
[1]
ho volutamente citato dei malware.
In caso normale, un utente si configura il suo MUA per inviare con
la sua email ed il suo account di autenticazione.
Se quel pc dovesse essere preso di mira da qualche malware, non
escludo che tale malware possa usare l'autenticazione di outlook e
cambiare al volo l'envelope sender.
Il server smtp in questione è dato solo a clienti "fedeli" che non
spammano al 100%. Eppure è finito nella rbl che ho citato qualche
mail fa. Ne deduco che ci sia un qualche computer infetto, potendo
escludere al 100% spamming e tecniche varie.


 si appoggia...
Questo è chiaro..


 assocuati
Con postfix come applicheresti questa policy?
Faresti un controllo username=envelope_sender e rifiuteresti tutto se
non
corrisponde?


Non necessariamente così restrittiva, puoi farla decisamente più flessibile.
Vedi
http://www.postfix.org/postconf.5.html#smtpd_sender_login_maps


 
http://www.postfix.org/postconf.5.html#smtpd_sender_login_maps
Se ho ben capito, con quel parametro posso mappare determinati
envelope sender a determinati account sasl.
Esempio:
enve...@miodominio.it
: 
sa...@pippo.it
, 
sa...@pippo.it
Chi ha come envelope "
enve...@miodominio.it
" può inviare
solo con gli account sasl indicati.
Praticamente è una mappatura come dicevo ieri...
Devo trovare il modo di farla su exim.


 Devo trovare il modo di farla su exim.
Eccola qui, nel caso servisse ad altri.
warn
   log_message = Auth rejected. $authenticated_id != $sender_address.
   condition = ${if match {$authenticated_id}{$sender_address} {no}{yes}}
Ovviamente bisogna mettere deny al posto di warn.
-- 
Non tocca a noi dominare tutte le maree del mondo,
il nostro compito č di fare il possibile per la


 
http://www.postfix.org/postconf.5.html#smtpd_sender_login_maps
ma non essite, chessň, un reject_unknown_domain_sender ??
perchč teoricamente cosě bisognerebbe mappare uno a uno tutti gli 
account, o sbaglio?


uh eccolo:
reject_unknown_sender_domain
     Reject the request when Postfix is not final destination for the 
sender address, and the MAIL FROM address has no DNS A or MX record, or 
when it has a malformed MX record such as a record with a zero-length MX 
hostname (Postfix version 2.3 and later).
     The unknown_address_reject_code parameter specifies the numerical 
response code for rejected requests (default: 450). The response is 
always 450 in case of a temporary DNS error.
     The unknown_address_tempfail_action parameter specifies the action 
after a temporary DNS error (default: defer_if_permit).
ma non mi pare proprio la stessa cosa, ora faccio qualche provola...

 ma non mi pare proprio la stessa cosa, ora faccio qualche provola...
Diciamo che non c'entra una fava, via...
