LINUX.ORG.RU
ФорумAdmin

спам от типа наших адресов - как порезать?


0

0

итак, есть сендмыл, спамассассин. есть проблема с тем что сволочи - спаммеры подставляют наши же адреса в фром поле. т е человеку с мылом info@mydomain.com приходит спам якобы от себя самого. в хидерах источник получения - как всегда какой то динамический айпи из хз куда. задача: как резать / отфутболивать принятие писем с полем фром где указываеться адреса @ наш хостнейм которые приходят из инета, а не из нашей локальной сетки? рылся в инете - не нашёл простых решений...

anonymous

Что означает "простое решение"?
Sendmail для внесения ограничений по умолчанию использует один файл -
access. Но его синтаксис не предусматривает двойное условие:
если домен такой-то и при этом IP из такой-то сетки - отказ.

Нужно писать свои правила. А это уже не простое решение.

Sciurus
()

т.е. получаю спам вида
user1@mydomain.com -> user1@mydomain.com

В postfix-e это решается так.

smtpd_restriction_classes = OnlyFromMyUsers

OnlyFromMyUsers = permit_mynetworks,
permit_sasl_authenticated,
reject

smtpd_sender_restrictions =
check_sender_access hash:/usr/local/etc/postfix/access_sender

file access_sender

mydomain.com OnlyFromMyUsers

anonymous
()

> резать / отфутболивать принятие писем с полем фром где указываеться адреса @ наш хостнейм которые приходят из инета, а не из нашей локальной сетки

А потом ваш директор попытается поработать с почтой откуда-нить из отпуска на Канарах и скажет вам бааальшое спасибо.

anonymous
()
Ответ на: комментарий от anonymous

>> А потом ваш директор попытается поработать с почтой откуда-нить из отпуска на Канарах и скажет вам бааальшое спасибо.

Не надо ерунду плести, используйте sasl аутентификацию.

anonymous
()
Ответ на: комментарий от anonymous

я ему попытаюсь - с канар то - долго помнить будет :) однако ненадо мне всякие варианты типа "что может случиться" выдумывать. писать правила в цф файле сендмыла - это, конечно, черезчур. если у сендмайла штатными средствами такое не реализовать - может через спамассассин или процмайл можно такие письма резать, чтоб до адресатов не доходили? спамассассин такие как спам не помечает. возможно потому что письма с нашей доменной зоны в вайтлист проставлены, так как реально спама с нашей зоны до сих пор крайне мало было, а клиенты в основном из нашей доменной зоны 1. уровня пишут - не хотелось бы чтобы они в спам по возможности попадали. такие вот жёлуди.

anonymous
()
Ответ на: комментарий от anonymous

ну раз на редактирование sendmail.mc наложено такое табу, то procmail будет самое то

Sciurus
()

http://www.benzedrine.cx/milter-regex.html
---
connect - IP откуда лезут (своим разрешить, остальных проверить на отправителя)
envfrom - "ОТ КОГО", которым представились sendmail-у
header - "From:", которое внутри письма

spirit ★★★★★
()

smtp-auth решение проблемы. А вообще, если у вас пользуются отправкой писем из-вне локалки, то в качестве SMTP сервера указывают пусть smtp провайдера, а корпоративный сервер для релея из интернета закрыть.

anonymous
()
Ответ на: комментарий от anonymous

Если надо, чтобы спамассассин отрабатывал свое по полной, убери свою доменную зону из вайтлиста и используй трустед_нетворкс

trusted_networks 192.168.13/24

trusted_networks a.b.c.d

ansky ★★★★★
()

От ваших адресов всех авторизовывать надо.

tux2002
()
Ответ на: комментарий от ansky

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

anonymous
()
Ответ на: комментарий от anonymous

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

tux2002
()
Ответ на: комментарий от tux2002

в какую сторону для авторизации такой смотреть? хотя бы ссылку на какой нить хауту можно, если не затруднит? хотя я бы всёже был бы рад более простой процедуре - ленив я от природы :)

