Mostrando postagens com marcador Postfix. Mostrar todas as postagens
Mostrando postagens com marcador Postfix. Mostrar todas as postagens

domingo, 23 de dezembro de 2007

Postfix + Policyd-weight

Há muita controvérsia no uso de blacklist em servidores de correio, eu particularmente sou favorável se esta for uma lista séria. O problema é que cada dia surge uma lista dessas nova. Deixando esse problema de lado vamos ao que importa. Implementar blacklists direto no postfix tem os seguintes inconvenientes:
  • Cada lista age separadamente
  • Aumento de carga no postfix
  • Cache de DNS ineficiente
Em geral você teria linhas da seguinte forma no seu main.cf

smtpd_client_restrictions = permit_mynetworks,
permit_sasl_authenticated,
check_client_access hash:/etc/postfix/access,
...
reject_unknown_client,
reject_rbl_client combined.njabl.org,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client bl.spamcop.net,

Então se algum host estiver listado em uma ele é barrado, o que pode não ser muito justo... Dai vem a idéia de colocar pesos nas respostas de cada lista, com essa idéia nasceu o policyd-weight, ele aplica pesos as respostas das consultas as blacklists, checagem de reverso etc, com isso a probabilidade de ocorrer um falso positivo é bem menor, pois uma maquina listada em uma blacklist mas que possua reverso e se anuncie seu nome corretamente no comando HELO terá a chance de não ser bloqueada. Vale a pena olhar o site do projeto e ler a documentação http://www.policyd-weight.org

# apt-get install policyd-weight

# policyd-weight defaults > /etc/policyd-weight.conf

Acerte os pesos e as mensagens em /etc/policyd-weight.conf

#/etc/init.d/policyd-weight restart

coloque no seu /etc/postfix/main.cf

smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/access,
permit_mynetworks,
...
reject_unauth_pipelining,
reject_unknown_recipient_domain,
reject_unauth_destination,
check_policy_service inet:127.0.0.1:12525

# postfix reload

segunda-feira, 1 de outubro de 2007

Jeguepanel

Já conhece(http://www.jeguepanel.net)? Não? Excelente ferramenta, ainda em desenvolvimento, o nome é engraçado, mas nao deixe as aparências enganarem você. A idéia é realmente muito boa, o núcleo do sistema roda em perl e shell script, recebe os comandos via socket inet, os comandos são bem simples e interpretados por um switch/case do núcleo em shell script. mole de estender, mole de manter, molesa pra debugar.

O que você precisa pra usar:
  • Linux (preferencialmente Debian)
  • postfix
  • openldap
  • courier
Com essa ferramenta fica fácil manter diversos domínios de email em um pool de servidores ou não, me arrisco até a dizer que se tudo correr bem a ferramenta será uma boa opção para quem não se adaptou ao qmail-ldap.

sexta-feira, 27 de julho de 2007

Protegendo aliases de email

Aliase de email são endereços de email válidos no dominio de email, recebem spam também, os problemas começam quando mais de um destinatário recebe emails a partir daquele endereço, e quando essa lista fica grande... ai não tem jeito, você precisa proteger este endereço.

main.cf:
smtpd_recipient_restrictions =
...
check_recipient_access hash:/etc/postfix/enderecos_protegidos
...
smtpd_restriction_classes = remetentes_autorizados
remetentes_autorizados = check_sender_access hash:/etc/postfix/remetentes_autorizados, reject

enderecos_protegidos:
todos@dominio.com.br remetentes_autorizados
funcionarios@dominio.com.br remetentes_autorizados

remetentes_autorizados:
dominio.com.br OK
email@dominio.com.br REJECT
email2@outrodominio.com.br OK

# postmap /etc/postfix/enderecos_protegidos
# postmap /etc/postfix/remetentes_autorizados
# postfix reload

Pronto, agora somente os aliases de email todos@dominio.com.br e funcionarios@dominio.com.br, só recebem emails de:
  • Endereços de origem @dominio.com.br
    • Com exceção de email@dominio.com.br
  • email@outrodominio.com.br
Esta lista pode aumentar e você pode também em endereços protegidos, criar arquivos de controles diferentes para cada alias de emai.

Mesmo com esta configuração, os aliases de email ainda não estão 100% protegidos, pois é possivel forjar o endereço de origem do remente, para melhorar mais um pouco isto, é preciso publicar o registro SPF do dominio em questão, mas isso fica pra outro dia.

quarta-feira, 25 de julho de 2007

Postfix + LDAP + Grupos unix como aliases

Muito se fala sobre usar LDAP em conjunto com Postfix, bom, na maioria das vezes o uso é natural atravez da libnss_ldap, ou seja, nesta situação o postfix nem sabe que está trabalhando com LDAP, pois a verificação da existencia de usuários unix é feita utilizando chamadas da glibc, então para a existencia de usuários OK, mas para aliases de emails ou emails de grupo mesmo que sem proteção fica assim:

main.cf:
alias_maps = ldap:/etc/postfix/ldap-groups.cf, ldap:/etc/postfix/ldap-aliases.cf

ldap-aliases.cf:
server_host = localhost
version = 3
search_base = ou=Aliases, dc=dominio, dc=com, dc=br
query_filter = (&(objectClass=nismailalias)(cn=%u))
result_attribute = rfc822mailmember

ldap-groups.cf:
server_host = localhost
version = 3
search_base = ou=Groups, dc=dominio, dc=com, dc=br
query_filter = (&(objectClass=posixGroup)(cn=%u))
result_attribute = memberUid


Depois explico como melhorar um pouco a proteção disto usando restriction_classes do postfix.