Настройка локального DNSBL(RBL) сервера

В данной статье рассматривается пример установки и настройки локального DNSBL(RBL) сервера для использования его в Postfix. Для простоты DNSBL-сервер, DNS-сервер BIND и Postfix ставятся все вместе на один компьютер. Используется дистрибутив Gentoo Linux, программы rbldnsd, BIND, rblcheck и Postfix

________________________________________

o Настройка rbldnsd

o Настройка DNS-сервера BIND

o Настройка Postfix

o Проверка

o Полезные ссылки

Настройка rbldnsd

Для начала ставим rbldnsd:

# emerge rbldnsd

Всё просто

Далее нам необходимо скачать несколько DNSBL-зон с сайтов ведущих их. Используется входящая в состав дистрибутива программа rsync:

# rsync -tvPz rsync.dsbl.org::dsbl/rbldns-list.dsbl.org /var/db/rbldnsd/rbldns-list.dsbl.org

# rsync -tvPz rsync-mirrors.uceprotect.net::RBLDNSD-ALL/dnsbl-1.uceprotect.net /var/db/rbldnsd/dnsbl-1.uceprotect.net

# rsync -tvPz rsync.spamcannibal.org::zonefiles/bl.spamcannibal.org.in.ip4set.rbl /var/db/rbldnsd/bl.spamcannibal.org.in.ip4set.rbl

Для начала хватит - в полезных ссылках вы можете найти ещё несколько сайтов предоставляющих свободный доступ к своим DNSBL-спискам.

Настраиваем rbldnsd в файле /etc/conf.d/rbldnsd:

OPTIONS="-q -u rbldns -r /var/db/rbldnsd -b 127.0.0.1/530 -p /var/run/rbldnsd.pid list.dsbl.org:ip4tset:rbldns-list.dsbl.org /

dnsbl-1.uceprotect.net:ip4tset:dnsbl-1.uceprotect.net rbl.spamcannibal.org:ip4set:bl.spamcannibal.org.in.ip4set.rbl"

Обратите внимание что rbldnsd будет использовать UDP-порт 530,- 53-й порт оставлен для bind'а.

Запускаем rbldnsd и добавляем в уровень запуска по-умолчанию:

# /etc/init.d/rbldnsd start

# rc-update add rbldnsd default

Настройка DNS-сервера BIND

Устанавливаем:

# emerge bind

Настраиваем файл /etc/bind/named.conf:

zone "list.dsbl.org" IN {

type forward;

forward first;

forwarders {

127.0.0.1 port 530;

};

};

zone "dnsbl-1.uceprotect.net" IN {

type forward;

forward first;

forwarders {

127.0.0.1 port 530;

};

};

zone "rbl.spamcannibal.org" IN {

type forward;

forward first;

forwarders {

127.0.0.1 port 530;

};

};

- таким образом мы указываем bind'у обращаться по поводу указанных зон на наш rbldnsd слушающий на 530 UDP порту. Запускаем bind и добавляем в уровень запуска по-умолчанию:

# /etc/init.d/named start

# rc-update add named default

И не забываем подправить /etc/resolv.conf для обращения к нашему локальному bind'у:

nameserver 127.0.0.1

Настройка Postfix

Предполагается что в целом postfix у вас настроен, подправим только один раздел в файле /etc/postix/main.cf:

smtpd_sender_restrictions =

reject_rbl_client list.dsbl.org,

reject_rbl_client dnsbl-1.uceprotect.net,

reject_rbl_client rbl.spamcannibal.org

мы добавим только строки reject_rbl_client ..., будем считать что остальные ограничения вы выставите сами

Запускаем postfix и добавляем в уровень запуска по-умолчанию:

# /etc/init.d/postfix start

# rc-update add postfix default

Проверка

Для проверки удобно установить программу rblcheck:

# emerge rblcheck

К примеру хватанём IP-адрес из файла DNSBL-зоны DSBL:

# tail -n1 /var/db/rbldnsd/rbldns-list.dsbl.org

1.2.3.4

(тут адрес придуман)

и проверим назовёт ли его спамером наш rbldnsd сервер:

# rblcheck -s list.dsbl.org 1.2.3.4

1.2.3.4 RBL filtered by bl.dsbl.org

- аха, ответ положительный! Если же IP-адрес отсутствует в данной DNSBL зоне, то ответ будет not RBL filtered by ...

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

Обновлено: 12.03.2015