Класс Postfix check_*_access для одновременной проверки отправителя и получателя

Класс Postfix check_*_access для одновременной проверки отправителя и получателя

Мы хотим разрешить некоторым определенным серверам нашей сети отправлять почту без аутентификации. Я знаю это, check_sender_accessи check_recipient_accessоба могут проверить отправителя ( MAIL FROM) или получателя ( RCPT TO).

Чтобы предотвратить интенсивное использование, smtp_restriction_classesя ищу способ сделать такой поиск сразу. Т.е.

# /etc/postfix/check_noauth_servers
root@bi-server     [email protected]
root@bi-server     [email protected]
user@reporting     [email protected]

Существует ли решение или ограничение доступа, позволяющее выполнить такой поиск?

решение1

Кажется, вы задаете два не связанных между собой вопроса.

Первый,

Мы хотим разрешить некоторым определенным серверам нашей сети отправлять почту без аутентификации.

Легко решается путем размещения check_client_access перед permit_sasl_authenticated:

smtpd_recipient_restrictions = check_client_access hash:/etc/postfix/no-auth, permit_sasl_authenticated, reject_unauth_destination

И в /etc/postfix/no-auth:

your.server.name.or.ip    OK
  • Однако вторая часть вопроса, по-видимому, касается одновременно карт доступа как отправителя, так и получателя.

Именно для этого и smtpd_restriction_classesпредназначены:

smtpd_restriction_classes = noauth
noauth = check_recipient_access hash:/etc/postfix/allowed_recipients
smtpd_recipient_restrictions = permit_sasl_authenticated, check_sender_access hash:/etc/postfix/allowed_senders, reject_unauth_destination

и в /etc/postfix/allowed_senders:

[email protected]  noauth
[email protected]  noauth

и в /etc/postfix/allowed_recipients:

[email protected]  OK
[email protected]  OK

В каком порядке применять проверки доступа, решать вам.

Если вам нужны более сложные правила (например, объединяющие отправителей и получателей в одной проверке), рассмотритепостфвд, демон брандмауэра Postfix.

Это позволяет применять сложные правила типа iptables в качестве сервера политик (check_policy_service); преимущество службы политик заключается в том, что она имеет доступ ко всем параметрам pre-DATA (клиент, helo, отправитель, получатель) одновременно.

Связанный контент