SpamAssassin настройки

Кто-нибудь смог настроить RELAYCOUNTRY?

прописал

/etc/spamassassin/local.cf 
add_header all Relay-Country _RELAYCOUNTRY_

Должно добавить Header в письмо - X-Relay-Countries
Когда запускаю руками от root spamassassin или spamc он добавляет
А вот amavisd не ставит. Что нужно настроить?
У меня стоит вот такие scores:

#Первый релей - Россия
header          __LOCAL_COUNTRY_RU X-Relay-Countries=~/^RU/

#Релей - из страны SPAM
header          LOCAL_COUNTRY_SPAM X-Relay-Countries=~/^(XX XX)|PL|IL|IN|JP|RO|TR|CH|AU|NL|HK|(CZ CZ)/
score           LOCAL_COUNTRY_SPAM 1

#Письмо пришло от , 
header          __LOCAL_FROM_COM From=~/\.(com|net)>?$/

#Релей из России а эл. адрес - .com
meta            LOCAL_REPLY_NOT_RU (__LOCAL_FROM_COM && __LOCAL_COUNTRY_RU)
score           LOCAL_REPLY_NOT_RU 1

#Релей из страны SPAM и эл. адрес - .com
meta            LOCAL_FROM_SPAM (__LOCAL_FROM_COM && LOCAL_COUNTRY_SPAM)
score           LOCAL_FROM_SPAM 10

Все это работает, тесты ставятся в письма, но вот HEADER не добавляется
И еще я скачал http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
базу для GeoIP - города, которая бесплатная, работает хорошо, как ее прикрутить к geoip?
Чтобы не писать geoiplookup -f GeoLiteCity.dat

Также хотел спросить совета

Также хотел спросить совета насчет Fake MX и Long Delay
Здесь http://wiki.apache.org/spamassassin/OtherTricks советуют
добавить 2 MX записи выше и ниже чтобы отрубать зомби
fake0.example.com 10
realmx.example.com 20
fake1.example.com 30
fake0 не отвечает, а fake1 отдает ошибку "Come Back Later"
Норамальный сервер будет перебирать по порядку, а зомби может и наугад после первого.
Задержка будет меньше чем у greylist
Вроде идея хорошая, что Вы думаете?

Long Delay (postfix)
smtpd_client_restriction = sleep 5,
Поспать 5 секунд тоже не каждый спаммер согласится, ведь столько почты нужно отправить.

Поверь моему опыту,

Поверь моему опыту, спам-сетям глубоко по барабану, сколько у тебя mx-записей, они будут слать по всем сразу. Эти советы были действенны в году 2005, но уже не сейчас.

Засыпание - действенная вещь, но спать больше 10 секунд уже рискованно.

Не грусти, товарищ! Всё хорошо, beautiful good!

Спасибо за совет попробую 5

Спасибо за совет попробую 5 секунд сначала.
Только вот сдается мне что те, кто отправляет мне спам делают это уже с нормальных серверов, тупые и так отваливаются после проверок.
И резать их приходится уже SPAMASSASSINом

а RELAY_COUNTRY я так понимаю никто не использует?

?

winterheart написал(а):
Засыпание - действенная вещь, но спать больше 10 секунд уже рискованно.

Можешь исходя из личного опыта представить размышления на предмет первого любимого вопроса "почему?"? :)

Исходя из моих представлений о здравом смысле умолчательное значение (5 сек) может оказаться не оптимальным.

:wq
--
Live free or die

А какое значение оптимально?

А какое значение оптимально?

Добавил scores по анализу

Добавил scores по анализу СПАМа:

score DATE_IN_PAST_06_12 2.504 4.5 1.499 3.5
score DIGEST_MULTIPLE 0 4 0 3 # n=0 n=2
score MIME_QP_LONG_LINE 2.499 3.5 1.500 3
score MIME_HEADER_CTYPE_ONLY 1.039 4 1.186 3

Статистика такая:

DATE_IN_PAST_06_12=1.854	6%
DIGEST_MULTIPLE=0.001	7%
MIME_QP_LONG_LINE=1.819	8%
MIME_HEADER_CTYPE_ONLY=0.856	25%

В спаме, в хаме 0-1%.
Остальные есть и там и там.

Что-то со SpamAssassin-ом не

Что-то со SpamAssassin-ом не так.
Поставил его в связке с amavisd-new.
Когда почта приходит как обычно через amavis настройки берутся из /etc/amavisd.conf
В частности, там указано
$sa_tag2_level_deflt = 6.31;
Когда я запускаю рутом spamc то $sa_tag2_level_deflt = 5
При этом spamc вообще ничего не делает и печатает то же письмо:

