Блокируем чужие smtp во FreeBSD

Автор: Dark

В наше время "троянов и вирусов" очень легко можно схватить в офисной локалке какого-нибудь спам-бота. И, если вовремя не остановить чуму, то наш внешний ip очень скоро окажется во всех известных RBL-ах.

Как нам защититься:

1. Поставить антивирусы на каждую машину. Но это, увы, не панацея. Похоже, многие антивирусы не реагирует на спам ботов со слегка модифицированным кодом. Во всяком случае, у меня антивирус не ловил заразу.

2. Запретить на шлюзе доступ ко всем smtp серверам, кроме доверенных. В доверенные мы можем включить свои ip(внешний/внутренний) ну и пару серверов типа smtp.mail.ru или smtp.yandex.ru, хотя это и не обязательно.

Вот второй вариант мы и рассмотрим попродробнее, с мелкими фишками. Итак если у нас pf мы делаем так:

#Создаем таблицу доверенных smtp-севреров (1. внутр. IP, 2. внеш. IP, 3. smtp.mail.ru, 4. smtp.yandex.ru)

table <my_smtp> {192.168.0.1, 123.45.67.89, 194.67.23.111, 213.180.204.38 }

#Блокируем все исходящие smtp-запросы

block in quick on $int_if proto { tcp, udp } from $internal_net to !<my_smtp> port 25

Если у нас включен pflog (pflog_enable="YES" в /etc/rc.conf), то можно логировать тщетные попытки спам-ботов пробиться к чужим серверам:

block in log quick on $int_if proto { tcp, udp } from $internal_net to !<my_smtp> port 25

Теперь у нас все нарушители складываются в /var/log/pflog, если это единственное правило с логом, то совсем просто, можно отсылать себе кадое утро отчет из лога, если прописать в кроне ссылку на такой скрипт:

#!/bin/sh

tcpdump -n -e -r /var/log/pflog | mail admin@domain.ru && cat /dev/null > /var/log/pflog

Последнее изменение: понедельник, 12 ноября 2007 г. 13:55:20

http://www.ounix.ru/index.php?page=article&id=16

Обновлено: 12.03.2015