Проверка отправителя
Модераторы: Trinity admin`s, Free-lance moderator`s
Проверка отправителя
Значит проблемка такая, городская сеть, на 3 тыщи абонентов, локальная почта, без выхода в инет. Задрали письмами с несуществующих адресов, а ответить им невозможно, потому как адреса такого не существует. не в сети ни на том же сервере. Искал милтеры для проверки корректности адресов, но часть закрыто часть хотят денег. Что подскажете? Как бороться?
-
- Advanced member
- Сообщения: 103
- Зарегистрирован: 04 окт 2004, 15:07
- Stranger03
- Сотрудник Тринити
- Сообщения: 12979
- Зарегистрирован: 14 ноя 2003, 16:25
- Откуда: СПб, Екатеринбург
- Контактная информация:
По хорошему не многие почтовики позволяют осуществлять проверку существования адреса. Тем более что ИМХО 70-80% почтовиков с интернете почтовые хабы, которые тупо или не тупо пересылают почту внутрь на реальные почтовики. Посмотрите вот здесь:
http://www.opennet.ru/openforum/vsluhfo ... 44738.html
http://www.opennet.ru/openforum/vsluhfo ... 44738.html
Спасибо за ответ, но Вы меня несколько не поняли.
Локальная сеть, без выхода в интернет, где существует только один почтовый сервер, например mail.loc , вся почта крутиться на нем.
Вот и ситуация, допустим там есть две учетки:
1. vasya@mail.loc
2. petya@mail.loc
Но находится куча идиотов которые присылают кучу писем на vasya@mail.loc подставляя левые ОБРАТНЫЕ адреса (адреса отправителя) xxx@mail.loc yyy@mail.loc zzz@mail.com fff@ya.ru и так далее. Ответить на эти адреса понятно что невозможно их не существует.
Вот и задача обрубить нафиг эти письма с левых адресов, чтоб они либо уходили в /dev/null либо не принимались сервером вообще.
Локальная сеть, без выхода в интернет, где существует только один почтовый сервер, например mail.loc , вся почта крутиться на нем.
Вот и ситуация, допустим там есть две учетки:
1. vasya@mail.loc
2. petya@mail.loc
Но находится куча идиотов которые присылают кучу писем на vasya@mail.loc подставляя левые ОБРАТНЫЕ адреса (адреса отправителя) xxx@mail.loc yyy@mail.loc zzz@mail.com fff@ya.ru и так далее. Ответить на эти адреса понятно что невозможно их не существует.
Вот и задача обрубить нафиг эти письма с левых адресов, чтоб они либо уходили в /dev/null либо не принимались сервером вообще.
- Stranger03
- Сотрудник Тринити
- Сообщения: 12979
- Зарегистрирован: 14 ноя 2003, 16:25
- Откуда: СПб, Екатеринбург
- Контактная информация:
- Stranger03
- Сотрудник Тринити
- Сообщения: 12979
- Зарегистрирован: 14 ноя 2003, 16:25
- Откуда: СПб, Екатеринбург
- Контактная информация:
Например:
http://www.massmail.ru/amv/
http://www.massmail.ru/amv/
- Stranger03
- Сотрудник Тринити
- Сообщения: 12979
- Зарегистрирован: 14 ноя 2003, 16:25
- Откуда: СПб, Екатеринбург
- Контактная информация:
Ага, вспомнил, на БСД есть порт milter-sender.
http://dz.dn.ua/spam/antispam.html
http://dz.dn.ua/spam/antispam.html
- corvax
- free-lance moderator
- Сообщения: 877
- Зарегистрирован: 06 авг 2004, 17:21
- Откуда: Kiev, Ukraine
- Контактная информация:
на сколько я понял, у вас Fedora, Sendmail, письма из вашей сети приходят с локальными для вашего sendmail доменами в адресе отправителя и несуществующими mailbox'ами в этом же адресе отправителя?mitnik писал(а):Статью прочитал, полезная.
Но у меня Fedora.
если да, то для проверки существования адреса отправителя не нужны верификаторы типа milter-sender, ибо он будет обращаться по SMTP к вашему же sendmail'у, что в данной ситуации совершенно избыточно.
если в первом абзаце я все правильно предположил, вам нужен коротенький набор правил, вызываемый из Local_check_mail и проверяющий отправителя в списке локальных пользователей
писал прямо сюда, без тестов (я давненько уже не использую sendmail), так что лучше все внимательно проверить:
Код: Выделить всё
LOCAL_RULESETS
SLocal_check_mail
R $+ $: $1 $| $>Parse0 $>3 $1
R $+ $| $+ < @ $+. > $* $: $1 $| $2 < @ $3 > $4
R $+ $| $+ < @ $=w > $* $: $1 $| $2 < @ $3 > $4 $| $(user $2 $: ? $)
R $+ $| $+ < @ $=w > $* $| ? $: $1 $| $2 < @ $3 > $4 $| $(aliases $2 $: ? $)
R $+ $| $+ < @ $=w > $* $| ? $: $1 $| $2 < @ $3 > $4 $| $(virtuser $2@$3 $: ? $)
R $+ $| $+ < @ $=w > $* $| ? $: $1 $| $2 < @ $3 > $4 $| $(virtuser @$3 $: ? $)
R $+ $| $+ $| ? $#error $: 554 5.1.7 Sender unknown
R $+ $| $* $: $1
--
/corvax
/corvax
Спасибо за ответ, вот так вставил в конфиг. Надеюсь в нужном месте ))
######################################################################
### check_mail -- check SMTP `MAIL FROM:' command argument
######################################################################
SLocal_check_mail
R$+ $: $1 $| $>Parse0 $>3 $1
R$+ $| $+ < @ $+. > $* $: $1 $| $2 < @ $3 > $4
R$+ $| $+ < @ $=w > $* $: $1 $| $2 < @ $3 > $4 $| $(user $2 $: ? $)
R$+ $| $+ < @ $=w > $* $| ? $: $1 $| $2 < @ $3 > $4 $| $(aliases $2 $: ? $)
R$+ $| $+ < @ $=w > $* $| ? $: $1 $| $2 < @ $3 > $4 $| $(virtuser $2@$3 $: ? $)
R$+ $| $+ < @ $=w > $* $| ? $: $1 $| $2 < @ $3 > $4 $| $(virtuser @$3 $: ? $)
R$+ $| $+ $| ? $#error $: 554 5.1.7 Sender unknown
R$+ $| $* $: $1
Scheck_mail
R$* $: $1 $| $>"Local_check_mail" $1
R$* $| $#$* $#$2
R$* $| $* $@ $>"Basic_check_mail" $1
SBasic_check_mail
# check for deferred delivery mode
R$* $: < $&{deliveryMode} > $1
R< d > $* $@ deferred
R< $* > $* $: $2
при попытке отправки
[root@service spamilter]# telnet 172.16.1.11 25
Trying 172.16.1.11...
Connected to mail.loc (172.16.1.11).
Escape character is '^]'.
220 localhost.localdomain ESMTP Sendmail 8.13.5/8.13.5; Thu, 2 Aug 2007 11:44:29 +0300
helo mail.loc
250 localhost.localdomain Hello mail.loc [172.16.1.11] (may be forged), pleased to meet you
mail from: vasya@mail.loc
554 5.3.0 rewrite: map user not found
Хотя юзер есть.
######################################################################
### check_mail -- check SMTP `MAIL FROM:' command argument
######################################################################
SLocal_check_mail
R$+ $: $1 $| $>Parse0 $>3 $1
R$+ $| $+ < @ $+. > $* $: $1 $| $2 < @ $3 > $4
R$+ $| $+ < @ $=w > $* $: $1 $| $2 < @ $3 > $4 $| $(user $2 $: ? $)
R$+ $| $+ < @ $=w > $* $| ? $: $1 $| $2 < @ $3 > $4 $| $(aliases $2 $: ? $)
R$+ $| $+ < @ $=w > $* $| ? $: $1 $| $2 < @ $3 > $4 $| $(virtuser $2@$3 $: ? $)
R$+ $| $+ < @ $=w > $* $| ? $: $1 $| $2 < @ $3 > $4 $| $(virtuser @$3 $: ? $)
R$+ $| $+ $| ? $#error $: 554 5.1.7 Sender unknown
R$+ $| $* $: $1
Scheck_mail
R$* $: $1 $| $>"Local_check_mail" $1
R$* $| $#$* $#$2
R$* $| $* $@ $>"Basic_check_mail" $1
SBasic_check_mail
# check for deferred delivery mode
R$* $: < $&{deliveryMode} > $1
R< d > $* $@ deferred
R< $* > $* $: $2
при попытке отправки
[root@service spamilter]# telnet 172.16.1.11 25
Trying 172.16.1.11...
Connected to mail.loc (172.16.1.11).
Escape character is '^]'.
220 localhost.localdomain ESMTP Sendmail 8.13.5/8.13.5; Thu, 2 Aug 2007 11:44:29 +0300
helo mail.loc
250 localhost.localdomain Hello mail.loc [172.16.1.11] (may be forged), pleased to meet you
mail from: vasya@mail.loc
554 5.3.0 rewrite: map user not found
Хотя юзер есть.
- Stranger03
- Сотрудник Тринити
- Сообщения: 12979
- Зарегистрирован: 14 ноя 2003, 16:25
- Откуда: СПб, Екатеринбург
- Контактная информация:
Это будет работать только в том случае, если в адресе будет тот же домен. Если поставить адрес типа вася@ya.ru, то такая проверка уже не сработает (это написано в первом посте кстати). В этом лучае почтовику надо совсем запретить обработку любых доменов, кроме mail.loccorvax писал(а):на сколько я понял, у вас Fedora, Sendmail, письма из вашей сети приходят с локальными для вашего sendmail доменами в адресе отправителя и несуществующими mailbox'ами в этом же адресе отправителя?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 18 гостей