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

Исходное сообщение
"SpamAssassin"

Отправлено jabahata , 19-Мрт-10 03:14 
На сервере трудится exim4. Поставили SpamAssasin.
В local.cf: required_score 5.0
В логах exim такие штуки:
2010-03-19 03:11:47 1NsPoY-0002Th-9i SA: Action: flagged as Spam but accepted: score=7.1 required=5.0 (scanned in 0/0 secs | Message-Id: 000d01cac6f8_c3751620_6400a8c0@bux). From <bux@ps-automation.ru> (host=NULL [187.14.24.230])

Вопрос: почему SA пропускает такие сообщения? Где косяк?


Содержание

Сообщения в этом обсуждении
"SpamAssassin"
Отправлено DeadLoco , 19-Мрт-10 03:58 
>Вопрос: почему SA пропускает такие сообщения? Где косяк?

required_score - еще не причина отвергнуть письмо. Это вполне может быть фальш-позитив, т.е. неверно опознанное легальное письмо, слегка заступившее за грань фола. Гораздо разумнее его принять и дать разобраться с ним пользователю, чем автоматически удалить.

У меня экзим со СА взаимодействуют так:

1. СА запущен демоном и почтой не рулит - лишь начисляет баллы. Поэтому required_score может быть даже нулевым - он не используется.
2. Экзим обращается к СА из ацля стадии DATA
3. СА анализирует тело письма и возвращает экзиму начисленные баллы
4. Экзим, в зависимости от количества баллов,
- либо пропускает письмо без изменений (меньше 5.0)
- либо дописывает ему хедер X-Spam-Ooops и пропускает (более 5.0, но меньше 10.0)
- либо баунсит письмо с сообщением инвективного характера (более 10.0)
5. Пропущенные письма отдаются LDA, который по наличию/отсутствию хедера X-Spam-Ooops раскладывает письма в каталоги JUNK/INBOX


acl_data:

accept  condition       = ${if >{$message_size}{200k}{1}{0}}       # Спама размером больше 200к практически не бывает, а СА на больших письмах сурово тормозит.

warn    spam            = spamd
        add_header      = X-Spam-Ooops: $spam_score_int
        condition       = ${if >{$spam_score_int}{50}{1}{0}}       # 5.0 балла от СА

deny    spam            = spamd
        message         = Sorry, this message is identified as spam.
        condition       = ${if >{$spam_score_int}{100}{1}{0}}      # 10.0 балла

accept  # все, что не отсеялось на deny - с хедером и без