URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 96038
[ Назад ]

Исходное сообщение
"Fetchmail и Spamassassin как их подружить?"

Отправлено CtFelix , 11-Мрт-15 14:03 
Добрый день!

Есть почтовый сервер на FreeBSD связка Exim+Dovecot+Roundcube дополнительно есть сборщик почты Fetchmail для защиты от спама установлен SpamAssassin.

SpamAssassin работает и проверяет только почту, которая была получена из вне на почтовый адрес, помечает и отправляет в соответствующую папку, но почту, которую доставляет Fetchmail не проверяет совсем, а как сделать так, чтобы SpamAssassin проверял почту доставленную Fetchmail я не могу разобраться.

Конфиг фетча выглядит так.

set postmaster "postmaster"
set nobouncemail
set no spambounce
set properties ""
set syslog

poll mail.kz with proto POP3
        user 'take-it@mail.kz' there with password '2312456' mda "/usr/sbin/sendmail -oem -f %F put-it@domain.kz" fetchall

В логе эксима я вижу, что фетч зашёл взял письмо и положил его в целевой ящик. Просматриваю заголовок сообщения и там нет никакой информации о проверки письма асасином. Если письмо приходит из внешки то в заголовках есть сообщение, что асасин его проверил, а вот фетч не проверяет.

Может кто сталкивался с подобной ситуацией и может подсказать как заставить SpamAssassin проверять почту сборщика?


Содержание

Сообщения в этом обсуждении
"Fetchmail и Spamassassin как их подружить?"
Отправлено universite , 12-Мрт-15 02:58 
> Добрый день!
> Может кто сталкивался с подобной ситуацией и может подсказать как заставить SpamAssassin
> проверять почту сборщика?

вам еще нужен procmail


"Fetchmail и Spamassassin как их подружить?"
Отправлено CtFelix , 12-Мрт-15 07:24 
>> Добрый день!
>> Может кто сталкивался с подобной ситуацией и может подсказать как заставить SpamAssassin
>> проверять почту сборщика?
> вам еще нужен procmail

А почему нельзя использовать Exim этот тоже же тоже майл агент или я что то не понимаю ?


"Fetchmail и Spamassassin как их подружить?"
Отправлено DeadLoco , 12-Мрт-15 16:09 
> я что то не понимаю ?

Фетч достает письмо с другого сервера, предназначенное, скорее всего, для чужого почтового домена. Если такое письмо вбросить в экзим он, скорее всего, отправит его наружу, обратно на исходный сервер. Ну, или вы создадите громадную таблицу исключений-соответствий-подмен адресов.

Поэтому, обычно, фетч выдергивает письма и складирует их в указанное место, обходя весь функционал МТА. И, разумеется, СА, который у вас дергается из экзима.


"Fetchmail и Spamassassin как их подружить?"
Отправлено CtFelix , 12-Мрт-15 17:30 
>> я что то не понимаю ?
> Фетч достает письмо с другого сервера, предназначенное, скорее всего, для чужого почтового
> домена. Если такое письмо вбросить в экзим он, скорее всего, отправит
> его наружу, обратно на исходный сервер. Ну, или вы создадите громадную
> таблицу исключений-соответствий-подмен адресов.
> Поэтому, обычно, фетч выдергивает письма и складирует их в указанное место, обходя
> весь функционал МТА. И, разумеется, СА, который у вас дергается из
> экзима.

Если вы глянете моё сообщение ниже, то вы увидите, что я всё же заставил СА проверять почту, но он не дописывает в тело письма свои результаты и в итоге письмо попадает в ящик без очков за спам и каких либо пометок от СА, хотя в логах я вижу, что СА его проверил и назначил очки.

Но я всё же думаю, что это тоже не особо верно или я что то настраиваю не так, а что не так и как верно настроить не могу сообразить, уже идей больше нет.


"Fetchmail и Spamassassin как их подружить?"
Отправлено CtFelix , 12-Мрт-15 12:14 
Подправил конфиг так:
set postmaster "postmaster"
set nobouncemail
set no spambounce
set properties ""
set syslog

poll pop.yandex.ru with proto POP3
user 'take-it@yandex.ru' there with password '45646456' is 'put-it@domain.kz' here
smtp 192.168.20.3/25

Так я вижу в логах эксима, что письма fetchmail пересылает как будто они с внешки.

