User Tools

Site Tools


lcn:spam

A plan for spam

На почтовом сервере theory.sinp.msu.ru установлена система фильтрации спама SpamAssassin. Вся входящая почта проверяется на спам, и если почта потенциально содержит спам, то она помечается соответствующим образом в теме письма и в заголовках. Никакие сообщения при этом не тереяются и не удаляются.

В настоящем документе описывается индивидуальная настройка системы фильтрации спама для каждого пользователя.

Индивидуальные настройки хранятся у каждого пользователя в конфигурационном файле ~/.spamassassin/user_prefs (далее - просто “конфигурационный файл”).

Более подробно про все тонкости настройки индивидуальной фильтрации спама можно прочитать в документации на spamassassin, на следующих man страницах:

Автоматическое удаление/перемещение спама

Автоматически удалять письма, помеченные как спам не рекомендуется. Однако, достаточно разумным является автоматическое перемещение таких писем в отдельную папку. Далее описывается, как реализовать такую настройку системы, если вы пользуетесь для чтения почты клиентом, работающим по протоколу IMAP (например, Outlook Express, Mozilla Thunderbird, Evolution), программой pine либо web-интерфейсом.

Создайте папку, в которую будет перемещаться почта, автоматически помеченная как спам. Для этого на машине theory.sinp.msu.ru выполните команду:

touch ~/mail/spam

Подпишитесь на эту папку в вашей почтовой программе.

Создайте файл ~/.procmailrc следующего содержания:

MAILDIR=$HOME/mail
:0
* ^X-Spam-Flag: YES
spam

Теперь вся почта, помеченная как спам будет автоматически перемещаться в папку spam. Если у вас уже была ранее папка, в которой вы хранили спам, которая называлась не spam, а как-то иначе, то напишите в конфигурации название этой папки вместо spam. Если вы все же хотите сразу же удалять весь спам на свой страх и риск, то замените в ~/.procmailrc строчку “spam” на “/dev/null”.

В качестве альтернативного варианта, вы можете настроить автоматическое перемещение/удаление почты вашим почтовым клиентом по признаку наличия слова [SPAM] в теме письма.

Если вы уже пользовались spamassassin ранее

Теперь в конфигурации по умолчанию выключен статистический анализ почты, и увеличен минимальный счет для спама. Добавьте в конфигурационный файл ~/.spamassassin/user_prefs строчки:

required_score 5
use_bayes 1

Так же обратите внимание, что больше нет необходимости вызывать spamc/spamassassin из файла .procmailrc. Все ссылки на spamc из этого файла уже были удалены для вас администраторами почтового сервера.

Если в вашем файле ~/.procmailrc присутствовала строчка

* ^X-Spam-Status: Yes

то вам необходимо заменить ее на

* ^X-Spam-Flag: YES

Обратите внимание на регистр символов, это принципиально.

Настройка степени фильтрации спама

Q: Не хочу, чтобы моя почта фильтровалась системой.
A: Добавить в конфигурационный файл ~/.spamassassin/user_prefs строчку:

required_score 1000

Q: Почему-то спамом считается почта с нужного мне адреса friend@somewhere.com.
A: Добавить в конфигурационный файл ~/.spamassassin/user_prefs строчку:

whitelist_from friend@somewhere.com

Q: Почему-то все время приходит неотфильтрованный спам с адреса badguy@somewhere.com.
A: Добавить в конфигурационный файл ~/.spamassassin/user_prefs строчку:

blacklist_from badguy@somewhere.com

Q: Почта от моих друзей из Японии/Китая/Кореи/Таиланда всегда помечается как спам.
A: Добавить в конфигурационный файл ~/.spamassassin/user_prefs строчку:

ok_locales all

Q: Все равно я получаю очень много спама, который не отмечен как спам.
A: Во-первых, попробуйте уменьшить “счет”, который необходимо набрать письму, чтобы оно считалось спамом. Для этого добавьте в конфигурационный файл ~/.spamassassin/user_prefs строчку:

required_score 5 

Значение по умолчанию - 8. Чем меньше это число, тем больше спама будет фильтроваться, но и тем выше вероятность того, что нормальная почта будет принята за спам. Если вы получаете много спама, то рекомендуется использовать статистический анализ почты.

Статистический анализ почты (Bayesian filtering)

Концепция статистического анализа почты была разработана Paul Graham и позволяет значительно повысить качество фильтрации спама 1). Для того, чтобы его включить, добавьте в конфигурационный файл ~/.spamassassin/user_prefs строчки:

required_score 5
use_bayes 1

Для того, чтобы получить максимальную эффективность работы статистического анализа, фильтр необходимо “обучать” – периодически предоставлять для анализа образцы писем, являющихся спамом, и образцы писем, не являющихся спамом. По умолчанию включена система автообучения, которая отправляет на обучение письма, с очень большой вероятностью являющиеся спамом (со счетом больше 12), и письма, которые с очень большой вероятностью не являются спамом (со счетом меньше 0.1). Однако, ручное обучение позволяет заметно повысить качество фильтрации. О том, как пользоваться режимом ручного обучения подробно написано в документации на spamassassin.

Примеры файлов настроек

Внимание! Вы используете эти примеры на свой страх и риск. НИКАКИЕ претензии по возможной потери писем не принимаются.

Пример №1.Стандартная фильтрация спама, вся почта, помеченная как спам удаляется.

Файл ~/.procmailrc:

MAILDIR=$HOME/mail

:0
* ^X-Spam-Flag: YES
/dev/null

Файл ~/.spamassassin/user_prefs: стандартный.

Пример №2. Фильтрация спама со статистическим анализом, вся почта, помеченная как спам перемещается в папку ''spam'':

Файл ~/.procmailrc:

MAILDIR=$HOME/mail

:0
* ^X-Spam-Flag: YES
spam

Файл ~/.spamassassin/user_prefs:

use_bayes 1
required_score 5

Если вы доверяете спам-фильтру и хотите сразу удалять такие писльма, то используйте следующую версию файлов:

Файл ~/.procmailrc:

MAILDIR=$HOME/mail

:0
* ^X-Spam-Flag: YES
/dev/null

Файл ~/.spamassassin/user_prefs: стандартный.

Пример №3. Фильтрация спама со статистическим анализом, вся почта, помеченная как [SPAM] удаляется:

Файл ~/.procmailrc:

MAILDIR=$HOME/mail

:0
* ^Subject: \[SPAM\]
/dev/null

Файл ~/.spamassassin/user_prefs: - стандартный

Alexander Kryukov 2006/12/08 13:27

1)
Paul Graham. "A plan for spam".
lcn/spam.txt · Last modified: 28/01/2007 15:53 (external edit)