Страница 1 из 1

Postfix+Spamassasin помогите разобраться (+)

Добавлено: 2014-01-10 16:27:31
Dennisbv
Доброго времени суток,
Помогите разобраться со связкой Postfix + Spamassasin.

Имеется настроенный сервер Postfix, почта ходит и проверяется на вирусы clamav'ом.
В качестве проверки на спам хочу прикрутить spamasassin, но стоит только прописать фильтр в master.conf, как почта перестает ходить.
В логах следущее:

Код: Выделить всё

Jan 10 16:37:27 msk postfix/smtpd[83304]: connect from comp017.xxx[192.168.110.54]
Jan 10 16:37:27 msk postfix/smtpd[83304]: 76326170BA: client=comp017.xxx[192.168.110.54], sasl_method=PLAIN, sasl_username=alex
Jan 10 16:37:27 msk postfix/cleanup[83308]: 76326170BA: message-id=<52CFE8D6.2010404@xxx>
Jan 10 16:37:27 msk postfix/qmgr[83303]: 76326170BA: from=<alex@xxx>, size=662, nrcpt=1 (queue active)
Jan 10 16:37:27 msk postfix/smtpd[83304]: disconnect from comp017.xxx[192.168.110.54]
Jan 10 16:37:27 msk spamd[80915]: spamd: connection from localhost [127.0.0.1] at port 48232
Jan 10 16:37:27 msk spamd[80915]: spamd: setuid to virtual succeeded
Jan 10 16:37:27 msk spamd[80915]: spamd: processing message <52CFE8D6.2010404@xxx> for virtual:1111
Jan 10 16:37:30 msk spamd[80915]: spamd: clean message (-1.1/6.0) for virtual:1111 in 2.7 seconds, 685 bytes.
Jan 10 16:37:30 msk spamd[80915]: spamd: result: . -1 - ALL_TRUSTED,RP_MATCHES_RCVD,TVD_SPACE_RATIO scantime=2.7,size=685,user=virtual,uid=1111,required_score=6.0,rhost=localhost,raddr=127.0.0.1,rport=48232,mid=<52CFE8D6.2010404@xxx>,autolearn=ham
Jan 10 16:37:30 msk spamd[80914]: prefork: child states: II
Jan 10 16:37:37 msk sendmail[83310]: s0ACbUDh083310: Authentication-Warning:xxx: virtual set sender to alex@xxx using -f
Jan 10 16:37:37 msk sendmail[83310]: s0ACbUDh083310: from=alex@xxx, size=900, class=0, nrcpts=1, msgid=<52CFE8D6.2010404@xxx>, relay=virtual@localhost
Jan 10 16:37:37 msk postfix/smtpd[83304]: connect from localhost[127.0.0.1]
Jan 10 16:37:37 msk sendmail[83310]: STARTTLS=client, relay=[127.0.0.1], version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/256
Jan 10 16:37:37 msk postfix/smtpd[83304]: 34A8B1710F: client=localhost[127.0.0.1]
Jan 10 16:37:37 msk postfix/cleanup[83308]: 34A8B1710F: message-id=<52CFE8D6.2010404@xxx>
Jan 10 16:37:37 msk postfix/qmgr[83303]: 34A8B1710F: from=<alex@xxx>, size=1379, nrcpt=1 (queue active)
Jan 10 16:37:37 msk sendmail[83310]: s0ACbUDh083310: to=denis@xxx, ctladdr=alex@xxx (1111/1111), delay=00:00:07, xdelay=00:00:00, mailer=relay, pri=30900, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (Ok: queued as 34A8B1710F)
Jan 10 16:37:37 msk postfix/pipe[83309]: 76326170BA: to=<denis@xxx>, relay=spam, delay=9.8, delays=0.02/0.01/0/9.8, dsn=2.0.0, status=sent (delivered via spam service)
Jan 10 16:37:37 msk postfix/qmgr[83303]: 76326170BA: removed
Jan 10 16:37:37 msk postfix/smtpd[83304]: disconnect from localhost[127.0.0.1]
Jan 10 16:37:37 msk spamd[80915]: spamd: connection from localhost [127.0.0.1] at port 26063
Jan 10 16:37:37 msk spamd[80915]: spamd: setuid to virtual succeeded
Jan 10 16:37:37 msk spamd[80915]: spamd: processing message <52CFE8D6.2010404@xxx> for virtual:1111
Jan 10 16:37:39 msk spamd[80915]: spamd: clean message (-1.1/6.0) for virtual:1111 in 2.1 seconds, 1390 bytes.
Jan 10 16:37:39 msk spamd[80915]: spamd: result: . -1 - ALL_TRUSTED,RP_MATCHES_RCVD,TVD_SPACE_RATIO scantime=2.1,size=1390,user=virtual,uid=1111,required_score=6.0,rhost=localhost,raddr=127.0.0.1,rport=26063,mid=<52CFE8D6.2010404@xxx>,autolearn=unavailable
Jan 10 16:37:39 msk spamd[80914]: prefork: child states: II
Jan 10 16:37:46 msk sendmail[83313]: s0ACbd6Y083313: Authentication-Warning: msk.housestyle.ru: virtual set sender to alex@xxx using -f
Jan 10 16:37:46 msk sendmail[83313]: s0ACbd6Y083313: from=alex@xxx, size=1398, class=0, nrcpts=1, msgid=<52CFE8D6.2010404@xxx>, relay=virtual@localhost
Jan 10 16:37:46 msk postfix/smtpd[83304]: connect from localhost[127.0.0.1]
Jan 10 16:37:46 msk sendmail[83313]: STARTTLS=client, relay=[127.0.0.1], version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/256
Jan 10 16:37:46 msk postfix/smtpd[83304]: 64A7B1711B: client=localhost[127.0.0.1]
Jan 10 16:37:46 msk postfix/cleanup[83308]: 64A7B1711B: message-id=<52CFE8D6.2010404@xxx>
Jan 10 16:37:46 msk sendmail[83313]: s0ACbd6Y083313: to=denis@xxx, ctladdr=alex@xxx (1111/1111), delay=00:00:07, xdelay=00:00:00, mailer=relay, pri=31398, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (Ok: queued as 64A7B1711B)
Jan 10 16:37:46 msk postfix/qmgr[83303]: 64A7B1711B: from=<alex@xxx>, size=1885, nrcpt=1 (queue active)
Jan 10 16:37:46 msk postfix/pipe[83309]: 34A8B1710F: to=<denis@xxx>, relay=spam, delay=9.3, delays=0.1/0/0/9.2, dsn=2.0.0, status=sent (delivered via spam service)
Jan 10 16:37:46 msk postfix/smtpd[83304]: disconnect from localhost[127.0.0.1]
Jan 10 16:37:46 msk postfix/qmgr[83303]: 34A8B1710F: removed
Jan 10 16:37:46 msk spamd[80915]: spamd: connection from localhost [127.0.0.1] at port 41382
Jan 10 16:37:46 msk spamd[80915]: spamd: setuid to virtual succeeded
Jan 10 16:37:46 msk spamd[80915]: spamd: processing message <52CFE8D6.2010404@xxx> for virtual:1111
Jan 10 16:37:48 msk spamd[80915]: spamd: clean message (-1.1/6.0) for virtual:1111 in 2.0 seconds, 1888 bytes.
Jan 10 16:37:48 msk spamd[80915]: spamd: result: . -1 - ALL_TRUSTED,RP_MATCHES_RCVD,TVD_SPACE_RATIO scantime=2.0,size=1888,user=virtual,uid=1111,required_score=6.0,rhost=localhost,raddr=127.0.0.1,rport=41382,mid=<52CFE8D6.2010404@xxx>,autolearn=unavailable
Jan 10 16:37:48 msk spamd[80914]: prefork: child states: II
Jan 10 16:37:55 msk sendmail[83315]: s0ACbmam083315: Authentication-Warning: xxx: virtual set sender to alex@xxx using -f
Jan 10 16:37:55 msk sendmail[83315]: s0ACbmam083315: from=alex@xxx, size=1888, class=0, nrcpts=1, msgid=<52CFE8D6.2010404@xxx>, relay=virtual@localhost
Jan 10 16:37:55 msk postfix/smtpd[83304]: connect from localhost[127.0.0.1]
Jan 10 16:37:55 msk sendmail[83315]: STARTTLS=client, relay=[127.0.0.1], version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/256
Jan 10 16:37:55 msk postfix/smtpd[83304]: 869B61711E: client=localhost[127.0.0.1]
Jan 10 16:37:55 msk postfix/cleanup[83308]: 869B61711E: message-id=<52CFE8D6.2010404@xxx>
Jan 10 16:37:55 msk postfix/qmgr[83303]: 869B61711E: from=<alex@xxx>, size=2383, nrcpt=1 (queue active)
Jan 10 16:37:55 msk sendmail[83315]: s0ACbmam083315: to=denis@xxx, ctladdr=alex@xxx (1111/1111), delay=00:00:07, xdelay=00:00:00, mailer=relay, pri=31888, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (Ok: queued as 869B61711E)
Jan 10 16:37:55 msk postfix/smtpd[83304]: disconnect from localhost[127.0.0.1]
Jan 10 16:37:55 msk postfix/pipe[83312]: 64A7B1711B: to=<denis@xxx>, relay=spam, delay=9.2, delays=0.1/0/0/9.1, dsn=2.0.0, status=sent (delivered via spam service)
Jan 10 16:37:55 msk postfix/qmgr[83303]: 64A7B1711B: removed
Jan 10 16:37:55 msk spamd[80915]: spamd: connection from localhost [127.0.0.1] at port 34637
Jan 10 16:37:55 msk spamd[80915]: spamd: setuid to virtual succeeded
Jan 10 16:37:55 msk spamd[80915]: spamd: processing message <52CFE8D6.2010404@xxx> for virtual:1111
Jan 10 16:37:57 msk spamd[80915]: spamd: clean message (-1.1/6.0) for virtual:1111 in 2.0 seconds, 2378 bytes.
Jan 10 16:37:57 msk spamd[80915]: spamd: result: . -1 - ALL_TRUSTED,RP_MATCHES_RCVD,TVD_SPACE_RATIO scantime=2.0,size=2378,user=virtual,uid=1111,required_score=6.0,rhost=localhost,raddr=127.0.0.1,rport=34637,mid=<52CFE8D6.2010404@xxx>,autolearn=unavailable
Jan 10 16:37:57 msk spamd[80914]: prefork: child states: II
т.е. насколько я вижу письмо попадает в очередь, далее на обработку в спамасассин, встает после проверки в очередь и затем опять попадает на проверку (зацикливается)как разорвать этот круг? или может я не правильно уловил суть проблемы?