#spamc < my.msg
выводит my.msg
#spamassassin < my.msg
X-Spam-Status: Yes, score=5.7 required=5.0 tests=BAYES_05,LOCAL_COUNTRY_RU_ANY,
        LOCAL_REPLY_NOT_RU,SUBJ_ILLEGAL_CHARS,TVD_SPACE_RATIO autolearn=no
        version=3.2.5
X-Spam-Relay-Country: RU **
потом таблицу scores и сует письмо во вложение потому что спам.

Вопросы:
1. У меня в настройках amavis все тесты выводятся с баллами, как это сделать для root?
2. в /etc/amavisd.conf $sa_tag_level_deflt = undef, то есть тесты печатаются всегда
как это указать в /root/.spamassassin/user_prefs? Ведь я так понимаю $sa_tag_level_deflt переменная amavis
3. В ручном запуске X-Spam-Relay-Country ставится, почему не ставится в amavisd? То, что надо ставить прописано в /etc/spamassassin/local.cf
4. В таблице scores некоторые scores имеют 4 значения, некоторые 1. При этом у меня получается что неспам получает, допустим 2-е значение, а спам 4-ое. С чем это связано, по какому принципу это выбирается? А то ставлю вслепую. Там был какой-то scoreset и переключение с 1 на 3 когда запускал отладку -D, но смысл не понял.

В документации я этого не нашел, поиск в гугле также находит только вопросы, внятных ответов нет.
Для чего я хочу это сделать - получается рут когда учит sa-learn, то использует настройки, отличные от amavis, это не есть хорошо. Потом я меняю scores, и для статистики хочу пересчитать их в накопленных письмах, а настройки различаются и поэтому не сходятся ответы (в частности required=5 вместо required=6.31).
В документации /usr/share/doc/spamassassin-3.2.5/STATISTICS-set0.txt.bz2 приводит таблицу статистики с числом false-positives, false-negatives в зависимости от required с шагом и начинается с 5. А amavis ставит 6.31

Потому что SA не использует

Потому что SA не использует настройки amavis. Amavis сообщает все изменения в конфигурации на этапе запуска.

Потому что Amavis не загружает нужных модулей.

Веса ставится исходя из проводимых тестов -
первая цифра - нет результатов по Байесу и сетевым тестам
вторая цифра - есть сетевые, нет Байеса
третья цифра - есть Байес, нет сетевых
четвертая цифра - есть Байес, есть сетевые

Не грусти, товарищ! Всё хорошо, beautiful good!

Спасибо winterheart

Спасибо winterheart :)

Цитата:
Потому что Amavis не загружает нужных модулей.

Если так, то почему он ставит тесты LOCAL_REPLY_NOT_RU в моем случае?
Проблема, что он модуль загружает, но не ставит заголовок, чего ему не хватает?

Цитата:
Потому что SA не использует настройки amavis. Amavis сообщает все изменения в конфигурации на этапе запуска

Вот-вот, а как эти настройки перенести на root? Прописать их в local.cf?
Мне нужно:
1. Ставить баллы тестам.
2. Писать тесты всегда, не только спаму.
3. Поставить required=6.31 как в amavis
4. Как включить проверку описанную http://www.spamhaus.org/effective_filtering.html URIBL_SBL?
А то достали однотипные письма со ссылкой на порнуху.

За простановку весов отвечает

За простановку весов отвечает $sa_tag_level_deflt. По умолчанию undef. Если нужно проставлять в валидных письмах - поставь запредельно отрицательное число.

Настройки SA ставятся только в local.cf, из amavis их нельзя переносить.

Изменять веса по умолчанию не рекомендуется - можно очень сильно покорежить прием писем в плане ложных срабатываний на валидную почту.

Не грусти, товарищ! Всё хорошо, beautiful good!

НУ да

winterheart написал(а):
За простановку весов отвечает $sa_tag_level_deflt. По умолчанию undef. Если нужно проставлять в валидных письмах - поставь запредельно отрицательное число.

Изменять веса по умолчанию не рекомендуется - можно очень сильно покорежить прием писем в плане ложных срабатываний на валидную почту.

required_score 6.31 - это вместо 5
выместо $sa_tag_level_deflt, а undef=запредельно отрицательное число и так. а понятие tag_level в spamassassin нет.
Что касается изменять веса -
вот эти scores у многих русских встречаются, значения очень большие, пришлось их уменьшать