В логах теперь видно, что эти письма проверяет и спамассасин и выставляет им очки. В случае с этим письмом письму было выставлено 6 очков, это спам.

11406 Mar 12 14:53:39 webserver fetchmail[49414]: Ошибка проверки сертификата сервера: unable to get local issuer certificate
11407 Mar 12 14:53:39 webserver fetchmail[49414]: This means that the root signing certificate (issued for /C=PL/O=Unizeto Technologies S.A./OU=Certum Certification Authority/
11408 Mar 12 14:53:39 webserver fetchmail[49414]: Ошибка проверки сертификата сервера: certificate not trusted
11409 Mar 12 14:53:39 webserver fetchmail[49414]: Warning: the connection is insecure, continuing anyways. (Better use --sslcertck!)
11410 Mar 12 14:53:40 webserver fetchmail[49414]: 1 сообщение для take-it@yandex.ru на pop.yandex.ru (2370 октетов).
11411 Mar 12 14:53:40 webserver spamd[47983]: spamd: connection from localhost [127.0.0.1]:57185 to port 783, fd 5.
11412 Mar 12 14:53:40 webserver spamd[47983]: spamd: setuid to admin succeeded.
11413 Mar 12 14:53:40 webserver spamd[47983]: spamd: checking message <10801011426150400@web29h.yandex.ru> for admin:1001.
11414 Mar 12 14:53:50 webserver spamd[47983]: spamd: identified spam (6.0/3.0) for admin:1001 in 10.0 seconds, 2893 bytes..
11415 Mar 12 14:53:50 webserver spamd[47983]: spamd: result: Y 6 - FREEMAIL_FROM,LONGWORDS,T_RP_MATCHES_RCVD,URIBL_BLACK,URIBL_DBL_SPAM scantime=10.0,size=2893,user=admin,uid=
11416 Mar 12 14:53:50 webserver fetchmail[49414]: считывается сообщение take-it@yandex.ru@pop.yandex.ru:1 из 1 (2370 октетов) очищено
11417 Mar 12 14:53:50 webserver spamd[47964]: prefork: child states: II.

Но письмо не пометилось как спам, в теле письма так же нет записей о том, что его проверил спамассасин и присвоил ему какие то очки, а если это письмо прислать с внешки, то оно помечается как спам и попадает в соответствующую папку.

Как выяснить почему письмам, которые доставляет фетч и проверяет спамассасин в тело не дописывается результат проверки?


"Fetchmail и Spamassassin как их подружить?"
Отправлено CtFelix , 13-Мрт-15 13:24 
Разобрался в чём была проблема, немного не верно был написан конфиг exim подправил.

Было так:

#spamassasin

accept senders = /usr/local/etc/exim/white.list

warn  message = X-Spam-Status: Yes
        hosts   = !+relay_from_hosts
        spam    = admin:true

warn  message = X-Spam-Score: $spam_score ($spam_bar)
        hosts   = !+relay_from_hosts
        spam    = admin:true

warn  message = X-Spam-Report: $spam_report
        hosts   = !+relay_from_hosts
        spam    = admin:true

warn  message = Subject: ***SPAM*** $h_Subject:
        hosts   = !+relay_from_hosts
        spam    = admin

deny  message = This message scored $spam_score spam points.
        spam    = admin:true
        log_message = It`s SPAM!!!!
        hosts   = !+relay_from_hosts
        condition = ${if >{$spam_score_int}{120}{1}{0}}

accept

Подправил так:

#spamassasin

accept senders = /usr/local/etc/exim/white.list

# put headers in all messages (no matter if spam or not)
        warn  spam = admin:true
        add_header = X-Spam-Score: $spam_score ($spam_bar)
        add_header = X-Spam-Report: $spam_report

# add second subject line with *SPAM* marker when message
# is over threshold
        warn  spam = admin
        add_header = Subject: ***SPAM*** $h_Subject:

warn  message = X-Spam-Status: Yes
        hosts   = !+relay_from_hosts
        spam    = admin:true

deny  message = This message scored $spam_score spam points.
        spam    = admin:true
        log_message = It`s SPAM!!!!
        hosts   = !+relay_from_hosts
        condition = ${if >{$spam_score_int}{120}{1}{0}}

accept

И теперь спамассасин проверяет всю почту, и с внешки, и ту что доставляет фетч, ставит соответствующие пометки и убирает в папку спам согласно правилам.