15.06.2010 Внутренние способы борьбы со спамом CommuniGate Pro на GNU/Gentoo Linux

[shadowbox=/images/newspost_images/cgplogo.gif|::||]/images/newspost_images/cgplogo.gif[/shadowbox]

Собственно генту тут, не причем, но других сереверов у меня нету, да и раздел на сайте самый подходящий ;-).

В CommuniGate Pro встроено несколько удобных параметров, которые без дополнительных материальных затрат помогают удачно бороться со спамом.

В данный момент я сам не использую никаких спамфильтров и антивирусов, поскольку все это очень глючит и нестабильно работает, а спама - нет!

1. Черный список серверов

Settings - Network - Blacklisted IPs

1.1. Blacklisted IP Addresses - тут вы можете перечислить ip адреса от которых не хотите принимать почту вообще.
у меня он пустой, за исключением одной подстеточки с которой в огромном кол-ве шел спам.
1.2. Detect Blacklisted by DNS Name - тут перечисляем серверы по имени от которых не желаем принимать почту.
1.3. Use Blacklisting DNS Servers (RBLs) - тут можно указать списки RBL-серверов. эти сервера ведут свои базы спаммеров по ip адресам серверов.
я использую: bl.spamcop.net, list.dsbl.org, relays.ordb.org, dnsbl.njabl.org. Учтите, что каждое соедиенние проверяется по всем серверам, и если у вас большая нагрузка, то лучше сократить этот список, и обязательно использовать кэширующий сервер днс.
1.4. в полях UnBlacklistable (White Hole) IP Addresses и Detect White Holes by DNS Name можно указать адреса и имена с которых мы всегда принимаем почту.
у меня, например, указаны адреса резервного почтового сервера и серверов головной компании.

2. Проверка при приеме: Settings - Mail - SMTP - Receiving
2.1. Verify: Reverse Connect - очень полезная штука, появившаяся в 5-й версии. Суть её заключается в том что при установлении соединения,
сервер CommuniGate обратным соединением проверяет валидность адреса отправителя.
Пример: сервер smtp99.mail.ru пытается послать письмо от отпраивтеля pupkin@mail.ru.Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script CommuniGate просматривает MX записи для домена mail.ru,
если в этом списке нет сервера smtp99.mail.ru то отвергает сообщение, иначе устанавливает соединение с smtp99.mail.ru и проверяет принимает-ли сервер smtp99.mail.ru письмо для pupkin@mail.ruЭтот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script ,
т.е. существует-ли на нем такой адрес. если принмавет, то все ок, письмо от pupkin@mail.ruЭтот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script принимаем, иначе разрываем соединение.
Но при использовании этого параметра есть и отрицательные стороны: а. увеличение трафика, б. при нескольких неудачных попытках проверки адреса, удаленный сервер вас может заблокировать, и вы не сможете на этот сервер отсылать письма. по пункту "а" лично у меня не получилось како-либо увелечение трафика, а даже уменьшение,т.к. незначительные затраты по проверке каждого письма, с лихвой покрываются тем что спамерские сообщения отвергаются еще на этапе установки соединения, и не надо принимать все письмо. по поводу "б". домены которым вы доверяете внесите в белый список, а остальные, если они вас и заблакируют, то не очень-то и хотелось :)
Но я использую этот параметр, и по моим наблюдениям фильтруется порядка 70%-80% спама еще на этапе установки соединения.
2.2. Verify: Check SPF records. Проверяет запись на валидность SPF. Коротко что в описании домена может быть указаны ip адреса с которых почта от этого домена может вообще отправлена.
К сожалению мало кто знает об этой возможности и реально она почти не используется. Почитать про SPF можно тут.
Я рекомендую активировать этот параметр в Enabled, это значит что соединения с явным нарушением SPF политики (результат fail или hardfail) будут отвергнуты, а от доменов у которых не указаны SPF записи (none) или имеет директиву softfail - будут приняты.
2.3. Message Limits: максимальный размер принимаемого сообшения. Поставьте 10М (10 мегабайт), на мой взгляд вполне достаточно, почта не служит для пересылки файлов :) Только не забывайте что при пересылки файла в 1Мб, письмо с этим файлом увеличиваетс где-то в полтора раза, т.е. будет 1.5Мб
2.4. Recipients: указывает максимальное кол-во адресатов для принимаемого сообщения. На мой взгляд 20 более чем. Но все зависит от вашей задачи.
2.5. Delay Prompt for: тоже очень полезный параметр. Указывается время задержки приглашения smtp сервера при запросе установки соединения. 10 секунд очень помогают, т.к. многие спамерские программы не дождавшись ответа от smtp сервера, не отправляют письмо на данный адрес. Можете поэксперментировать и поставить значение побольше.
2.6. Deny Access for: указываем время на который блокируется Ip адрес отправителя после Disconnect after ошибок. у меня стоит
Deny Access for: 24 hour

Disconnect after: 5
что означает блокируем на сутки после 5-ти ошибок. Ошибками могут быть разные вещи. Например попытка отправить письмо на несуществующий адрес или неправильная команда при smtp связи.

3. Ловушки

очень много спама рассылают на адреса такие как например: sales@, info@ и пр.
чтобы ограничить еще на этапе установки соединения от таких писем можно прописать в Settings - Router эти адреса.
например: = spamtrap
при попытке отправить вам письмо на этот адрес, CommuniGate разорвет соединение и не примет сообщение, при этом и счетчик ошибок для данного адреса увеличиться. (см. п.2.6)

Помимо этого я еще использую прибамбас SpamCatcher для борбы со спамом, и McAfee & Sophos против вирусов. Но эо этом расскажу подробнее в другой статье, если конечно это кому-то надо будет.




Вас также может заинтересовать:

Google ужесточает методы борьбы с поисковым спамом
15.06.2010 Использование CommuniGate Pro как почтового сервера периметра для MS Exchange на GNU/Gentoo Linux
15.06.2010 Интеграция почтового сервера CommuniGate Pro(GNU/Gentoo Linux) c доменом Microsoft Active Directory
Найден способ борьбы с хакерскими атаками на е107
06.05.2010 Настройка Gentoo Router+Printserver+Samba+Communigate Pro(Mail Server)
Релиз Linux Deploy 1.2.7, приложения для установки Linux на Android-устройства Ноя