Newsgroup: it.comp.os.linux.sys
Titolo: Controllo destinatari su postfix con amavis filtering

Buongiorno a tutti,
Ho il seguente problema: postfix non rifiuta immediatamente la mail, ma 
spedisce poi una notifica.
Il server postfix usa il virtual sui domini: dominio1, dominio2...
Le caselle di posta sono sul dominio0 (non listato su virtual_alias_domain). 
Le mail sono instradate tramite lmtp cyrus.
Altre caselle di posta sono su un secondo server (non listato su 
virtual_alias_domain) esterno: dominiox
E'presente amavis.
Come faccio a forzare il controllo, e a droppare la richiesta PRIMA di 
passarla ad amavis e quindi a segare subito la richiesta proveniente in 
smtp?
Tramite script (sulla base del virtual) ho anche creato un elenco degli 
indirizzi del dominio1, dominio2... validi, indifferentemente da quello che 
potrebbe essere il loro recapito.
Potrei anche generarne altri separati per il dominiox e per il dominio0, ma 
non saprei come usarli.
Aiuto!
Un po di config files qui di seguito.
virtual
____________________________________________________________
topolinia@dominio1 pippo@dominio1, topolino@dominio2, pluto@dominio2
topolinia@dominio2 topolinia@dominio1
pippo@dominio1 pippo@dominio0
topolino@dominio2 topolino@dominio0
pluto@dominio2 topolino@dominio0
paperopoli@dominio3 paperino@dominio3, paperone@dominio4
paperopoli@dominio4 paperopoli@dominio3
paperino@dominio3 qui@dominiox, quo@dominiox, qua@dominiox, 
paperino@dominiox
paperone@dominio4 paperone@dominio0, battista@dominio0
transport
____________________________________________________________
dominio0  smtp:[IP SERVER INTERNO]:25
main.cf
____________________________________________________________
default_recipient_limit = 10000
###local_recipient_maps = hash:/etc/postfix/lista-caselle-attive###
mydestination = $myhostname, localhost.$mydomain, localhost, dominio0
smtpd_recipient_restrictions = reject_non_fqdn_sender,
        reject_non_fqdn_recipient,
        reject_unknown_recipient_domain,
        reject_unknown_sender_domain,
        reject_multi_recipient_bounce,
        permit_sasl_authenticated,
        reject_invalid_hostname,
        check_recipient_access hash:/etc/postfix/access,
        permit_mynetworks,
        reject_unauth_destination,
        check_sender_access hash:/etc/postfix/rbl_sender_exceptions,
        reject_rbl_client 
zen.spamhaus.org
,
        reject_rbl_client 
bl.spamcop.net
,
        reject_rbl_client 
safe.dnsbl.sorbs.net
,
        reject_rbl_client 
psbl.surriel.com
,
        check_policy_service unix:postgrey/socket
smtpd_sasl_local_domain = $myhostname
virtual_alias_domains = dominio1, dominio2, dominio3
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_mailbox_lock = fcntl
transport_maps = hash:/etc/postfix/transport
master.cf
____________________________________________________________
smtp-amavis   unix   -   -   n   -   4   smtp
   -o smtp_data_done_timeout=1200
   -o disable_dns_lookups=yes
   -o smtp_send_xforward_command=yes
127.0.0.1:10025
   inet   n   -   n   -   -   smtpd
   -o content_filter=
   -o 
receive_override_options=no_unknown_recipient_checks,no_header_body_checks
   -o local_recipient_maps=
   -o relay_recipient_maps=
   -o smtpd_restriction_classes=
   -o smtpd_helo_restrictions=
   -o smtpd_sender_restrictions=
   -o smtpd_recipient_restrictions=permit_mynetworks,reject
   -o mynetworks=
127.0.0.0/8
   -o strict_rfc821_envelopes=yes
   -o smtpd_authorized_xforward_hosts=
127.0.0.0/8

 Aiuto!
http://www.postfix.org/postconf.5.html#relay_recipient_maps
Potresti valutare di sostituire amavis con la sua controparte 
"milterizzata", in modo da evitare anche il "doppio giro" nelle code...
-- 
http://bofhskull.wordpress.com/


O cassi amavisd per qualcosa di più leggero (milter) o ti metti 
amavisd-milter (peeeeso come un tir).
Senza milter il prequeue non lo fai
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
Fashion is a form of ugliness so intolerable that we have to alter it
every six months.
		-- Oscar Wilde

 amavisd-milter (peeeeso come un tir).
Bisogna anche dotarsi di terabyte e terabyte di ram però...
Comunque, anche milter-clamc è parecchio pesante, è già la seconda
volta che mi collassa un intero MX con 100% di CPU, 100% ram e 100%
swap.
Faccio un bel restart di milter-clamc e tutto torna alla normalità.

 Faccio un bel restart di milter-clamc e tutto torna alla normalità.
Curioso, perchè ho lo stesso oggetto e lo uso su flussi piuttosto 
corposi senza il minimo problema... O__o
-- 
http://bofhskull.wordpress.com/

 
http://bofhskull.wordpress.com/
 

 corposi senza il minimo problema... O__o
Tu che hardware hai sotto il fidato milter-clamc?
Io con quei 2 milter ho avuto e sto tuttora avendo problemi.
Da 1 settimana a sta parte poi il clamc mi fa collassare l'intero
server.
Restano appesi 5-6 processi e consumano il 100% di ogni risorsa.
/etc/init.d/milter-clamc restart
e tutto riparte per alcuni giorni.

 milter-spamc&  co
