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


13

Ao enviar correio, o Postfix insere o IP e o nome de usuário do usuário autenticado no cabeçalho Recebido no email. Embora isso seja útil para rastrear quem enviou um email específico que foi enviado do seu servidor de email, também tem implicações na privacidade. Em uma situação de pequena escala em que posso confiar em todos os usuários para que suas contas não sejam comprometidas e transformadas em zumbis de spam, prefiro não transmitir endereços IP e nomes de contas para que todos possam ler. Em resumo, como faço para configurar o Postfix para não enviar isso:

Recebido: de [xxxx] (pc1.example.com [xxxx]) (usando TLSv1 com cifra DHE-RSA-AES256-SHA (256/256 bits)) (Nenhum certificado de cliente solicitado) (Remetente autenticado: usuário) por email. example.com (Postfix) com o ID da ESMTPSA CC77010C148 para; Sex, 11 de novembro de 2011 04:55:18 +0000 (UTC)

Respostas:


20

A solução padrão é usar a opção header_checks . Esta vontade trabalho, cabeçalhos no entanto, se filtrar recebeu linhas em todo o correio de entrada e de saída (como isso vai fazer), que poderia perder recebeu, em e-mail enviado para nós, o que pode ser importante para a solução de problemas. Para contornar esse problema, aplicaremos o header_checksúnico ao correio que não poderia ter sido enviado para nós - o correio enviado à porta de envio (você está usando a porta de envio , não é? ).

Esta postagem explica como se inscrever header_checksexclusivamente na porta de envio. O que precisamos fazer é passar a opção cleanup_service_name para o serviço de envio para que possamos configurar um novo serviço de limpeza, "subcleanup". A seção relevante /etc/postfix/master.cfpode 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 header_checksopção para o novo serviço de limpeza. Essa parte /etc/postfix/master.cfpode ser assim:

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

Por fim, precisamos criar o arquivo /etc/postfix/submission_header_checks, que conterá o regex que filtra as linhas de cabeçalho Recebidas ofensivas. Qual regex você coloca no arquivo depende se você smtpd_sasl_authenticated_headerdefiniu.

Se smtpd_sasl_authenticated_headerestiver 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.)


Você tem que ligar postmap submission_header_checks?
Mitar

@Mitar nenhuma pista, mas se você descobrir, sinta-se à vontade para editar a resposta. Essas são instruções antigas para a versão 10.04, mas provavelmente as atualizarei quando a versão 14.04 for lançada.
Michael Kropat

Parece que funcionou sem. :-)
Mitar 25/03

1
+1, obrigado pela resposta muito útil. Alguns anos depois, eu tive que fazer um pequeno ajuste. Estou executando o Postfix 2.9.6. Alterei a regex para: /^Received:.*\(Postfix/ IGNOREporque não estava recebendo a parte "Remetente autenticado" nos meus cabeçalhos. Você vê algum risco associado ao meu novo regex?
Dominic P

1
Esta resposta assume que smtpd_sasl_authenticated_header = yes está definido. Sem ele, o regex modificado por Dominic é necessário.
Bryan Drewery

-1

Você pode usar

smtpd_sasl_authenticated_header = no

em postfix/main.cfeliminar a informação do cabeçalho em seus e-mails enviados.


por que essa resposta é muito mais simples que a do @ Michael? isso remove o IP de todos os cabeçalhos, em vez de apenas dos e-mails recebidos pela porta de envio?
knocte

2
@knocte smtpd_sasl_authenticated_headerestá definido como "não" por padrão. Quando ativado, o Postfix adiciona o nome de usuário usado para autenticação SASL ao cabeçalho inicial "Recebido" - é o que adiciona a parte "Remetente autenticado: usuário" mostrada na pergunta. @ A resposta de Michael remove não apenas a parte do usuário, mas todo o cabeçalho "Recebido", incluindo o IP do cliente.
n.st

@ n.st: você está dizendo que a resposta de Markus não remove o IP e, portanto, essa pergunta não é tão fácil?
knocte

@knocte Exatamente.
n.st

1
Eu preciso de mais de 125 para votar. Eu testei e ele remove apenas o nome de usuário, não o IP.
John John
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.