> Ну и, попутно, в этой связи как не вспомнить о DMARC. А никак не вспомнить. У 4/5 хостов даже спф не настроен, не говоря уж о дким, а дмарк - дело нескорого будущего. Пока что его наличие/полезность в пределах статпогрешности.
>> спамерский признак добавляет сообщению очки, а вывод делается по сумме
> Я придерживаюсь примерно того же подхода учитывая историческую репутацию отправителя.
Я игрался с начислением очков в ацлях экзима лет десять тому. Но потом просто подбил статистику по четырем миллионам сессий за год, и понял, что все это очень здорово, но совершенно не нужно. Реверс-лукап, маленький блеклист, байес. Отдельно обращаю внимание - никакого грейлистинга, никаких днсблов.
Моя статистика следующая: 85% спама режется по реверс-лукапу. Вот тупо нет даже динамического провайдерского имени вида 123-234-adls.345.comcast.net. Из оставшихся 15% еще 14.5% (95%) режется по локальному регулярно освежаемому черному списку регекспов/доменов/айпих, составляемому по топ-100 срабатываний байеса.
Вот выхлоп скрипта, который раз в неделю парсит лог СА, подбивает статистику по злостным рассыльщикам спама, и автоматом формирует список регекспов в формате lsearch экзима:
26473 ^.*jafeto.*
25961 ^.*\d+[-\.]\d+[-\.]\d+.*
23828 ^.*hqitope.*
22817 ^.*zemonik.*
19869 ^.*lcruzer.*
18738 ^.*hiolom.*
16209 ^.*jmtier.*
14013 ^.*fiolon.*
13860 ^.*billingers.*
13642 ^.*jokiolo.*
11173 ^.*gravirai.*
10921 ^.*jizana.*
10334 ^.*partamus.*
9662 ^.*frankryk.*
7528 ^.*bizneroa.*
6931 ^.*forbes.*
6646 ^.*informark.*
6405 ^.*geremans.*
6026 ^.*mclarens.*
5763 ^.*holihik.*
5669 ^.*interboxe.*
5647 ^.*fendirtoon.*
5623 ^.*gomelins.*
5623 ^.*emlone.*
5481 ^.*freewares.*
5317 ^.*timareg.*
.......
lsearch ГОРАЗДО быстрее байеса, и этот блеклист можно рассматривать просто как кеширование результатов байеса. Этот список обычно в длину имеет 7-8 тыс строк, и, как я уже говорил, отлавливает не менее 95% спама, который пришел с хостов, имеющих ПТР-запись.
И вот только оставшихся 0.5% проверяются байесом, которому кривая селективности подкручена так, что результат "BAYES_99" означает, по сути, "BAYES_9999". Чтобы было понятно - у меня база токенов байеса имеет размер 32 мегабайта. Ну, если это о чем-то говорит, конечно.