anonymous
()
Ответ на: комментарий от tux2002

>Хорошо, что релеит только пришедшее из нутренней сетки, но я бы сделал авторизацию для from мой домен. Даже если это шлюзовой релей, можно сделать служебную учётную запись для внутренних серверов.

ок, вопрос. у меня провайдер режет 25-й порт и заставляет пользоваться его релеем, собственно у меня в почтовике настроен From: какой на работе, а авторизация натравлена на провайдерский релей, как в предлагаемом Вами решении моя почта попадет куда нужно?

borisych ★★★★★
()
Ответ на: комментарий от borisych

>ок, вопрос. у меня провайдер режет 25-й порт и заставляет пользоваться его релеем, собственно у меня в почтовике настроен From: какой на работе, а авторизация натравлена на провайдерский релей, как в предлагаемом Вами решении моя почта попадет куда нужно?

Никак, если не делать исключений для доверенных релеев, но это необычная ситуация.

tux2002
()
Ответ на: комментарий от anonymous

Юв какую сторону для авторизации такой смотреть? хотя бы ссылку на какой нить хауту можно, если не затруднит? хотя я бы всёже был бы рад более простой процедуре - ленив я от природы :) Я sendmail очень поверхностно. Посмотрите http://www.sendmail.org/~ca/email/auth.html Require AUTH

tux2002
()
Ответ на: комментарий от anonymous

> smtp-auth решение проблемы
Для sendmail-а, принимающего почту из мира - нет, т.к., на сколько я знаю из опыта, в последних версиях sendmail-а (а может и вообще во всех) либо принудительная авторизация для всех, либо её вообще нет.

> От ваших адресов всех авторизовывать надо

Да, только каким образом заставить sendmail анализировать поле "From:" внутри письма ? (оно может отличаться от отправителя в "mail from:") Конкретное решение можно ?

> хотя я бы всёже был бы рад более простой процедуре - ленив я от природы :)

Поэтому я всё таки рекомендую глянуть на milter-regex:

# разрешаем всё из локальной сети
accept
connect // /^192\.168\./
connect // /^127\./

# внешнюю почту проверяем на адрес отправителя
reject "Do not spam !"
envfrom /@мой_домен(>|$)/e
header /^From$/ /@мой_домен(>|$)/e
header /^From$/ /@/n

spirit ★★★★★
()
Ответ на: комментарий от spirit

>Да, только каким образом заставить sendmail анализировать поле "From:" внутри письма ? (оно может отличаться от отправителя в "mail from:") Конкретное решение можно ?

К сожалению sendmail не знаю как, поэтому exim у нас конкретное решение.

The only way Exim can receive mail from another host is using SMTP over TCP/IP, in which case the sender and recipient addresses are transferred using SMTP commands.

tux2002
()
Ответ на: комментарий от anonymous

вот "дивлюсь я на небо и думку гадаю ..."
Вы искали "простое" решение

Прикрутить milter-regex
и как следствие получить дополнительную нагрузку на почтовик в виде
вызова milter'a на _каждом_ письме на _каждом_ этапе smtp-диалога, т.е. connect, helo, rcpt, etc ... - это просто и не лениво ...
(конечно при условии что у вас до сих пор не было прикручено milter-фильтров, т.е. они вам реально нужны)

а вот добавить почти те же 7 строк в конфиг, избавив тем самым
почтовик от лишней работы - это уже "не просто."
А решение выложено и на sendmail.org в том числе.

> smtp-auth решение проблемы

>Для sendmail-а, принимающего почту из мира - нет, т.к., на сколько я >знаю из опыта, в последних версиях sendmail-а (а может и вообще во >всех) либо принудительная авторизация для всех, либо её вообще нет.

>можно и это сделать


в check_mail & CheckFrom добавить проверку на домен отправителя
и проверить наличие заполненного $&{auth_authen} - те же 7 строк,
решение пока нигде не выложено.

Sciurus
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.