Борьба со спамом в Sendmail под FreeBSD

Блокирование спама используя базу данных доступа /etc/mail/access

Структура файла /etc/mail/access проста:


хост правило
хост - соответствующий хост, для которого мы создаем правило
правило -
  OK - Принимаем ВСЕ сообщения с этого хоста
  REJECT - Отвергаем соединение с этого хоста
  DISCARD - Отбрасываем сообщения после их приема
  RELAY - Включаем пересылку сообщения для этого хоста
  550 <сообщение> - Отвергаем почту с этого хоста с сообщением, которое пересылается отправителю.
Для отсева спама можно использовать REJECT, или 550 <сообщение>.
DISCARD ??? Вам разве не жалко своего трафика?!
Пример:
192.168.0	       RELAY
mail.ru	          OK
201.140.70.49      550 We don't accept mail from spammers
# Закроем всю сетку 201.140.60
201.140.60         REJECT

Генерируем новый access.db и перезапускаем sendmail

# cd /etc/mail
# make maps
# make restart

Блокирование спама на основе списков DNSBL

Рассмотрим борьбу со спамом на примере списков DNSBL (DNS-based blacklists).

Эфект достигается не 100 процентный, но позволяет отсеивать часть спама еще на этапе соединения с почтовым сервером.

Работает в версиях sendmail старше 8.9

Есть один непритный момент, иногда в эти списки попадают и нормальные сервера, а отследить это очень сложно.



I. Определяем хосты, с которых мы обычно получаем нужную нам почту.

В параметрах почтового сообщения смотрим поле Received:

Received: from 218.80.252.2 ([218.80.252.2])

IP-адрес в квадратных скобках и есть адрес, с которого нам пришла почта



II. Определяемся с DNSBL, которые нам не подходят.

Заходим на сайт MultiBL Lookup Client v.0.7 Последовательно подставляем IP-адреса из нашего белого-списка, смотрим где красненьким загорается кнопка, соответственно этот DNSBL мы использовать не будем.

III. Определяем хосты, с которых приходил спам.

Смотрим и делаем по аналогии с пунктом I. Чем больше статистики будет, тем лучше.

IV. Окончательно определяемся с DNSBL, с которыми мы будем работать.

Смотрим и делаем по аналогии с пунктом II. Те DNSBL, которые больше всего содержат спаммерских узлов и не попавшие в наш "черный список", мы и будем использовать.

V. Редактируем файл freebsd.mc

В секцию DNS based black hole lists файла /etc/mail/freebsd.mc вставляем соответствующие выбранным нами DNSBL строчки. Например:
FEATURE(`dnsbl', `bl.spamcop.net', `"Spam blocked see: http://spamcop.net/bl.shtml?"$&{client_addr}')dnl
FEATURE(`dnsbl', `cbl.abuseat.org', `"Spam blocked see: http://cbl.abuseat.org/lookup.cgi?ip="$&{client_addr}')dnl
FEATURE(dnsbl,`combined.njabl.org',`Message from $&{client_addr} rejected - see http://njabl.org/lookup?$&{client_addr}')

Если будете использовать sbl-xbl.spamhaus.org, то две последние строчки не нужны (spamhaus.org использует их в своей базе).

FEATURE(dnsbl,`sbl-xbl.spamhaus.org',`Spam blocked see: http://www.spamhaus.org/')

VI. Компилируем файл freebsd.mc

# cd /etc/mail
# make cf
Проверяем, что создался файл freebsd.cf и создался без ошибок.

VII. Устанавливаем новый конфигурационный файл sendmail.cf

# cd /etc/mail
# make install

VIII. Перезапускаем sendmail

# cd /usr/local/etc/rc.d
# ./sendmail.sh restart

[Назад ]

 

Сайт управляется системой uCoz