Salut,

J'ai essay� les combinaisons suivantes pour 
Postfix+Amavis-ng/ClamAV+Spamassassin(spamproxyd):


1.
Content filter envoyant le mail � SA sur localhost:10025, qui lui 
le retourne � un 2nd postfix �coutant sur localhost:10026 et qui ex�cute 
le pipe vers amavis (fork...), qui retourne le 
mail scann� � postfix apr�s analyse via la m�thode postfix dans amavis-ng 
(sendmail): smtp->postfix(25)->smtp|spamproxyd(10025)->smtp|2nd 
postfix(10026)->pipe|amavis-ng(clam)->postfix via "sendmail" 

== ->smtp|postfix(25), vous devinez la suite...

*master.cf:
vscan    unix  -       n       n       -       10      pipe flags=q 
user=amavis argv=/usr/bin/amavis ${sender} ${recipient}
localhost:10027     inet  n      -      n      -      10      smtpd -o 
content_filter=vscan:D  -o local_recipient_maps= -o myhostname=nabiki.rsvj     

*main.cf:
content_filter = smtp:localhost:10025

*amavis.conf:
...
mail-transfer-agent = Postfix
...
virus-scanner = CLAM
...
[Postfix]

;; Location and arguments of the binary
postfix = /usr/sbin/sendmail
args = -i -f


*Probl�me: le message se retrouve pris dans une boucle jusqu'au bounce 
(too many hops). De plus, ce n'est pas efficient de lancer amavis pour 
chaque mail � scanner...



2.
Content filter envoyant le mail � amavis-ng via la m�thode SMTP sur le 
localhost port 10025, qui le scanne et le retourne sur localhost:10026 ou 
�coute spamproxyd qui le tag et retourne le contenu � une 2nd instance 
postfix en �coute sur localhost:10027 (plus clean que 1. je trouve):
smtp->postfix(25)->smtp|amavis-ng(10025)(clam)->smtp|spamproxyd(10026)->smtp2nd 
postfix(10027)

*master.cf:
amavis  unix    -       -       n       -       2       smtp
localhost:10027     inet  n      -      n      -      10      smtpd -o 
content_filter= -o local_recipient_maps= -o myhostname=nabiki.rsvj

*main.cf:
content_filter = amavis:[127.0.0.1]:10025

*amavis.conf:
...
mail-transfer-agent = SMTP
...
virus-scanner = CLAM
...
[SMTP]
input address = localhost
input port = 10025
output address = localhost
output port = 10026
session timeout = 240
pidfile = /var/run/amavis-ng/amavisd.pid

*Probl�me: le message n'est pas re�u par postfix en retour et semble 
bloquer lors du passage � Amavis-NG via smtp:localhost:10025, comme 
constat� dans les logs de postfix:

Oct  1 11:40:11 nabiki postfix/smtp[29302]: 1C5E724916: 
to=<[EMAIL PROTECTED]>, relay=loopback.rsvj[127.0.0.1], delay=1882, 
status=deferred (lost connection with loopback.rsvj[127.0
.0.1] while sending MAIL FROM)
Oct  1 11:40:12 nabiki postfix/smtp[29303]: 4E6951F907: 
to=<[EMAIL PROTECTED]>, relay=127.0.0.1[127.0.0.1], delay=1248, 
status=deferred (lost connection with 127.0.0.1[127.0.0.1
] while sending MAIL FROM)

En effet, lorsque je regarde ce qui se passe lorsque j'envoie un mail 
depuis internet vers une mbox sur ce server:

