Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

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

 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> Сеть
 
Автор Сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Пн Янв 19, 2009 6:43 pm    Заголовок сообщения: Борьба со спамом в Sendmail
Ответить с цитатой

Чёрные списки (black lists)

RBL-список это фактически DNS-сервер, который знает известные спам-ретрансляторы. Sendmail обращается при получении письма к RBL-серверу. Он отправляет обычный DNS-запрос с адресом сервера, который пытается отправить письмо, и если RBL-сервер его знает, сервер делает вывод, что письмо отправляет спаммер и отказывает ему.

Добавьте в .m4-файл строки и перестройте конфигурационный файл.
FEATURE(`dnsbl', `bl.spamcop.net', `Spam blocked - see http://spamcop.net/bl.shtml?$&{client_addr}')dnl
FEATURE(dnsbl, `bl.csma.biz', `*** SPAM Blocked from $&{client_addr} - See http://bl.csma.biz/')dnl
FEATURE(dnsbl,`dnsbl.njabl.org',`Message from $&{client_addr} rejected - see http://njabl.org/')dnl
FEATURE(dnsbl, `dnsbl.sorbs.net', `Message from $&{client_addr} rejected see dnsbl.sorbs.net') dnl
FEATURE(dnsbl, `cbl.abuseat.org', `Message from $&{client_addr} rejected see http://cbl.abuseat.org/')dnl
FEATURE(`dnsbl', `dul.ru', `Use mail relays of your ISP')dnl

Список может постоянно меняться.

Обязательно проверяйте, работает RBL или нет.

После того как построен .cf-файл, проверить его можно так:

sendmail -bt -C /config/to/test/sendmail.cf
> .D{client_addr}127.0.0.1
> Basic_check_relay <>
rewrite: ruleset 192 input: < >
rewrite: ruleset 192 returns: OK
> .D{client_addr}127.0.0.2
> Basic_check_relay <>
rewrite: ruleset 192 input: < >
rewrite: ruleset 192 returns: $# error $@ 5 . 7 . 1 $: "Mail from " 127 . 0 . 0 . 2 " refused; see http://www.mail-abuse.org/cgi-bin/lookup?127.0.0.2"
> CTRL/D

Если проверка заработала, рано или поздно в логах сервера должны начать появляться записи:
May 8 14:59:59 mail sm-mta[20408]: m48Bxsng020408: ruleset=check_rcpt, arg1=<petrensol@example.com>, relay=dsl88-247-10247.ttnet.ne
t.tr [88.247.40.7] (may be forged), reject=553 5.3.0 <petrensol@example.com>... Spam blocked - see http://spamcop.net/bl.shtml? 88.247.40.7
May 8 15:00:18 mail sm-mta[20452]: m48C0GoL020452: ruleset=check_rcpt, arg1=<gelos@example.com>, relay=Nnov-hpool.quantum.ru [88.86
.70.254], reject=553 5.3.0 <gelos@example.com>... Spam blocked - see http://spamcop.net/bl.shtml? 88.86.70.254

Или, если вы хотите подсвечивать сообщения о спаме (с задержкой):
%# tail -f /var/log/mail.log |perl -p -e 's/Spam/\033\[46;1mSpam\033[0m/gi;'

Если у вас почтовые сообщения хранятся в формате Maildir, чтобы найти письма от тех, в ком мы теперь узнали спамера, нужно дать команду:
spam_re()
{
grep reject=553 /var/log/mail.log | awk '{print $9}'| sort | uniq -c | sort -r -n | sed s/.*=// | tr -d ][, \
| tr '\n' \| ; echo UNIKAL
}

grep -r "$(spam_re)" /var/mail

Список известных DNSBL-серверов:
http://en.wikipedia.org/wiki/Comparison_of_DNS_blacklists
http://spamlinks.net/filter-dnsbl-lists.htm

Серые списки (graylisting)

Серые списки или грейлистинг — это одиз из методов блокирования спама на уровне почтового сервера без применения статистического анализа и вообще эвристических подходов.

Грейлистинг базируется на том (иногда сомнительном) факте, что серверы, рассылающие спам, и нормальные пользователи ведут себя по-разному. Грейлистинг блокирует письмо не на основе его содержимого, а смотря на то, как сервер пытается его отправить.

Спам-системы, как правило, не пытаются отправить письмо второй раз, если при первой попытке они получили сообщение о том, что сервер временно недоступен. Обычные системы пытаются. Они запоминают письмо в очереди на отправку и повторяют отправку потом. До тех пор, пока письмо не уйдёт, или закончится время попыток (достаточно большое).

Спамер может переслать письмо и повторно, но между двумя попытками проходит время, в течение которого он не сидел без дела, и c большой вероятностью уже успел отправить письмо в спам-ловушку. Если так, то он попадёт в соответствующий blacklist, и вторая попытка отправки будет отсечена с его помощью.

Код:
 
    первая                          вторая
    отправка                        отправка (отсекается)
      |                                |
      v                                v
------------------------------------------------------------->
                     ^                                        t
                     |
                     |
             попадаение в ловушку
                  и DBL


Говоря коротко, грейлистинг это такой способ приёма почты, когда мы не принимаем письмо сразу, а ждём некоторое время, чтобы узнать не окажется ли отправитель в чёрных списках. Если не окажется, то с большой вероятностью это не спамер, и письма от него можно принимать.

Ниже описывается процедура инсталляции и настройки milter-greylist, одной из распространённых систем грейлистинга, работающей с Sendmail.

Инсталляция
%# apt-get install milter-greylist

Активируется milter-greylist разными способами, зависящими от дистрибутива. В Debain GNU/Linux:
%# vi /etc/default/milter-greylist

Настройка

Конфигурирование выполняется через файл /etc/milter-greylist/greylist.conf.


В этот файл можно добавить чёрные списки (по IP-адресам), белые списки (по IP-адресам) и чёрные и белые списки по адресам электронной почты.

Примеры:

Все письма, которые приходят с этих адресов, считать спамом.
list "spammer ips" addr { \
116.24.19.147\32 \
121.141.105.191\32 \
121.186.4.54\32 \
}
acl blacklist list "spammer ips"

Все письма, которые приходят с этих адресов, считать правильными и пропускать сразу же.
list "my clients" addr { \
204.3.218.131/32 \ # my webserver
65.17.234.133/32 \ # my other webserver
}
acl whitelist list "my addresses"

Все письма, которые приходят на этих пользователей, пропускать сразу же. Некоторые любят читать спам. Они там узнают много нового.
list "open users" rcpt { \
spamconsumer@mydomain.com \
}
acl whitelist list "open users"

Все письма, которые идут от этих пользователей, пропускать сразу же. Ни разу не было чтобы спам приходил от их имени, предположим, что и в будущем не придёт (наивное предположение, вообще говоря).
list "my addresses" from { \
jay@brownnoser.com \
kroumay@brownnoser.com \
}
acl whitelist list "my addresses"


После изменения настроек, для того чтобы они вступили в силу, нужно перезапустить программу milter-greylist:
# /etc/init.d/milter-greylist restart

Подключение к sendmail

В конец m4-файла нужно добавить строки:
INPUT_MAIL_FILTER(`greylist',`S=local:/var/milter-greylist/milter-greylist.sock, F=, T=S:1m;R:1m')dnl
define(`confMILTER_MACROS_CONNECT', `j, {if_addr}')dnl
define(`confMILTER_MACROS_HELO', `{verify}, {cert_subject}')dnl
define(`confMILTER_MACROS_ENVFROM', `i, {auth_authen}')dnl
define(`confMILTER_MACROS_ENVRCPT', `{greylist}')dnl

перестроить cf-файл и перезапустить sendmail.
%# cd /etc/mail
%# make
%# /etc/init.d/sendmail restart

Недостатки этого решения

Основным недостатком грейлистинга считается то, что время доставки первого письма от неизвестного отправителя существенно увеличивается. Если раньше письмо приходило мгновенно, то сейчас оно придёт только после второй попытки, спустя четыре часа (время может быть другим, оно зависит от настроек сервера отправителя).

Снизить негативные последствия от использования грейлистинга можно несколькими путями.
Использовать белые списки, куда занести IP-адреса серверов, с которыми идёт обмен почтой, но которые гарантированно не могут присылать спам (проще всего построить такой список на основе существующего журнала mail.log);
Разрешить беспрепятственное прохождение писем с серверов, поддерживающих SPF (Sender Policy Framework) — механизм обеспечивающий некоторые гарантии того, что адрес отправителя верен (подробнее об SPF можно прочитать, например в статье «Технология SPF - за и против»). Большинство популярных почтовых систем (gmail, mail.ru и проч.) поддерживают SPF.

Оригинал
http://xgu.ru/wiki/Борьба_со_спамом_в_Sendmail#.D0.A1.D0.B5.D1.80.D1.8B.D0.B5_.D1.81.D0.BF.D0.B8.D1.81.D0.BA.D0.B8_.28graylisting.29
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> Сеть Часовой пояс: GMT
Страница 1 из 1
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис