Pull to refresh

Обучение SpamAssassin

Reading time 3 min
Views 42K
Ни для кого не секрет, что почтовая служба Gmail является лучшей в своем роде сервисом. Фильтрация писем происходит очень точно. Пользователи этого сервиса давно забыли о таком страшном слове как «Спам».

Среди корпоративного сектора очень актуальна проблема большого количества спам-писем. Для борьбы с данной проблемой приходится приходить к очень неоднозначным мерам. В сети достаточно информации, собрав которую воедино, можно получить неплохой спам-фильтр. В данном же случае, я постараюсь описать процесс обучения всеми известного SpamAssassin средствами сервиса Gmail. В итоге мы получим идентичное поведение самого SpamAssassin на письма, как если бы они приходили к вам на Gmail.

Компания Google, очень трепетно относится к своей интеллектуальной собственности и не раскрывает подробностей работы их почтового сервиса, но можно выйти из ситуации, адаптировав свою почту на манер “корпорации добра”.

Итак, предполагается, что у вас есть почтовый сервер. Настроенный и полностью функционирующий. Прописана PTR и DMARC. Настроен SPF, DKIM и работающий, но не обученный SpamAssassin. Отчасти — этих действий достаточно для того, чтобы в разы уменьшить количество нежелательной корреспонденции, но все же, мы не остановимся на этом.

Для реализации необходимо установить fetchmail:

#apt-get install fetchmail

Эта утилита и будет служить посредником между Gmail и нашим почтовым сервером.

Настройка fetchmail.

Для начала, нам необходимо создать конфигурационный файл:

#touch /root/.fetchmailrc

#vi /root/.fetchmailrc

Со следующим содержимым:

poll imap.gmail.com protocol imap port 993 and options no dns,
user "[vashadres@gmail.com](mailto:vashadres@gmail.com)" options ssl,
password "vashparol",
fetchall,
pass8bits,
nokeep,
folder "[Gmail]/Spam",
mda "/usr/bin/sa-learn --spam"

poll imap.gmail.com protocol imap port 993 and options no dns,
user "[vashadres@gmail.com](mailto:vashadres@gmail.com)" options ssl,
password "vashparol",
fetchall,
pass8bits,
nokeep,
folder "[Gmail]/Important",
mda "/usr/bin/sa-learn --ham"

Важно! Почтовый ящик должен иметь английский интерфейс, т.к. fetchmail имеет проблемы с кириллицей.

С папкой “спам” все ясно, а вот с папкой “INBOX” не все так однозначно. У Gmail ее попросту нет, а при подключении по IMAP мы имеем дело с так называемыми “ярлыками”. Поэтому мы указываем папку “Important”.

Далее, переходим в файл с альясами (у меня установлен Postfix, поэтому я буду приводить пример на его настройке) и указываем форвардинг писем на новосозданный или уже имеющийся адрес Gmail. Рекомендую создать новый, т.к. старый адрес может содержать какие-либо правила из “прошлого”, которые могут неправильно скорректировать SpamAssassin при обучении.

#vi /etc/aliases


Пишем следующее:

почтовый ящик: почтовый ящик, root

vasya: vasya, root

Когда были прописаны все пользователи и пересылкой на пользователя root, то вся эта корреспонденция должна пройти до нашего почтового ящика в Google:

В конце файла альясов мы должны написать:

root: vashadres@gmail.com

Важно! Так необходимо прописать каждый ящик имеющийся в системе. Можно и не пересылать все сообщения на пользователя root, но это в дальнейшем облегчит Вам жизнь.

Сохраняем файл. Готово. Отныне все письма приходящие к пользователям, будут дублироваться на vashadres@gmail.com, который в свою очередь будет грамотно рассортировывать все письма.

Теперь получив достаточное кол-во писем на почтовый ящик от Google, необходимо их промаркировать, чтобы благодаря ярлыкам, письма из папки INBOX, продублировались в папку Important нажав на стрелку рядом с заголовком письма. Она должна окраситься в желтый. Это разовое действие, которое в дальнейшем понадобиться очень редко. Все новые письма, будут помечены как “Важные” и продублированы в необходимую нам папку.

Нам же осталось сказать fetchmail собрать все письма из Google и показать SpamAssassin.

#/usr/bin/fetchmail -f /root/.fetchmailrc -v

Все готово. Пройдя обучение в несколько тысяч писем — будьте уверены, ваша почта будет вести себя так же, как качественный почтовый сервис от Google.

Update: Чтобы избежать утечки важной информации, можно заведомо настроить сервер. Создать пользователя spam и разместить в подпись на форумах. Через какое-то время, спам-боты сделают свою работу по сканированию и на этот почтовый ящик начнет идти спам. С каждым днем все больше и больше. Обучить SpamAssassin подобным образом и затем пустить боевой и обученный сервер в работу.
Tags:
Hubs:
+5
Comments 7
Comments Comments 7

Articles