[EMAIL PROTECTED]:/etc# tcpdump -i lo
tcpdump: listening on lo
11:33:41.582028 nabiki.rsvj.4243 > nabiki.rsvj.domain:  15032+ PTR? 
71.60.64.158.in-addr.arpa. (43) (DF)
11:33:46.720358 nabiki.rsvj.4244 > nabiki.rsvj.domain:  15033+ A? 
gilmore.ael.be. (32) (DF)
11:33:52.271452 nabiki.rsvj.domain > nabiki.rsvj.4241:  64011 ServFail 
0/0/0 (28) (DF)
11:33:52.271546 nabiki.rsvj > nabiki.rsvj: icmp: nabiki.rsvj udp port 4241 
unreachable [tos 0xc0]
11:33:52.273038 nabiki.rsvj.domain > nabiki.rsvj.4242:  42097 ServFail 
0/0/0 (28) (DF)
11:33:52.273096 nabiki.rsvj > nabiki.rsvj: icmp: nabiki.rsvj udp port 4242 
unreachable [tos 0xc0]
11:33:52.273466 nabiki.rsvj.domain > nabiki.rsvj.4243:  15032 ServFail 
0/0/0 (43) (DF)
11:33:52.273510 nabiki.rsvj > nabiki.rsvj: icmp: nabiki.rsvj udp port 4243 
unreachable [tos 0xc0]
11:33:52.273877 nabiki.rsvj.domain > nabiki.rsvj.4244:  15033 ServFail 
0/0/0 (32) (DF)
11:33:52.273925 nabiki.rsvj > nabiki.rsvj: icmp: nabiki.rsvj udp port 4244 
unreachable [tos 0xc0]
11:33:52.416435 localhost.1628 > localhost.10025: S 115491730:115491730(0) 
win 32767 <mss 16396,sackOK,timestamp 479809693 0,nop,wscale 0> (DF)
11:33:52.416551 localhost.10025 > localhost.1628: S 108587839:108587839(0) 
ack 115491731 win 32767 <mss 16396,sackOK,timestamp 479809693 
479809693,nop,wscale 0> (DF)
11:33:52.416630 localhost.1628 > localhost.10025: . ack 1 win 32767 
<nop,nop,timestamp 479809693 479809693> (DF)
11:33:52.455727 localhost.10025 > localhost.1628: P 1:25(24) ack 1 win 
32767 <nop,nop,timestamp 479809697 479809693> (DF)
11:33:52.455832 localhost.1628 > localhost.10025: . ack 25 win 32767 
<nop,nop,timestamp 479809697 479809697> (DF)
11:33:52.458551 localhost.1628 > localhost.10025: P 1:19(18) ack 25 win 
32767 <nop,nop,timestamp 479809697 479809697> (DF)
11:33:52.458614 localhost.10025 > localhost.1628: . ack 19 win 32767 
<nop,nop,timestamp 479809697 479809697> (DF)
11:33:52.462260 localhost.10025 > localhost.1628: P 25:49(24) ack 19 win 
32767 <nop,nop,timestamp 479809698 479809697> (DF)
11:33:52.463134 localhost.1628 > localhost.10025: P 19:37(18) ack 49 win 
32767 <nop,nop,timestamp 479809698 479809698> (DF)
11:33:52.464283 localhost.10025 > localhost.1628: P 49:85(36) ack 37 win 
32767 <nop,nop,timestamp 479809698 479809698> (DF)
11:33:52.466472 nabiki.rsvj.4245 > nabiki.rsvj.domain:  62572+ MX? ael.be. 
(24) (DF)
11:33:52.468843 nabiki.rsvj.domain > nabiki.rsvj.4245:  62572 ServFail 
0/0/0 (24) (DF)
11:33:52.500462 localhost.1628 > localhost.10025: . ack 85 win 32767 
<nop,nop,timestamp 479809702 479809698> (DF)
11:33:52.594902 nabiki.rsvj.4245 > nabiki.rsvj.domain:  62573+ MX? 
rsvj.ath.cx. (29) (DF)
11:33:52.596882 nabiki.rsvj.domain > nabiki.rsvj.4245:  62573 ServFail 
0/0/0 (29) (DF)
11:33:52.706925 nabiki.rsvj.4245 > nabiki.rsvj.domain:  62574+ A? 
rsvj.ath.cx. (29) (DF)
11:33:52.708848 nabiki.rsvj.domain > nabiki.rsvj.4245:  62574 ServFail 
0/0/0 (29) (DF)
11:33:52.812495 localhost.1628 > localhost.10025: P 37:64(27) ack 85 win 
32767 <nop,nop,timestamp 479809733 479809698> (DF)
11:33:52.827780 localhost.10025 > localhost.1628: F 85:85(0) ack 64 win 
32767 <nop,nop,timestamp 479809734 479809733> (DF)
11:33:52.860477 localhost.1628 > localhost.10025: . ack 86 win 32767 
<nop,nop,timestamp 479809738 479809734> (DF)
11:33:53.005994 localhost.1628 > localhost.10025: F 64:64(0) ack 86 win 
32767 <nop,nop,timestamp 479809752 479809734> (DF)
11:33:53.006078 localhost.10025 > localhost.1628: . ack 65 win 32767 
<nop,nop,timestamp 479809752 479809752> (DF)



A noter: si j'utilise un seul content filter avec soit:
-SA via spamproxyd sur localhost:10025 et retour vers 2nd postfix:10026, 
aucun probl�me.
-amavis-ng via le pipe vscan et retour m�thode postfix, il scanne les 
viruses.