#score BAD_ENC_HEADER 3.499 2.870 1.947 1.810
#score CHARSET_FARAWAY_HEADER 3.200
#score FORGED_MUA_OUTLOOK 4.199 4.199 2.963 3.116
#score FROM_EXCESS_BASE64 2.077 1.984 1.574 1.456
#score FROM_ILLEGAL_CHARS 2.922 3.999 3.999 3.995
#score HEAD_ILLEGAL_CHARS 3.799 3.729 3.799 3.622
#score INVALID_MSGID 2.999 2.603 2.489 1.900
#score MIME_BASE64_TEXT 2.701 2.796 1.709 1.753
#score SUBJ_ILLEGAL_CHARS 1.173 1.527 1.954 1.586

И многие это рекомендуют, если язык отличен от англ.
Почему тогда нельзя увеличивать те, которые для меня подходят?

Чтобы было ясно:

#spamassassin <my.msg
Return-Path: <marisha@unisgroup.com>
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mail.domain.ru
X-Spam-Level: ******
X-Spam-Status: No, score=6.1 required=6.3 tests=HTML_MESSAGE,
        LOCAL_COUNTRY_RU_ANY,LOCAL_REPLY_NOT_RU,MIME_HEADER_CTYPE_ONLY,RDNS_NONE
        autolearn=no version=3.2.5
X-Spam-Relay-Country: RU

Это spamassassin под рутом
А это - через почтовый сервер:

Return-Path: <marisha@unisgroup.com>
X-Virus-Scanned: amavisd-new at uralpress.ru
X-Spam-Flag: NO
X-Spam-Score: 6.101
X-Spam-Level: ******
X-Spam-Status: No, score=6.101 required=6.31 tests=[HTML_MESSAGE=0.001,
        LOCAL_COUNTRY_RU_ANY=-1, LOCAL_REPLY_NOT_RU=4,
        MIME_HEADER_CTYPE_ONLY=3, RDNS_NONE=0.1]

Разница - нет баллов и X-Spam-Relay-Country

Кстати, вот scores по

Кстати, вот scores по Байесу:

BAYES_00 0 0 -2.312 -2.599
BAYES_05 0 0 -1.110 -1.110
BAYES_20 0 0 -0.740 -0.740
BAYES_40 0 0 -0.185 -0.185
BAYES_50 0 0 0.001 0.001
BAYES_60 0 0 1.0 1.0
BAYES_80 0 0 2.0 2.0
BAYES_95 0 0 3.0 3.0
BAYES_99 0 0 3.5 3.5

Берем четвертое значение - максимум 3.5
Это значит как ни крути - если письмо чистое и проходит остальные тесты(а спам такой попадается), без дополнительных проверок никак не обойтись.
6.31-3 = 3.31
Вот столько очков надо добавлять.
AWL не поможет - там пишется email+IP - в спаме он повторяться не будет.
Как интересно у Вас работает SpamAssassin без изменения базовых тестов и дополнительных Custom Rules .
Изменять значения BAYES уж точно не рекомендуется - поскольку он МОЖЕТ неверно сработать.
И по мне уж лучше поставить еще 10 тестов, но отфильтровать ВЕСЬ спам, а не поставить программу с настройками по умолчанию и думать что она должна прекрасно работать.

Обучение Байес - есть несколько способов учить:
1. Учить и СПАМ и ХАМ
2. Учить СПАМ, определенный как ХАМ (false positives) и ХАМ, определенный как СПАМ (false negatives).
Способ подходит любой, только 6.31 дает очень мало false negatives согласно статистике, поэтому ХАМ пойдет любой.
Чтобы БАйес начал работать достаточно 200 сообщений. При этом при autolearn и auto_expire включенными по умолчанию он обновляться будет сам.

Сами разработчики не советуют учить больше 2000 ХАМ и 2000 СПАМ - толку от этого не будет, лучше срабатывать не станет.

Писал здесь про русские

Писал здесь про русские токены
http://www.gentoo.ru/node/13185
Там картинки и ссылки на www1 могут не работать - Вы уж извините.
Думаю вот их поставить - отсеим порно и ДВД фильмы.
http://sa-russian.narod.ru/downloads.html

Пожалуйста отговорите меня или поддержите.
Правда при normalize_charset=1
кодировка будет нужна одна - UTF.
Я про это писал, что у меня она не определялась.
Как у Вас с этим?
И еще не понятно про токены - почему они такие корявые. Долго шарил по коду где они ставятся,
что-то не разобрался - там кодировка нигде не упоминается.
Я все-таки ожидал увидеть какие-то слова типа "порно" что-ли, а там абракадабра.

