1 votes

Dans postfix, comment puis-je appliquer de manière conditionnelle l'option check_sender_access ?

Je gère deux domaines virtuels : domain1.org et domain2.org. Je veux appliquer la politique suivante :

Si un client se connecte à partir d'une adresse IP dans $mynetworks alors je veux n'autoriser que les mails pour laquelle le expéditeur domaine d'adresse appartient à à l'un de mes domaines.

Si un client se connecte à partir de toute autre adresse IP alors je veux n'autoriser que les mails pour laquelle le expéditeur domaine d'adresse n'appartient pas à l'un de mes domaines.

Pour cela, il faut deux fichiers d'accès de hachage (sender_for_local_clients et sender_for_remote_clients).

sender_for_local_clients contient

domain1.org OK
domain2.org OK

sender_for_remote_clients contient

domain1.org REJECT
domain2.org REJECT

Mais je ne sais pas comment les combiner dans la directive smtpd_sender_restrictions. Une partie du problème est que les actions OK ne permettent pas automatiquement de PERMIT, alors que les actions REJECT permettent automatiquement de REJETER. Je ne peux donc pas trouver une séquence appropriée de smtpd_sender_restrictions qui me permettra d'appliquer la politique décrite ci-dessus. Avez-vous des idées ?

1voto

Stefan Förster Points 1131

Vous aurez besoin d'une classe de restriction pour cela. Reproduisez le contenu de $mynetworks dans une carte CIDR, par exemple cidr:/etc/postfix/local_clients avec quelque chose comme ceci :

# local networks
192.168.0.0/24 local_senders

smtpd_restriction_classes = local_senders
local_Senders = check_sender_access hash:/etc/postfix/sender_for_local_clients, reject

smtpd_recipient_restrictions = 
 ...
 check_client_access cidr:/etc/postfix/local_clients
 ...
 check_sender_access hash:/etc/postfix/sender_for_remote_clients
 ...

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X