URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 86756
[ Назад ]

Исходное сообщение
"DNSBL в Sendmail"

Отправлено SchTiRlic , 30-Сен-09 15:39 
Здравствуйте!

В локальной сети организован DNSBL сервис содержащий RBL'ы основанные как на IP-адресах, так и на доменных именах (URI DNSBL). Работу Sendmail c DNSBL-сервисом на основе  список в IP-адресов настроить получилось, а вот на основе доменных имён прикрутить не смог. Интересует возможность использования URI DNSBL в Sendmail. Как это можно организоать и настроить? И вообще можно ли?


Содержание

Сообщения в этом обсуждении
"DNSBL в Sendmail"
Отправлено Pahanivo , 30-Сен-09 16:19 
>Здравствуйте!
>
>В локальной сети организован DNSBL сервис

зачем о_О


"DNSBL в Sendmail"
Отправлено SchTiRlic , 30-Сен-09 16:48 
>>Здравствуйте!
>>
>>В локальной сети организован DNSBL сервис
>
>зачем о_О

Ну долго объяснять на самом деле, в целом чтобы блокировать входящий спам. Ибо бывают надоедливые IP адреса и домены. Централизованно и в DNSBL-сервисе это делать очень удобно. IP-адреса очень трудоёмко вести, а вот доменные имена самое то. Оч удобно например заблокировать почту со всех серверов определённой доменной зоны (причём доменной зоны именно серверов, а не почтового домена, так как почтовый домен можно подделать).


"DNSBL в Sendmail"
Отправлено Medlar , 01-Окт-09 10:59 

>на основе  список в IP-адресов настроить получилось, а вот на
>основе доменных имён прикрутить не смог.

А как это должно работать?
Алгоритм какой?



"DNSBL в Sendmail"
Отправлено SchTiRlic , 01-Окт-09 15:28 
>
>>на основе  список в IP-адресов настроить получилось, а вот на
>>основе доменных имён прикрутить не смог.
>
>А как это должно работать?
>Алгоритм какой?

Из каждого входящего сообщения почтовый сервер (в данном случае Sendmail), как я понимаю, выбирает информацию о ретранслирующих почтовых серверах из заголовков received сообщения и опрашивает указаные в его конфиге DNSBL-сервисы. Если от какого-нибудь сервиса возвращается положительный ответ то сообщение блокируется.

Запрос Sendmail'ом осуществляется обычным резолвингом имени - DNS-заппросом к DNSBL-сервису. Под положительным ответом понимается возварт на резолвинг адреса записи вида
"127.0.0.2".

Примеры. Пусть в сети 2 RBL-списка, один содержит "черные" списки IP-адресов (ips.rbl), а другой содержит "чёрные" списки HOST-адресов (hosts.rbl).
1) С IP-адресами. В "чёрном" списке DNSBL-сервиса храниться запись "1.2.3.4" Получем сообщение от почтового сервера с данным IP-адресом. Sendmail выполняет запрос
nslookup 4.3.2.1.hosts.rbl, в ответ получаем "127.0.0.2", значит адрес в "чёрном" списке блокируем сообщение.

2) С HOST-адресами. В "чёрном" списке DNSBL-сервиса храниться запись "*.ee". Получаем сообщение от почтового сервера с хост именем из зоны "ee". Sendmail выполняет запрос
nslookup host.somedomain.ee.hosts.rbl, в ответ получаем 127.0.0.2, значит адрес в "чёрном" списке блокируем сообщение.


"DNSBL в Sendmail"
Отправлено Medlar , 01-Окт-09 17:15 
>2) С HOST-адресами. В "чёрном" списке DNSBL-сервиса храниться запись "*.ee". Получаем сообщение
>от почтового сервера с хост именем из зоны "ee". Sendmail выполняет
>запрос
>nslookup host.somedomain.ee.hosts.rbl, в ответ получаем 127.0.0.2, значит адрес в "чёрном" списке блокируем
>сообщение.

написать такое можно, даже может готовое решение есть (некогда искать)
Только интересно, какой rbl поддерживает доменные черные списки?


