Ao enviar e-mails com o Postfix, como ocultar o nome de usuário e o IP do remetente no cabeçalho Recebido?

8

Ao enviar e-mails, o Postfix insere o IP e o nome de usuário do usuário autenticado no cabeçalho Recebido no e-mail. Embora isso seja útil para rastrear quem enviou um e-mail específico que foi enviado pelo seu servidor de e-mail, ele também tem implicações de privacidade. Em uma situação de pequena escala em que posso confiar que todos os usuários não comprometem suas contas e se transformam em zumbis de spam, prefiro não transmitir endereços IP e nomes de contas para todos lerem. Resumindo, como configuro o Postfix para não enviar isto:

  

Recebido: de [x.x.x.x] (pc1.example.com [x.x.x.x]) (usando TLSv1   com cifra DHE-RSA-AES256-SHA (256/256 bits)) (Nenhum certificado de cliente   solicitado) (remetente autenticado: usuário) por mail.example.com   (Postfix) com identificação ESMTPSA CC77010C148 para; Sex, 11   Nov 2011 04:55:18 +0000 (UTC)

    
por Michael Kropat 11.11.2011 / 06:42

2 respostas

15

A solução padrão é usar a opção header_checks . Isso funcionará , no entanto, se filtrarmos linhas recebidas em todos os e-mails recebidos e enviados (como isso acontecerá), poderemos perder os cabeçalhos Recebidos nos e-mails enviados para , o que pode ser importante para solucionar problemas. Para contornar este problema, aplicaremos o header_checks somente ao e-mail que possivelmente não poderia ter sido enviado para nós - e-mail que foi enviado para a porta submissão (você é usando a porta de envio , não é? ).

Esta postagem explica como aplicar header_checks exclusivamente à porta de envio. O que precisamos fazer é passar a opção cleanup_service_name para o serviço submissão que podemos configurar um novo serviço de limpeza, "subcleanup". A seção relevante de /etc/postfix/master.cf pode ser assim:

submission inet n       -       -       -       -       smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
  -o cleanup_service_name=subcleanup

Agora podemos passar a opção header_checks para o novo serviço de limpeza. Essa parte de /etc/postfix/master.cf pode ser assim:

cleanup   unix  n       -       -       -       0       cleanup
subcleanup unix n       -       -       -       0       cleanup
  -o header_checks=regexp:/etc/postfix/submission_header_checks

Finalmente, precisamos criar o arquivo /etc/postfix/submission_header_checks , que conterá a regex que filtra as linhas de cabeçalho recebidas. Qual regex você coloca no arquivo depende se você tem smtpd_sasl_authenticated_header set.

Se smtpd_sasl_authenticated_header for yes , use:

/^Received:.*\(Authenticated sender:/ IGNORE

Caso contrário, use:

/^Received:.*\(Postfix/ IGNORE

(Obrigado a Dominic P e Bryan Drewery por mostrar como lidar com o segundo caso).

    
por Michael Kropat 11.11.2011 / 07:05
0

Você pode usar

smtpd_sasl_authenticated_header = no

em postfix/main.cf para eliminar as informações de cabeçalho nos seus e-mails enviados.

    
por Markus 16.07.2012 / 16:01

Tags