Ответ на 4-й вопрос: 1 -

Ответ на 4-й вопрос:
1 - локально (без net)
2 - используется net
3 - используется bayes
4 - используется bayes + net

Раз так, не вижу смысла

Раз так, не вижу смысла изменять 4 веса - буду ставить 1.
Байес уже начал срабатывать и вроде нормально.
Вот только сыпется туда г..но какое-то, я думал будет кодировка UTF, а там токены непонятные вида

 K<¬<
 4z&
s5Շ`
O "
@3*
bx  
 $R&
-f-`
kɕiM
%tq<
O=Q=s
qVU,
|ћI
v鸟!
wBl ]
 ]S~
} Q%

Так и должно быть или у меня с кодировкоц не то?

В декабре запостил баг

В декабре запостил баг spamassassin
http://bugs.gentoo.org/show_bug.cgi?id=252565
Прошел уже месяц движения нет - это нормально?
Или его надо отправлять напрямую в spamassassin?

To winterheart :)

Спасибо за участие, я туда Вам написал.

andribas написал(а):Все это

andribas написал(а):

Все это работает, тесты ставятся в письма, но вот HEADER не добавляется
И еще я скачал http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
базу для GeoIP - города, которая бесплатная, работает хорошо, как ее прикрутить к geoip?
Чтобы не писать geoiplookup -f GeoLiteCity.dat

Эта база я так понимаю должна лучше определять страны,
XX должны исчезнуть из последнего Relay, то есть

X-Relay-Countries: XX - 44
X-Relay-Countries: XX XX - 8

уйдут, а

X-Relay-Countries: RU XX - 13

останутся, потому что я не принимаю почту с доменов, которые не ресолвятся в IP(195-24-46ppp.domain.ru)
Или все-таки принимаю?
А не последние релеи могут быть в локальной сети.
Значит XX вначале - это невозможность определить страну geoiplookup.

P.S.
Сейчас уточнил - проблема в базе GeoIP:

geoiplookup sh6.slavhost.com
GeoIP Country Edition: --, N/A

geoiplookup -f GeoLiteCity.dat sh6.slavhost.com
GeoIP City Edition, Rev 1: US, TX, Dallas, 75207, 32.782501, -96.820702, 623, 214

По-моему, фигня все это

По-моему, фигня все это GeoIP. Раз уж на то пошло, у amavisd есть интерфейс к модулю IP-Country, который делает это все штатными способами.

Не грусти, товарищ! Всё хорошо, beautiful good!

Так это он как раз и стоит

Так это он как раз и стоит.
Только не amavisd а spamassassin.
Mail::SpamAssassin::Plugin::RelayCountry

=head1 DESCRIPTION

By the RelayCountry plugin attempts to determine the domain country
codes of each relay used in the delivery path of messages and add that
information to the message metadata as "X-Relay-Countries", or
the C<_RELAYCOUNTRY_> header markup.

=head1 REQUIREMENT

This plugin requires the IP::Country module from CPAN.

=cut

Только работает неправильно - geoip лучше.
Спасибо за подсказку.

В тесте было неверно приводить geoiplookup - в spamassassin для этого используется IP::Country
Но адрес выдернут верно, на перле проверять не хочу - верю.
Может мне тогда поменять вызов IP::Country на geoiplookup с нужной базой (города) и все будет ровно.
Пользуюсь этой программой часто последнее время для определения региона - ни разу не был получен ответ XX.
И ответ отдает приемлемо быстро - поиск по локальной базе 27М, а IP::Country для этого лезет в сеть.

time geoiplookup -f geolite.dat yandex.ru
GeoIP City Edition, Rev 1: RU, 48, Moscow, (null), 55.752201, 37.615601, 0, 0

real    0m0.086s
user    0m0.004s
sys     0m0.004s

Фигня говорите

winterheart написал(а):
По-моему, фигня все это GeoIP. Раз уж на то пошло, у amavisd есть интерфейс к модулю IP-Country, который делает это все штатными способами.

А насчет фигня -

Из Бразилии, Индии, Польши, Кореи, Аргентины, Колумбии - я вообще не хочу получать почту.
А это - около 15% всего СПАМа согласно статистики.

Я получаю письма из России, US , EU, возможно GB и CA.
При этом из России, пожалуй, 90-95%.
Спам, который не фильтруется SpamAssassin - содержит 25% из России, остальное другие страны (это после фильтрации стран которые я указал вначале).
Так почему бы не обратить на них внимание, добавить scores?

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".