"DNSBL в Sendmail"
Отправлено SchTiRlic , 01-Окт-09 18:05 
>>2) С HOST-адресами. В "чёрном" списке DNSBL-сервиса храниться запись "*.ee". Получаем сообщение
>>от почтового сервера с хост именем из зоны "ee". Sendmail выполняет
>>запрос
>>nslookup host.somedomain.ee.hosts.rbl, в ответ получаем 127.0.0.2, значит адрес в "чёрном" списке блокируем
>>сообщение.
>
>написать такое можно, даже может готовое решение есть (некогда искать)
>Только интересно, какой rbl поддерживает доменные черные списки?

В том то и дело искал-искал, но что-то ничего не нарыл. Есть какое то подобие, название этим технологиям RHBL или URI DNSBL. Всё очень похоже, но заставить работать так и не получилось. А по поводу поддержки, данный тип списков поддерживается в DNSBL-сервисе rlbdnsd, в пакетах FreeBSD есть (да и вообще во многих репозитариях unix-подобных систем).


"DNSBL в Sendmail"
Отправлено SchTiRlic , 01-Окт-09 18:09 
>[оверквотинг удален]
>>>сообщение.
>>
>>написать такое можно, даже может готовое решение есть (некогда искать)
>>Только интересно, какой rbl поддерживает доменные черные списки?
>
>В том то и дело искал-искал, но что-то ничего не нарыл. Есть
>какое то подобие, название этим технологиям RHBL или URI DNSBL. Всё
>очень похоже, но заставить работать так и не получилось. А по
>поводу поддержки, данный тип списков поддерживается в DNSBL-сервисе rlbdnsd, в пакетах
>FreeBSD есть (да и вообще во многих репозитариях unix-подобных систем).

Зочу напомнить, что работающие сервисы у меня есть. И RBL-сервис с IP-адресами работает. А вот с хост именами заставить работать в Sendmail не удаётся.


"DNSBL в Sendmail"
Отправлено Medlar , 01-Окт-09 18:20 
>[оверквотинг удален]
>>>nslookup host.somedomain.ee.hosts.rbl, в ответ получаем 127.0.0.2, значит адрес в "чёрном" списке блокируем
>>>сообщение.
>>
>>написать такое можно, даже может готовое решение есть (некогда искать)
>>Только интересно, какой rbl поддерживает доменные черные списки?
>
>В том то и дело искал-искал, но что-то ничего не нарыл. Есть
>какое то подобие, название этим технологиям RHBL или URI DNSBL. Всё
>очень похоже, но заставить работать так и не получилось. А по
>поводу поддержки, данный тип списков поддерживается в DNSBL-сервисе rlbdnsd,

Нашла.
Правила завтра напишу.


"DNSBL в Sendmail"
Отправлено Medlar , 02-Окт-09 17:04 
>
>2) С HOST-адресами. В "чёрном" списке DNSBL-сервиса храниться запись "*.ee". Получаем сообщение
>от почтового сервера с хост именем из зоны "ee". Sendmail выполняет
>запрос
>nslookup host.somedomain.ee.hosts.rbl, в ответ получаем 127.0.0.2, значит адрес в "чёрном" списке блокируем
>сообщение.

Приблизительно так:
# DNS based domain address spam list sc.surl.org
R$*                             $: $&{client_name}
R$*                             $: <all>$1
R<all>[$*]                      $: CONTINUE
R<all>$*                        $: <?> $(dnsbl $1.sc.surl.org. $:OK $)
R<?>OK                  $: OKSOFAR
R<?>$+<TMP>             $: TMPOK
R<?>$+                  #error $@ 5.7.1 $: Spam blocked,see: http://url

sc.surl.org был выбран для примера только потому, что ссылка на него попалась мне первой,
но на самом деле он предназначен для отлова спам-веб-адресов в теле письма.
То есть почтовые домены в нем вряд ли засвечены.
По описанию http://www.surbl.org/implementation.html доменные имена нужно предварительно "очистить" от мусора, но вчитываться было некогда, поэтому в моем примере
доменное имя "загоняется" на проверку целиком. Хотя все можно сделать, "как доктор прописал"

На этом же сайте есть ссылка на готовые решения для sendmail на основе
milter - http://www.surbl.org/