LINUX.ORG.RU
ФорумAdmin

Postfix: ограничение на отправку писем

 


0

1

Доброго времени суток.

Подскажите, есть ли возможность в postfix ограничить для отдельного пула e-mail адресов отправку почты? Нужно, чтобы они могли отправлять только на внутренние и некоторые внешние адреса. Притом, что внешние адреса все на домене @yandex.ru.

Знаю, что можно разрешить слать во внутрь и, допустим, на все ящики домена @yandex.ru. Но, мне нужно сделать, чтобы во внешку можно было отправлять только на определенные конкретные адреса.

Точно можно с использованием mailfromd. Можно ли проще, без milter, не знаю.

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

Спасибо, но я стараюсь не приходить сюда не погуглив. Я тоже видел эту статью и кучу отсылок к ней. С англ немного туго и нашел её русский перевод. Но, исходя из неё я могу разрешить пользователю отправлять на определенные домены, а мне нужно прямо указать конкретные ящики на которые можно слать почту.

Например,

user1@domen.ru может отправлять на: user1@yandex.ru user2@yandex.ru

и никакие другие.

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

Можно через class restrictions так сделать. Пишешь класс, вешаешь его на sender_restrictions, в классе пишешь список разрешенных адресов(и/или доменов) с permit, остальное отправляешь в discard

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

остальное отправляешь в discard

Вот так вряд ли стоит делать. Или, по меньшей мере, крепко подумать. Я правильно понимаю, что это у Postfix «молча выкинуть» ?

AS ★★★★★ ()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Если не трудно, то можно прям совсем на пальцах? Нашел вот такой топик. Они указывают домены, как я понял из вашего комментария точно так же можно указать прям почту. Верно? Т.е. по их примеру в allow_domains я буду писать user1@yandex.ru, user2@yandex.ru.

hanharr ()
Ответ на: комментарий от Vlad-76

Интересно, сколько одминов в курсе, что discard в postfix это транспорт и ни один из rcpt to не получит письмо без dsn.

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

Небольшой затуп

Подскажите, а если в мой (ну, не совсем мой) конфиг выглядит таки образом, то я могу добавить в классы еще условия и ссылаться на них? Или же нужно извращаться с уже имеющимися вариантами?

main.cf

has_our_domain_as_sender =
 check_sender_access hash:/etc/postfix/our_domain_as_sender
 reject

smtpd_restriction_classes =
 has_our_domain_as_sender

smtpd_recipient_restrictions =
 reject_non_fqdn_recipient
 reject_non_fqdn_sender
 reject_unknown_sender_domain
 reject_unknown_recipient_domain
 permit_mynetworks
 permit_sasl_authenticated
 check_client_access hash:/etc/postfix/internal_networks
 check_sender_access hash:/etc/postfix/not_our_domain_as_sender
 reject_unauth_destination
 reject_unverified_recipient
 check_recipient_access hash:/etc/postfix/roleaccount_exceptions
 check_helo_access pcre:/etc/postfix/helo_checks
 reject_non_fqdn_hostname
 reject_invalid_hostname
 check_sender_mx_access cidr:/etc/postfix/bogus_mx
 reject_unverified_sender
 permit

our_domain_as_sender

domain.lan OK
<> OK

not_our_domain_as_sender

domain.lan 554 Do not use my domain in your envelope sender

hanharr ()
Ответ на: Небольшой затуп от hanharr

Re: Небольшой затуп

в smtpd_restriction_classes через запятую новый класс. и его описание новый класс = ... аналогично и тд.

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

Подскажите, а в smtpd_restriction_classes можно сделать несколько классов? Как я понял они перечисляются через запятую. Тогда получается конфиги будут выглядеть так:

main.cf

smtpd_restriction_classes =
 has_our_domain_as_sender,
 allow_domains

allow_domains =
 check_recipient_access hash:/etc/postfix/allow_domains
 reject

smtpd_recipient_restrictions =
 reject_non_fqdn_recipient
 reject_non_fqdn_sender
 reject_unknown_sender_domain
 reject_unknown_recipient_domain
 permit_mynetworks
 permit_sasl_authenticated
 check_client_access hash:/etc/postfix/internal_networks
 check_sender_access hash:/etc/postfix/not_our_domain_as_sender, restricted_senders
 reject_unauth_destination
 reject_unverified_recipient
 check_recipient_access hash:/etc/postfix/roleaccount_exceptions
 check_helo_access pcre:/etc/postfix/helo_checks
 reject_non_fqdn_hostname
 reject_invalid_hostname
 check_sender_mx_access cidr:/etc/postfix/bogus_mx
 reject_unverified_sender
 permit

allow_domains

domain.ru OK
domain.lan OK
ratkin@live.ru OK

restricted_senders

user1@domain.ru allow_domains



Подскажите, что может быть не так. Вроде, все должно работать, но нет.
hanharr ()
Ответ на: Re: Небольшой затуп от anonymous

Спасибо, тоже уже нашел это. Но, все-равно не работает. Пускает дальше всех. Ладно бы хоть меня ограничило на отправление в какую-либо сторону, или остальных пользователей. Так нет. Такое ощущение, что игнорирует мои действия.

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

Я делал так:

smtpd_restriction_classes = internal_only
internal_only = check_recipient_access hash:/etc/postfix/conf/internal_only, reject

smtpd_sender_restrictions =
        reject_non_fqdn_sender,
        check_sender_access hash:/etc/postfix/conf/sender_access
        permit_sasl_authenticated,
        permit_mynetworks,
        reject_unknown_sender_domain,
        permit

smtpd_recipient_restrictions =
        reject_non_fqdn_recipient,
        permit_sasl_authenticated,
        permit_mynetworks,
        reject_unknown_recipient_domain,
        reject_unauth_destination,
        permit

Содержимое файлов примерно такое же как у тебя

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

Возможно, глупый вопрос, но вы проверяете в «отправителе», а я проверяю список «получателей». Или особой разницы нет? Не покажите файлы internal_only и sender_access, если не трудно.

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

Спасибо. Победил вашими силами. Если прописывать именно в smtpd_recipient_restrictions, как было в примере, что я скидывал выше, то вообще правило игнорируется. А если как у вас в smtpd_sender_restrictions, то всё работает как надо.

Не исключаю, что чего-то недопонял.

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