Em nosso servidor, estamos usando o policyd 1.x junto com o Postfix 2.1.5 para greylisting e imposição de cotas de entrada de usuários não autorizados (ou seja, e-mail para nossos domínios). Para isso, eu configurei o Postfix main.cf
assim:
smtpd_restriction_classes = greylisting
greylisting = check_policy_service inet:127.0.0.1:10031
...
smtpd_recipient_restrictions =
permit_mynetworks,
...
permit_sasl_authenticated,
...
check_client_access pcre:/etc/postfix/checks/greylist.pcre,
e configure uma configuração greylisting seletiva:
# greylist.pcre
/^unknown$/ greylisting
# TLDs with high spam rate
/\.(ni|ru|hu|us|si|sk|cn|jp|ro|hn|mx|br|ar|cc|ae|ee|my|tr|pt|cz)$/ greylisting
... etc
i.e. a autenticação SASL substitui o policyd. Até agora, isso funciona muito bem. No entanto, gostaria de usar o policyd também para usuários autenticados e configurar um conjunto de regras completamente diferente para esses usuários:
PARA ALGUNS usuários não autorizados, com base no nome do host remoto,
- greylisting,
- contabilidade (número limite de e-mails por vez) com padrões,
- lista negra,
- lista de permissões.
Para usuários autorizados (SASL),
- sem greylisting,
- cota de e-mail de saída diferente específica do usuário com o padrão,
- não há lista negra,
- sem lista de permissões.
Até agora, acho que tenho que executar outra instância do policyd com banco de dados SQL e arquivo de configuração diferentes.
Isso é verdade ou existe uma maneira de configurar uma única instância de policyd para usar diferentes conjuntos de regras com base no status de host remoto e de autenticação SASL?