C'est coupler les deux qui me pose probl�me, puisque je ne peux pas non 
plus faire fonctionner la m�thode suivante (peu performante aussi):
SMTP->postfix(25)->pipe|amavis-ng(clam)->postfix(25)->smtp|spamproxyd(10025)->2nd 
postfix(10026)


Je ne vois pas le probl�me directement puisque:

ps ax:
29868 ?        S      0:08 amavisd
30019 pts/2    S      0:09 perl /etc/spamassassin/spamproxyd 
127.0.0.1:10026 127.0.0.1:10027
30140 pts/2    S      0:00 perl /etc/spamassassin/spamproxyd 
127.0.0.1:10026 127.0.0.1:10027
30141 pts/2    S      0:00 perl /etc/spamassassin/spamproxyd 
127.0.0.1:10026 127.0.0.1:10027
30142 pts/2    S      0:00 perl /etc/spamassassin/spamproxyd 
127.0.0.1:10026 127.0.0.1:10027
30143 pts/2    S      0:00 perl /etc/spamassassin/spamproxyd 
127.0.0.1:10026 127.0.0.1:10027
30144 pts/2    S      0:00 perl /etc/spamassassin/spamproxyd 
127.0.0.1:10026 127.0.0.1:10027
30145 pts/2    S      0:00 perl /etc/spamassassin/spamproxyd 
127.0.0.1:10026 127.0.0.1:10027
30146 pts/2    S      0:00 perl /etc/spamassassin/spamproxyd 
127.0.0.1:10026 127.0.0.1:10027
30148 pts/2    S      0:00 perl /etc/spamassassin/spamproxyd 
127.0.0.1:10026 127.0.0.1:10027
30104 ?        S      0:00 /usr/lib/postfix/master
30107 ?        S      0:00 pickup -l -t fifo -u -c
30108 ?        S      0:01 qmgr -l -t fifo -u -c
30109 ?        S      0:00 trivial-rewrite -n rewrite -t unix -u -c
30111 ?        S      0:00 smtp -t unix -u -c
30114 ?        S      0:00 smtp -t unix -u -c
30115 ?        S      0:00 smtp -t unix -u -c
30117 ?        S      0:00 bounce -n defer -t unix -u -c
30118 ?        S      0:00 smtp -t unix -u -c
30122 ?        S      0:00 smtp -t unix -u -c
30129 ?        S      0:00 bounce -n defer -t unix -u -c
30131 ?        S      0:00 bounce -n defer -t unix -u -c
30132 ?        S      0:00 bounce -n defer -t unix -u -c
30139 ?        S      0:00 smtp -t unix -u -c
30163 ?        S      0:00 smtp -t unix -u -c
30173 ?        S      0:00 smtpd -n localhost:10027 -t inet -u -o 
content_filter  -o local_recipient_maps  -o myhostname nabiki.rsvj
30184 ?        S      0:00 smtpd -n smtp -t inet -u -c
30203 ?        S      0:00 cleanup -t unix -u -c
30223 ?        S      0:00 local -t unix
30324 ?        S      0:00 flush -t unix -u -c
30330 ?        S      0:00 flush -t unix -u -c


et:

[EMAIL PROTECTED]:/var/log# telnet localhost 10025
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 AMaViS SMTP Ready.
quit
221 See you later
Connection closed by foreign host.
[EMAIL PROTECTED]:/var/log# telnet localhost 10026
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 MacGyver SMTP Ready.
quit
221 Good.
Connection closed by foreign host.
[EMAIL PROTECTED]:/var/log# telnet localhost 10027
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 nabiki.rsvj ESMTP Postfix (Debian/GNU/RSVJ)
quit
221 Bye
Connection closed by foreign host.
[EMAIL PROTECTED]:/var/log# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 nabiki.rsvj ESMTP Postfix (Debian/GNU/RSVJ)
quit
221 Bye
Connection closed by foreign host.

Les daemons sont tous disponibles...

D�sol� pour la tartine, mais que faire de plus pour que ca marche??? 



PS:Par la suite, une fois ce probl�me r�solu, je changerai clam par 
clamd... 
et je ferai le test sur exim (SA-exim/clamd + spamd) mais c'est une autre 
histoire

PS2 pour spamproxyd: nohup perl /etc/spamassassin/spamproxyd 
127.0.0.1:10026
127.0.0.1:10027 &


--
Vincent Jamart
DBA/UNIX system engineer




_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://www.unixtech.be/mailman/listinfo/linux
Archives: http://www.mail-archive.com/[EMAIL PROTECTED]
IRC: efnet.unixtech.be:6667 - #unixtech

Répondre à