Postfix: impede que os usuários alterem o endereço de e-mail real

6

Meu servidor de e-mail postfix está finalmente funcionando bem.

Agora, preciso evitar que os usuários falsifiquem seus endereços de e-mail nos programas clientes no campo "de" no cabeçalho, porque um usuário pode enviar e-mails como outro usuário com isso e um usuário inexperiente pode pensar que é real.

Se um usuário tiver experiência, ele poderá inspecionar os cabeçalhos de e-mail e saber o que está acontecendo, mas existe uma maneira de bloquear esse comportamento?

    
por Luciano Andress Martini 06.07.2016 / 22:29

2 respostas

9

Veja as configurações de smtpd_sender_restrictions e smtpd_sender_login_maps . O primeiro pode evitar endereços from malformados, enquanto o segundo pode forçar o endereço do remetente a corresponder ao nome de login.

# Prevent malformed senders
smtpd_sender_restrictions =
    reject_non_fqdn_sender       # Ensure correct mail addresses
    reject_unknown_sender_domain # Ensure sender address is from your domain
    reject_authenticated_sender_login_mismatch # Check if the user is 
                                 # allowed to use this sender address

# Maps used to stop sender address forgeries.
smtpd_sender_login_maps = pcre:/etc/postfix/login_maps.pcre

O conteúdo de login_maps.pcre pode ser

# Use this regex if your users are local users, i.e. if the login name does
# is just the username, not a full mail address.  Note that literal dots
# have to be backslash escaped ('\.') to avoid interpretation of these dots
# as regex wildcard.
/^([^@+]*)(\+[^@]*)?@example\.com$/ ${1}
# If one doesn't care about subaddresses, this could be simplified to
/^(.*)@example\.com/ ${1}

# This is appropriate if you have virtual users who login with their
# full mail address as their username.  Local addresses won't work, though
/^(.*)$/    ${1}

A configuração acima assume que o postfix foi compilado com suporte para PCRE. No Ubuntu / Debian, isso requer que o pacote postfix-pcre esteja instalado.

Observe que isso só funcionará se ninguém, além de usuários autenticados, puder enviar e-mails. Se você permitir mensagens de usuários não autenticados, o método acima não ajudará e falhará. Não deixe de ler a resposta de Rui F Ribeiro, se for o caso.

    
por 06.07.2016 / 23:46
2

Embora o forjamento SMTP não possa ser evitado e o protocolo subjacente não tenha sido projetado com a segurança em mente, você pode minimizar no postfix os efeitos do forjamento de email feitos por seus usuários internos.

Você pode configurar o seu postfix e os clientes como obrigatórios para autenticar o envio de e-mail pela porta 587 com autenticação.

No entanto, isso não impede que eles enviem e-mails, no entanto, torna a vida útil do malware de spam mais difícil (mas não impossível).

Quanto ao gmail, eles têm muitas personalizações no código ou até mesmo em seu próprio servidor de email proprietário. Quando eu gerenciei um ISP, eu colecionava e escrevia extensões para o QMail que não permitiam que ele enviasse e-mails que não eram do nosso domínio, e também aceitava usuários autenticados existentes no campo FROM (por exemplo, checando o FROM com o usuário fazendo a autenticação)

Para retransmitir email somente para usuários autenticados no postfix, verifique se você tem no arquivo /etc/postfix/main.cf no início da diretiva smtpd_recipient_restrictions as duas opções a seguir:

smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination

Para mais detalhes, consulte a documentação oficial em Reencaminhamento SMTP e controlo de acessos Postfix

    
por 06.07.2016 / 22:52

Tags