Postfix - Integração AD e autenticação
Este artigo visa abordar de maneira simples como podemos integrar o Postfix a ambientes com AD e restringir o envio de emails a um dado grupo especifico de autenticação para quem usa Dovecot.
Conhecendo o POSTFIX
Antes de mais nada vamos fazer um breve descritivo do que é o Postfix.
Como o próprio site oficial o define:
Neste artigo vamos abordar apenas como podemos integrar o Postfix para permitir receber emails apenas para uma lista de usuários previamente definida e como limitar a autenticação de usuários para um grupo específico do AD.
No arquivo main.cf onde estão as configurações do Postfix, precisamos alterar a diretiva virtual_alias_maps. Adotaremos esta abordagem pois você poderá configurar diferentes domínios para grupos diferentes no AD.
Observe que a configuração do arquivo "usuarios" é do tipo HASH, isto é, há um par 'chave+valor', ex.:
Onde #usuario# é um usuário que irá possuir uma caixa de entrada válida no Postfix.
Após isso, o que precisamos fazer é criar um script que seja executado para obter os usuários que fazem parte de um grupo específico no AD.
Não iremos abordar, mas esteja atento às configurações das diretivas smtpd_recipient_restrictions, smtpd_sender_restrictions e smtpd_helo_restrictions abaixo. Segue uma sugestão de como podem estar configuradas:
Verifique ainda como está configurada a diretiva virtual_alias_domains:
Este arquivo /etc/postfix/mydomains deve conter os domínios que você especificou para os usuários no arquivo /etc/postfix/usuarios.
Como o próprio site oficial o define:
É o servidor de emails da Wietse Venema, que teve seu ciclo de desenvolvimento iniciado no departamento de pesquisas da IBM, como uma alternativa para o Sendmail, tendo como premissas ser mais rápido, fácil de administrar e seguro.Alguns dados interessantes no site MailRadar nos mostram que o Postfix está presente em cerca de 20% dos MTAs, porém um dado preocupante é que 2 em cada 5 emails enviados por spammers utilizou-se de falhas de configuração ou relay aberto em servidores utilizando Postfix.
Neste artigo vamos abordar apenas como podemos integrar o Postfix para permitir receber emails apenas para uma lista de usuários previamente definida e como limitar a autenticação de usuários para um grupo específico do AD.
Usuários e caixas de entrada
Partimos do princípio que seu servidor esteja instalado e deseja agora integrá-lo ao Active Directory. Não iremos abordar o processo de instalação do Samba, mas as dicas a seguir podem ajudá-lo a como vincular os usuários cadastrados para caixas locais.No arquivo main.cf onde estão as configurações do Postfix, precisamos alterar a diretiva virtual_alias_maps. Adotaremos esta abordagem pois você poderá configurar diferentes domínios para grupos diferentes no AD.
virtual_alias_maps = hash:/etc/postfix/usuarios
Observe que a configuração do arquivo "usuarios" é do tipo HASH, isto é, há um par 'chave+valor', ex.:
usuario@email.com #usuario#
Onde #usuario# é um usuário que irá possuir uma caixa de entrada válida no Postfix.
Após isso, o que precisamos fazer é criar um script que seja executado para obter os usuários que fazem parte de um grupo específico no AD.
getent group GRUPO_DO_AD | sed 's/,/\n/g' | awk '{print $1"@SEU_DOMINIO "$1}' > /etc/postfix/usuarios
Não iremos abordar, mas esteja atento às configurações das diretivas smtpd_recipient_restrictions, smtpd_sender_restrictions e smtpd_helo_restrictions abaixo. Segue uma sugestão de como podem estar configuradas:
### DETALHES NECESSARIOS PARA O SENDER smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_non_fqdn_sender, reject_unknown_sender_domain , reject_rhsbl_sender sbl.spamhaus.org, reject_rhsbl_sender xbl.spamhaus.org ### RESTRICAO APLICADA AOS RECIPIENTES smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unknown_recipient_domain, reject_non_fqdn_recipient, reject_unauth_destination, reject_rbl_client sbl-xbl.spamhaus.org, reject_rbl_client xbl.spamhaus.org, reject_unauth_pipelining, reject_spf_invalid_sende, check_policy_service unix:private/policy, ### restricao durante o HELO/EHLO smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_invalid_hostname, reject_rbl_client sbl-xbl.spamhaus.org, reject_rbl_client xbl.spamhaus.org
Verifique ainda como está configurada a diretiva virtual_alias_domains:
virtual_alias_domains = hash:/etc/postfix/mydomains
Este arquivo /etc/postfix/mydomains deve conter os domínios que você especificou para os usuários no arquivo /etc/postfix/usuarios.