URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 85930
[ Назад ]

Исходное сообщение
"Обязательная smtp аутентификация sendmail"

Отправлено danmer , 13-Июл-09 09:07 
Имеется почтовый сервер с sendmail 8.14.3 на freebsd 7.2. Есть домен mydomain.net для которого принимается почта этим сервером, он прописан в local-host-names. Внутренняя сетка local.net прописана в relay-domains, с этих хостов разрешен релей. Аутентификация настроена через saslauthd по хэндбуку.

Итак отправляем письмо из локалки на любой адрес, аутентификация при этом необязательна ибо локальным адресам доверяем. Теперь пробуем отправить из внешнего мира с адреса vasya@mydomain.net на какой-нибудь vasya@mail.ru. Без аутентификации, выскакивает «5.7.1 <vasya@mail.ru> ... Relaying denied. Proper autentification required.», что верно ибо у нас не открытый релей. При аутентификации это письмо отправляется нормально. Теперь пробуем отправить из внешнего мира с vasya@mydomain.net на petya@mydomain.net и это письмо отправляется без аутентификации!

Как я понимаю дело в том что принимается абсолютно вся почта пришедшая на mydomain.net, и не важно кто и откуда посылал письмо. Внимание вопрос к знатокам: можно ли сделать чтобы письмо, где адрес отправителя any_name@mydomain.net принималось только после обязательной аутентификации.


Содержание

Сообщения в этом обсуждении
"Обязательная smtp аутентификация sendmail"
Отправлено Medlar , 13-Июл-09 11:25 
>Теперь пробуем отправить из внешнего мира с vasya@mydomain.net на petya@mydomain.net и это письмо отправляется без аутентификации!

Что совершенно естественно: по умолчанию вы обязаны принять почту, если она предназначена локальному домену, если политика данной почтовой системы не предусматривает иного.

>Как я понимаю дело в том что принимается абсолютно вся почта пришедшая
>на mydomain.net, и не важно кто и откуда посылал письмо.

Да.

>Внимание
>вопрос к знатокам: можно ли сделать чтобы письмо, где адрес отправителя
>any_name@mydomain.net принималось только после обязательной аутентификации.

Насколько я понимаю, это задача из серии "как запретить внешнюю не авторизованную   почту, подписанную моим доменом."
Тогда вам сюда -
http://linux.ufaras.ru/sendmail3.html#29


"Обязательная smtp аутентификация sendmail"
Отправлено danmer , 13-Июл-09 19:00 
Спасибо, то что нужно. Только вот исходящая изнутри relay-domains почта тоже без авторизации не отправляется. Придется мне поизучать матчасть по синтаксису cf-файла, а то я пока совершенно эти команды не вкуриваю.

"Обязательная smtp аутентификация sendmail"
Отправлено Medlar , 13-Июл-09 20:55 
Только вот исходящая изнутри relay-domains почта тоже без
>авторизации не отправляется.

Не может быть.
Вы какой набор праввил из той ссылки использовали?


"Обязательная smtp аутентификация sendmail"
Отправлено danmer , 14-Июл-09 13:01 
>Не может быть.
>Вы какой набор праввил из той ссылки использовали?

Самый первый набор.

Вобщем я разобрался. У меня в relay-domains прописано доменное имя, а не IP-адрес локальной сети с которой разрешен релей. А поскольку сравнение идет со значением взятым из {client_addr} то совпадения не было и локальная почта блокировалась. Можно было просто в relay-domains прописать IP-адрес сети, но из принципа решил все таки хоть немного разобраться в "прелести" команд cf-файла :). В итоге заменил в Вашем наборе строчку:

# Почта, исходящая из локальной сети (/etc/mail/relay-domains) проверке не подвергается
R< $=R $* > $| $*        $@ OK

на:

R< $* > $| $*        $: $2
R$*            $: < $&{client_name} > $| $1
R< $* $=R > $| $*           $@ OK

После чего все заработало. Еще раз спасибо за помощь.


"Обязательная smtp аутентификация sendmail"
Отправлено Medlar , 14-Июл-09 13:34 
Сорри за offtopic, но вы меня сильно удивили: без столь привычного моему глазу нытья на 40 постов сами с ходу разобрались в проблеме ...
Не перевелись еще Homo sapiens, что радует.
Так держать :)