Newsgroup: it.comp.os.linux.sys
Titolo: Exim+ SpamAssassin+Clamd

Ciao,
ho messo su un server di posta con Exim e vorrei fare in modo che la
posta venisse passata a un'altra macchina con Spamassassin e Clamd per
poi passarla a un server Exchange (purtroppo non ci posso fare niente,
altri hanno deciso così e non si può tornare indietro!).
Exim consegna la posta in maniera corretta, ma non ne vuol sapere di
parlare con Spamd e con Clamd.
Il server di posta ha IP 192.168.136.135; mentre il server antispam ha
IP 192.168.136.168.
Sul server antispam ho i due servizi che girano correttamente, tant'è
che se mi ci telnetto mi si apre la connessione, ma non riesco in
nessun modo a far parlare exim con l'altro server.
Questa è la configurazione di exim:
[CUT]
av_scanner = 
192.168.136.168:3310
spamd_address = 
192.168.136.68:783
[CUT]
 warn
    !hosts      = ${if exists {/etc/mail/whitelist-hosts} \
                              {/etc/mail/whitelist-hosts}}
    dnslists    = 
list.dsbl.org
 : \
 
dnsbl.sorbs.net
 : \
 
dnsbl.njabl.org
 : \
 
bl.spamcop.net
 : \
 
dsn.rfc-ignorant.org
 : \
 
sbl-xbl.spamhaus.org
 : \
 
l1.spews.dnsbl.sorbs.net
    set acl_c1  = X-DNSbl-Warning: \
                  $sender_host_address is listed in $dnslist_domain\
                  ${if def:dnslist_text { ($dnslist_text)}}
[CUT]
    spam        = mail
    set acl_m9  = spam
    condition   = ${if !eq {$acl_m0}{accept}{true}}
    control     = fakereject
    logwrite    = :main: Rejected spam (score $spam_score):
$spam_report
  # Add an appropriate X-Spam-Status: header to the message.
  #
  warn
    message     = X-Spam-Status: \
                  ${if eq {$acl_m9}{spam}{Yes}{No}} (score $spam_score)
\
                  ${if def:spam_report {: $spam_report}}
    logwrite    = :main: Classified as $acl_m9 (score $spam_score)
[CUT]
 # Messages larger than MESSAGE_SIZE_SPAM_MAX are accepted without
  # spam or virus scanning
  accept
    condition   = ${if >{$message_size}{MESSAGE_SIZE_SPAM_MAX} {true}}
    logwrite    = :main: Not classified \
                  (message size larger than MESSAGE_SIZE_SPAM_MAX)
  #
--------------------------------------------------------------------
  # Anti-Virus scanning
  # This requires an 'av_scanner' setting in the main section.
  #
  deny
    message  = This message contains a virus ($malware_name)
    demime   = *
    malware  = *
  #
--------------------------------------------------------------------
Dove è che sto sbagliando?

 parlare con Spamd e con Clamd.
Puoi dire che messaggi di errore vedi in exim_mainlog?
Ciao
Luca Bertoncello
(
luca...@lucabert.de
)
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 nessun modo a far parlare exim con l'altro server.
Guarda che di default ne spamassassin ne clamd accettano richiesta di 
scansione da chiunque, anche se li metti in ascolto su socket TCP. Non 
ricordo per clamav ma so per certo che spamd va lanciato con un 
determinato parametro che gli dice di accettare connessioni da 
determinati IP/Subnet.
HTH

 Puoi dire che messaggi di errore vedi in exim_mainlog?
è proprio quello il problema: in exim_mainlog non vedo niente che mi
possa aiutare:
2009-03-14 00:00:09 1LiL2c-0001Ti-RM <= 
ro...@newmail.pippo.it
 U=root
P=local S=2534
2009-03-14 00:00:10 1LiL2c-0001Ti-RM => 
l.mai...@pippo.it
 R=internal
T=remote_smtp H=192.168.135.11 [192.168.135.11]
2009-03-14 00:00:10 1LiL2c-0001Ti-RM Completed
192.168.135.11 è l'exchange in backend.

 HTH
Fatto anche questo (per spamassassin è l'opzione -A), ma non ne vuol
sapere di funzionare

 192.168.135.11 è l'exchange in backend.
Strano...
Comunque, guardando la configurazione: dove definisci acl_m0? Sei sicuro
che Exim passi da SpamAssassin?
Hai provato a lanciare exim -bh 127.0.0.1 (o un altro IP a piacere)?
In questa maniera viene lanciata una sessione SMTP "finta", alla quale
puoi dare i comandi SMTP e vedere in tempo reale dove passa la tua E-Mail.
