LINUX.ORG.RU
ФорумAdmin

Как настроить аутентификацию пользователей при подключении к Sendmail из интернета


0

0

Стоит sendmail. Он установлен как основной сервер: одной стороной смотрит в интернет, а другой - в локальную сеть. По нему приходит много спама.

Я обнаружил, что есть много спама, приходящего ко мне от моего же имени. Нпример:

From:pavel@domain.ru

To:pave@domain.ru

Мне это не понравилось. Подключился через telnet и понял, что, действительно, sendmail позволяет слать с внешней сети письма от моего домена моему же домену.

Думал, как это все нейтрализовать. Наклюнулись 2 варианта:

1. Запрещяем слать почту с вшених узлов от имени моео домена.

2. При помытке послать почту с внашних ip-адресов, требовать аутентификацию, если используется мой домен как домен отправки.

К сожалению, не нашел как сделать ни того, ни дрогого. Просьба: поделитесь своим опытом в реализации такой конфигурации


> ес-но у вас должна быть настроена smtp-авт-ия
Можно узнать как можно включить авторизацию в sendmail-е, смотрящем в мир и принимающем оттуда почту,
чтоб он не стал требовать авторизоваться у всего этого мира ?

> Запрещяем слать почту с вшених узлов от имени моео домена.
Когда-то делал так:
#
# Определение класса IP-адресов, от которых разрешено принимать почту
# с локальным доменом в адресе отправителя
# Для ТОЧНОГО соответствия в конце адреса должна быть точка:
#       127.0.0.1  = 127.0.0.1, 127.0.0.11, 127.0.0.123, ...
#       127.0.0.1. = только 127.0.0.1
#
C{local_addrs}192.168. 127.0.0.1.

SLocal_check_mail
R$*                     $: $1 $| $>check_address_spoof $1
R$* $| $#$*             $#$2

#######
# Правило проверки локальности отправителя с адресом,
# содержащим локальный домен    (вызывается из Local_check_mail)
#######
Scheck_address_spoof
R$*                             $: $&{client_addr} . $| $>3 $1  канонизируем отправителя
R$={local_addrs} $* $| $* < @ $=w . >   $@ <OK>                 отправитель наш - разрешаем
R$* $| $* < @ $=w . >           $#error $@ 5.7.1 $: "550 Go away spoofer"       чужой - ЗАПРЕЩАЕМ
R$*                             $: <SENDER_NOT_LOCAL>           чужой домен в адресе - разрешаем

+ добавить проверку поля From в заголовках письма

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

>> ес-но у вас должна быть настроена smtp-авт-ия
>Можно узнать как можно включить авторизацию в sendmail-е, смотрящем в мир и принимающем оттуда почту,
чтоб он не стал требовать авторизоваться у всего этого мира ?

1. Можно попросить sendmail слушать 587 порт, запустить его там с M=a,
и велеть всем юзерам настроить почтовый клиент в соответствии с 587
(минус который перевесит все многочисл плюсы - не все почтовые программы это поддержат) Тогда на MX-e (25 порту) можно смело рубить все входящие с нашим доменом без доп проверок отправителя

2. В предложенном мною решении нет требования глобальной авторизации.
Кто сможет авторизоваться - пройдет сразу,
кто из локальной сети - пройдет сразу,
кто подписан любым другим доменом кроме моего - милости прошу
для остальных, а это будут внешники с моим доменом - извините и т.д.

Под "должна быть настроена smtp-авт-ия" подразумевался sendmail д.б. собран с поддержкой cyrus_sasl и настроен соотвествующе



Sciurus
()

Самому пришлось сделать так:

SLocal_check_mail
R$*                $: $>"canonify" $1
R$*                $: $1 $| $>A < $&{client_addr} > <?> <! From> <>
R$* $| <RELAY> $*  $# OK
R$* $| <OK> $*     $# OK
R$* $| $*          $: $1
R$* < @ $* $m . >  $: $| $&{auth_type}
R$| $+             $# OK
R$|                $#error $@ 5.7.1 $: 550 authentication required from $&{client_addr}

Кстати, у меня check_address_spoof не вызывается из local_check_*. В SuSE все правила которые начинаеются как local_check задаются пользователями и вызываются из основной конфигурации

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