Страница 1 из 2
exim: рубить спам через blacklist
Добавлено: 2008-04-28 17:11:05
[rain]
Доброго дня.
Новичок в сфере почты, активно изучаю мануалы, но где-то что-то не догоняю...
Решил зарубить спам через blacklist релеев, составленный собственноручно, засим в файлик поместил список в форме:
Прочитав, как сделано
тут, в конфиг вписал следующий acl:
Код: Выделить всё
deny message = sender IP address $sender_host_address is locally blacklisted here.
hosts = ${/path/to/dir/blacklist.txt}
И есть у меня подозрения, что эта схема чуть неработоспособна.
Сомнения верны?
Re: exim: рубить спам через blacklist
Добавлено: 2008-04-28 17:49:51
princeps
Посмотри прилепленную тему "Полезные скрипты\настройки для exim" там есть пост "Блокировка спамеров на этапе connect". Кажется, то, что тебе надо.
Re: exim: рубить спам через blacklist
Добавлено: 2008-04-28 19:04:10
[rain]
Ога ога, спасибо, по сути, то что надо.
Прикрутил, но не работает, в логи сообщение не пишется. Подозреваю, что дело в формате файла, но не понимаю.
Читаю
тут:
Код: Выделить всё
Четыре вида именованных списков создаются конфигурационными строками, начинающимися со слов “domainlist”, “hostlist”, “addresslist” или “localpartlist” соответственно. Задаваемые вами списки помещайте после них. Например:
hostlist relay_hosts = 192.168.23.0/24 : my.friend.example
addresslist bad_senders = cdb;/etc/badsenders
Два вопроса: что есть cdb (отменяется, нашел инфу о cdb
вот тут) и в каком формате должны быть домены записаны в файле?
У меня они идут в формате:
Код: Выделить всё
*.spokaneschools.org
*.outblaze.com
*.com.br
*.aboutcomics.com
*.bluebird.com
*.bofill.com
*.ingr.com
*.chinaxinzhou.com
*.ezagenda.com
*.antronomia.com
*.mexxxico.com
Re: exim: рубить спам через blacklist
Добавлено: 2008-04-28 20:30:13
[rain]
Формат - случайно не вот такой в файле должен быть?
Код: Выделить всё
^.*bezeqint\\.net
^.*arcor-ip\\.net
^.*novis\\.pt
^.*rr\\.com
^.*verizon\\.net
Re: exim: рубить спам через blacklist
Добавлено: 2008-04-28 22:03:35
Alex Keda
да хрен его знает...
тебе какая разница в каком файле?
найди в доках поиск с примерами, его и заюзай.
накрайняк мусю - хоть и изврат...
Re: exim: рубить спам через blacklist
Добавлено: 2008-04-28 22:11:17
[rain]
Да тем и занимаюсь, ищу, думаю...
Re: exim: рубить спам через blacklist
Добавлено: 2008-04-29 9:22:33
princeps
Я тоже парился с форматом файлов для плохих кейвордов. Как разберешься - напиши.
Re: exim: рубить спам через blacklist
Добавлено: 2008-04-29 9:46:37
cyrus_user
princeps писал(а):Я тоже парился с форматом файлов для плохих кейвордов. Как разберешься - напиши.
wildsearch, nwildsearch?
Re: exim: рубить спам через blacklist
Добавлено: 2008-04-29 10:10:08
princeps
cyrus_user писал(а):wildsearch, nwildsearch?
Да, действительно. [rain], читай тут:
http://www.lissyara.su/?id=1209#9.2
Re: exim: рубить спам через blacklist
Добавлено: 2008-04-29 16:54:24
[rain]
Пока решился вопрос внесением в конфиг такого кода:
Код: Выделить всё
deny message = "I think, your domain is an open relay with spam, so goodbye!"
condition = ${if match{$sender_helo_name}{.com.br| \
.etb.net.co|.gaoland.net|.com.mx|.inetia.pl|.tpnet.pl| \
.com.tr|.net.tr}{yes}{no}}
delay = 299s
Результат есть, в логах сообщения имеются.
По вчерашним измышлениям, сначала сделал таким образом:
Код: Выделить всё
domainlist _blacklist = cdb;/path/to/dir/_blacklist
далее вписал:
и потом по ходу конфига включил вот такое дело:
Код: Выделить всё
acl_check_connect:
deny message = Denied domain
# domains = +_blacklist
Перезапустил exim, на что он у на меня тут же стал матерно ругаться в логах, что-то на тему не готовности сервера принять соединения (вечерком дома протестирую чуть по чуть, дам сюда пример лога), в итоге я закомментировал внесенные для acl_check_connect изменения, полез гуглить и нагуглил вот
этот адрес, но так как весь день в бегах и времени не было свободного, опять таки буду тестить все это дело вечерком.
cyrus_user,
princeps, ога, пасибо за намеки, тоже буду посмотреть.
Re: exim: рубить спам через blacklist
Добавлено: 2008-04-30 21:59:29
Alex Keda
я одного не пойму - в конфиге который ты пилишь есть эти примеры...
чем они не устроили?
Re: exim: рубить спам через blacklist
Добавлено: 2008-04-30 22:56:54
[rain]
Кто сказал, что они не устроили? Вполне себе устроили, ковыряюсь в них как свин в грязи, по этим примерам еще одно там правило писать буду, на проверку наличия точки в HELO, потому как спам смотрю - суют дохрена просто левых слов.
Re: exim: рубить спам через blacklist
Добавлено: 2008-05-01 10:10:12
Alex Keda
там есть похожая проверка...
там где самый большой запрос к БД
))
Re: exim: рубить спам через blacklist
Добавлено: 2008-05-07 9:41:19
[rain]
Ога, пошарился, нашел кое-что и чуть переписал, получилось вот такое правило (воткнул его сразу после запрета с определенных доменов):
Код: Выделить всё
deny message = "HELO not contain dots in the domain name, so goodbye again!"
condition = ${if !match{$sender_helo_name}{\N\w\.\w\N}{yes}{no}}
hosts = !+relay_from_hosts : *
delay = 300s
Сегодня буду посмотреть на результат, в логах сообщения идут - уже хорошо
Re: exim: рубить спам через blacklist
Добавлено: 2008-05-07 10:00:37
princeps
В статье Лиса про exim+exchange много подобных правил. Там еще на количество точек-тире и т.п.
Re: exim: рубить спам через blacklist
Добавлено: 2008-05-07 10:10:56
[rain]
Дык по его конфигам и смотрю...
Re: exim: рубить спам через blacklist
Добавлено: 2008-05-07 11:32:15
princeps
У меня получалось, что к проверкам $sender_helo_name надо еще добавлять проверку $sender_host_name, и наоборот, т.к. полно хмырей, у которых правильный helo, зато в сервере отправителя хрен знает что написано.
Re: exim: рубить спам через blacklist
Добавлено: 2008-05-07 11:43:27
[rain]
Ну, у меня сначала идет проверка релея, после него как раз проверка существования точки в helo, а там дальше уже остальные вещи, но, к слову, до проверки по $sender_host_name я еще не добрался, но все к тому идет.
Re: exim: рубить спам через blacklist
Добавлено: 2008-05-09 16:54:59
shlash
По правилам, HELO ($sender_helo_name) должен повторять $sender_host_name, поэтому будет вполне достаточно следующего:
Код: Выделить всё
acl_check_helo:
require
message = "HELO ($sender_helo_name) not permitted for hostname ($sender_host_name)."
condition = ${if eq {${lc:$sender_helo_name}}{${lc:$sender_host_name}}{yes}{no}}
accept
При этом считать количество точек совершенно не нужно, хотя, наверное, тоже интересно иногда.
Теперь можно полностью сконцентрироваться на фильтрации $sender_host_name в acl_check_connect.
Обработку своего чёрного списка через wildlsearch можно сделать следующим образом:
Код: Выделить всё
deny
message = "Spam blocked from local HOSTNAME black list."
hosts = wildlsearch;/usr/local/etc/exim/reject_host_names
Содержимое файла reject_host_names:
Код: Выделить всё
*.domain1.com
*.domain2.net
*.orange.fr
*.net.br
Re: exim: рубить спам через blacklist
Добавлено: 2008-05-10 13:42:48
Morty
orange.fr
этих сразу фаерволом лучше блочь - оттуда всегда очень большая активность спама
ЗЫ: непонятно как их еще во все международные блэклисты не внесли
Re: exim: рубить спам через blacklist
Добавлено: 2008-05-10 19:12:44
princeps
shlash писал(а):По правилам, HELO ($sender_helo_name) должен повторять $sender_host_name
Эммм, по правилам может и так, но на деле оказывается, что не всегда повторяет - в 30% случаев они разные. Вот, к примеру, моя статистика за вчерашний день (всего было послано нахер 4000 писем - обычно в пять раз больше, видимо спамеры тоже празднуют
):
$sender_host_name без точек - 1097
$sender_helo_name без точек - 319
shlash писал(а):При этом считать количество точек совершенно не нужно, хотя, наверное, тоже интересно иногда.
Опять из тех же 4000 писем:
Больше четырех точек в $sender_host_name - 550
Больше четырех точек в $sender_helo_name - 250
Больше четырех дефисов в $sender_host_name - 146
Больше четырех дефисов в $sender_helo_name - 41
Re: exim: рубить спам через blacklist
Добавлено: 2008-05-11 6:49:11
shlash
Раскройте, пожалуйста, тему, приведите примеры, каким образом вы получили значение "$sender_host_name без точек - 1097"?
В имени хоста, в инете, не может быть менее одной точки..
Из моей практики, неэквивалентность $sender_host_name и $sender_helo_name у "правильных" отправителей бывает двух видов, например:
$sender_host_name = relay.domain.ru, $sender_helo_name = mail.domain.ru - разное слово перед первой точкой;
$sender_host_name = relay.domain.ru, $sender_helo_name = domain.ru - HELO содержит только почтовый домен.
У отправителей встречаются весьма странные, по сочетанию букв-цифр-дефисов, имена, сейчас навскидку могу вспомнить только google и avaya
Re: exim: рубить спам через blacklist
Добавлено: 2008-05-11 17:15:25
[rain]
Ковыряясь в спаме, перелопатив ни одну сотню писем, могу привести примеры того, что спамеры пихают в $sender_helo_name:
Код: Выделить всё
ivan-vdlyjmekc5
ce0b38a46f454de
hernxwx
tycoon-ab65c9a2
и прочая лабуда.
После проверки на наличие точки в helo стало отсекаться порядка 3/4 спама.
Re: exim: рубить спам через blacklist
Добавлено: 2008-05-12 8:50:14
princeps
shlash писал(а):Раскройте, пожалуйста, тему, приведите примеры, каким образом вы получили значение "$sender_host_name без точек - 1097"?
В имени хоста, в инете, не может быть менее одной точки..
Вот, пожалуйста:
Код: Выделить всё
# Считаем число точек в helo, если меньше одной - deny
deny condition = ${if !match{$sender_helo_name}{\N\w\.\w\N}{yes}{no}}
!senders = :
hosts = !+relay_from_hosts : *
message = "Не бывает HELO без точек"
# Считаем число точек (не меньше одной) в sender_host_name
deny condition = ${if !match{$sender_host_name}{\N\w\.\w\N}{yes}{no}}
!senders = :
hosts = !+relay_from_hosts : *
message = "Не бывает хостов без точек"
По первому правилу за вчерашний день было послано 284 письма из общего количества 6677, по второму - 1187, что однозначно говорит, что $sender_helo_name и $sender_host_name у них были разными.
shlash писал(а):У отправителей встречаются весьма странные, по сочетанию букв-цифр-дефисов, имена, сейчас навскидку могу вспомнить только google и avaya
У моих - тех, которые правильные - не встречаются. На худой конец есть белые списки.
Re: exim: рубить спам через blacklist
Добавлено: 2008-05-12 9:23:22
[rain]
У моих - тех, которые правильные - не встречаются. На худой конец есть белые списки.
+1.
У тебя каким образом реализовано, через файл?