보낸 사람과 받는 사람을 동시에 확인하는 Postfix check_*_access 클래스

보낸 사람과 받는 사람을 동시에 확인하는 Postfix check_*_access 클래스

우리는 네트워크의 일부 특정 서버에 인증 없이 메일을 보낼 수 있는 권한을 부여하고 싶습니다. 나는 그것을 알고 check_sender_access있으며 둘 다 보낸 사람( ) 또는 받는 사람( ) check_recipient_access을 테스트할 수 있습니다 .MAIL FROMRCPT TO

의 과도한 사용을 방지하기 위해 smtp_restriction_classes이러한 조회를 한번에 할 수 있는 방법을 찾고 있습니다. 즉

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

그러한 조회를 수행할 수 있는 솔루션이나 액세스 제한이 있습니까?

답변1

관련없는 두 가지 질문을하는 것 같습니다.

첫번째,

우리는 네트워크의 일부 특정 서버에 인증 없이 메일을 보낼 수 있는 권한을 부여하고 싶습니다.

Permit_sasl_authenticated 앞에 check_client_access를 배치하면 쉽게 해결됩니다.

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 FireWall 데몬.

이를 통해 정책 서버(check_policy_service)로 적용되는 복잡한 규칙과 IP 테이블이 허용됩니다. 정책 서비스의 장점은 모든 사전 DATA 매개변수(클라이언트, helo , 발신자, 수신자)에 동시에 액세스할 수 있다는 것입니다.

관련 정보