конфиги постфикса, если нужно еще что-то скажите выложу.

Код: Выделить всё

master.cf
-----------
smtps     inet  n       -       n       -       -       smtpd
pickup    unix  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
cyrus     unix  -       n       n       -       -       pipe
  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
old-cyrus unix  -       n       n       -       -       pipe
  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient

scan unix - - n - 16 smtp
  -o smtp_send_xforward_command=yes
  -o smtp_enforce_tls=no

127.0.0.1:10026 inet n - n - 16 smtpd
  -o content_filter=
  -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
  -o smtpd_helo_restrictions=
  -o smtpd_client_restrictions=
  -o smtpd_sender_restrictions=
  -o smtpd_recipient_restrictions=permit_mynetworks,reject
  -o mynetworks_style=host
  -o smtpd_authorized_xforward_hosts=127.0.0.0/8

smtp inet n - n - - smtpd
  -o content_filter=spam:dummy

spam unix - n n - - pipe
  flags=Rq user=virtual argv=/usr/local/bin/spamc -u virtual -e /usr/sbin/sendmail -f $sender $recipient

Код: Выделить всё

main.cf
----------
queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
data_directory = /var/db/postfix
mail_owner = postfix
myhostname = xxx
myorigin = $myhostname
inet_interfaces = all
mydestination = $myhostname
local_recipient_maps = $virtual_mailbox_maps
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8
smtpd_recipient_restrictions = permit_mynetworks
alias_maps = hash:/etc/aliases
home_mailbox = Maildir/
mail_spool_directory = /var/mail
smtpd_banner = $myhostname ESMTP $mail_name
debug_peer_level = 2
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/local/sbin/sendmail
newaliases_path = /usr/local/bin/newaliases
mailq_path = /usr/local/bin/mailq
setgid_group = maildrop
html_directory = /usr/local/share/doc/postfix
manpage_directory = /usr/local/man
sample_directory = /usr/local/etc/postfix
readme_directory = /usr/local/share/doc/postfix
inet_protocols = ipv4
transport_maps = mysql:/usr/local/etc/postfix/mysql/transport_maps.conf
virtual_gid_maps = static:1111
virtual_uid_maps = static:1111
virtual_minimum_uid = 1001
virtual_mailbox_base = /var/spool/mail/virtual
virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql/alias_maps.conf
virtual_mailbox_domains = $myhostname mysql:/usr/local/etc/postfix/mysql/domains_maps.conf
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql/mailbox_maps.conf
virtual_transport = virtual:
virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mysql/mailbox_limit_maps.conf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, quota is over!
virtual_overquota_bounce = yes
virtual_mailbox_limit = 102400000
broken_sasl_auth_clients = yes
message_size_limit = 10000000
smtpd_sasl_auth_enable = yes
smtpd_use_tls = yes
smtpd_tls_cert_file = /usr/local/etc/postfix/ssl/xxx.ru.crt
smtpd_tls_key_file = /usr/local/etc/postfix/ssl/xxx.ru.key
content_filter = scan:[127.0.0.1]:10025
receive_override_options = no_address_mappings

Re: Postfix+Spamassasin помогите разобраться (+)

Добавлено: 2014-01-13 15:09:28
Dennisbv
Решил проблему.
На случай, если кому-то будет интересно, или пригодится мой опыт.
Рекомендую ознакомится со статьей - "Postfix. Использование внешних фильтров содержимого"
http://ansi.by/plz/29-postfix-ispolzova ... imogo.html (с)

добавил в master.cf

Код: Выделить всё

127.0.0.1:smtp inet n - n - 16 smtpd
  -o content_filter=
таким образом разорвал цикл, почта работает - на спам и вирусы проверяется =)