I milter che citi li usi tutti senza problemi anche con postfix.
E non rifiuto di offrire una birra a chi si pialla amavis dalla rete ;-)
-- 
http://bofhskull.wordpress.com/

 Tu che hardware hai sotto il fidato milter-clamc?
Un po' difficile stimarlo, dato che sono macchine virtuali.
La macchina fisica è una biproc Opteron dual-core (mod 2216, per quel 
che vuol dire).
La VM dove gira postfix, milter-clamc, milter-link insieme ad un po' di 
altri ammenicoli ha 1.5 GB di RAM e consuma poco meno di 1/4 delle 
risorse di CPU della macchina fisica.
Arriva a gestire senza grossi patemi circa 25-30 mail/sec.
-- 
http://bofhskull.wordpress.com/

 E non rifiuto di offrire una birra a chi si pialla amavis dalla rete ;-)
Eccomi... piano piano sta sparendo da tutti i miei sistemi e con esso se ne 
va una sgradita fonte di backscatter.
-- 
Flavio Visentin
Scientists have finally discovered what's wrong with the female brain:
On the left side, there is nothing right, and on the right side, there
is nothing left.

 ne va una sgradita fonte di backscatter.
Ork. Mica una birra per disinstallazione, sia chiaro ;-)
-- 
http://bofhskull.wordpress.com/

 Arriva a gestire senza grossi patemi circa 25-30 mail/sec.
I ne gestisco circa 1 al secondo, e mi collassa uguale.
Però, visto che te hai 1.5GB virtualizzati, appena arriva il serverone
questo MX sarà il primo a saltar per aria e virtualizzo con 512MB di
ram.


Io ho un dual Xeon con 8 gb di ram ma milter-clamc sta prendendo 400 e 
spicci mb di ram e attualmente ha una cpu impegnata di qualche %
Uptime del server 150 giorni (e di clamc: con ps nella colonna time ho
    2008 165:56 )


 Ork. Mica una birra per disinstallazione, sia chiaro ;-)
Miii.... mi manterresti costantemente ubriaco per quasi un anno :-)
L'altro giorno guardavo il mio file .ssh/known_host che ha passato le 1000 
righe e circa 300 sono MTA. :)
Mi ha fatto sentire vecchio... :(


     2008 165:56 )
Etch o Lenny?
Con etch non ho mai avuto problemi del genere, solo con lenny.


slack


 slack
A già....Te vuoi fare il figo.... :)
(ad esempio adesso ho una mail in uscita che va in timeout....aspetta
quei 30-60 secondi poi Thunderbird
rifiuta dicendo che il server non ha risposto. Il che può essere, ma
se guardo nei log non trovo nulla.)


Ma che figo e figo.. è che sono 15 anni che uso slack


 Ma che figo e figo.. è che sono 15 anni che uso slack
:D
Eppure, contando anche brutalmente i processi in esecuzione, non
supero mai
i 30-40:
# ps aux | grep -c smtp
17
ma spesso e volentieri il client di posta resta appeso al server per
30 secondi per poi dare timeout.
Nei log il buio assoluto eccetto questi errorini:
warning: Connection concurrency limit exceeded: 52 from unknown
[x.x.x.x] for service smtp
(ovviamente non è il mio ip)
In 
master.cf
 ho valori piuttosto tolleranti:
smtp      inet  n       -       -       -       300       smtpd
mah.

 30 secondi per poi dare timeout.
A quanto hai impostato milter-queue per milter-clamc?
-- 
http://bofhskull.wordpress.com/

 E non rifiuto di offrire una birra a chi si pialla amavis dalla rete ;-)
Bene visto che A.V. è rientrato dalla ciaina :)
Ciao,
ScriptJus 

 A quanto hai impostato milter-queue per milter-clamc?
clamd-timeout=30
milter-queue=60


Occhio che questa dovrebbe andare di pari passo al numero di worker 
smtpd che accetti di aprire.
Altrimenti il 61° processo smtpd in esecuzione sta lì ad aspettare il 
suo turno.
Altra cosa: il MaxThread clamav, a quanto?
-- 
http://bofhskull.wordpress.com/

 Altra cosa: il MaxThread clamav, a quanto?
60.
Anche qui dovrei mettere lo stesso numero presente in 
master.cf
Credo di dover rimettere il 
master.cf
 a 100, ed aumentare maxthread e
milter-queue a pari valore...
Corretto?
Ma non risolverebbe comunque i blocchi del server, non raggiungo mai
100 connessioni....

 dominio0  smtp:[IP SERVER INTERNO]:25
dominiox  smtp:[IP SERVER INTERNO]:25
Aiuto ancora!
:(
Ciao,
ScriptJus 

 non esattamente il caso proposto su documentazione...
Qualcuno ha un esempio pronto?
Con alcuni che sono utenti locali, ma non unix accounts che vanno tramite 
lmtp al client cyrus (dominio0)
e
Altri che vanno verso un server di posta interno (dominiox).
Grazie
Ciao,
ScriptJus 

 100 connessioni....
Intanto prova, poi si vede.
Al momento ho ancora gli MTA su etch, quindi non so se su lenny ci 
possano essere problemi di qualche tipo dovuti a librerie che fanno a 
cazzotti.
Sto mettendo in piedi i sostituti ora, quindi in qualche giorno potrei 
avere del feedback al riguardo...
-- 
http://bofhskull.wordpress.com/