Al enviar correos electrónicos con Postfix, ¿cómo puedo ocultar la IP y el nombre de usuario del remitente en el encabezado Recibido?


13

Al enviar correo, Postfix inserta la IP y el nombre de usuario del usuario autenticado en el encabezado Recibido en el correo electrónico. Si bien esto es útil para rastrear quién envió un correo electrónico particular que se envió desde su servidor de correo, también tiene implicaciones de privacidad. En una situación a pequeña escala en la que puedo confiar en que todos los usuarios no comprometerán sus cuentas y se convertirán en zombies de spam, prefiero no transmitir direcciones IP y nombres de cuentas para que todos lo lean. En resumen, ¿cómo configuro Postfix para no enviar esto?

Recibido: de [xxxx] (pc1.example.com [xxxx]) (utilizando TLSv1 con cifrado DHE-RSA-AES256-SHA (256/256 bits)) (No se solicita certificado de cliente) (Remitente autenticado: usuario) por correo. example.com (Postfix) con ESMTPSA id CC77010C148 para; Vie, 11 Nov 2011 04:55:18 +0000 (UTC)

Respuestas:


20

La solución estándar es usar la opción header_checks . Esta voluntad de trabajo, encabezados sin embargo, si filtrásemos líneas recibidas en todo el correo entrante y saliente (ya que esto va a hacer), podríamos potencialmente perder recibido el correo enviado a nosotros, que pueden ser importantes para la solución de problemas. Para solucionar este problema, aplicaremos header_checkssolo el correo que posiblemente no se nos haya enviado: el correo que se envió al puerto de envío ( está utilizando el puerto de envío , ¿no es así? ).

Esta publicación explica cómo aplicar header_checksexclusivamente al puerto de envío. Lo que debemos hacer es pasar la opción cleanup_service_name al servicio de envío para que podamos configurar un nuevo servicio de limpieza, "subcleanup". La sección relevante de /etc/postfix/master.cfpodría verse así:

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

Ahora podemos pasar la header_checksopción al nuevo servicio de limpieza. Esa parte de /etc/postfix/master.cfpodría verse así:

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

Finalmente, necesitamos crear el archivo /etc/postfix/submission_header_checks, que contendrá la expresión regular que filtra las líneas de encabezado recibidas. La expresión regular que coloque en el archivo depende de si la ha smtpd_sasl_authenticated_headerconfigurado.

Si smtpd_sasl_authenticated_headeres así yes, use:

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

De lo contrario, use:

/^Received:.*\(Postfix/ IGNORE

(Gracias a Dominic P y Bryan Drewery por mostrar cómo manejar el segundo caso).


¿Tienes que llamar postmap submission_header_checks?
Mitar

@Mitar no tiene idea, pero si descubres que sí, edita la respuesta. Estas son instrucciones antiguas para 10.04, pero probablemente las actualizaré cuando salga 14.04.
Michael Kropat

Parece que funcionó sin. :-)
Mitar

1
+1, gracias por la respuesta tan útil. Pasaron algunos años y tuve que hacer un pequeño retoque. Estoy ejecutando Postfix 2.9.6. Cambié la expresión regular a: /^Received:.*\(Postfix/ IGNOREporque no estaba obteniendo la parte "Remitente autenticado" en mis encabezados. ¿Ves algún riesgo asociado con mi nueva expresión regular?
Dominic P

1
Esta respuesta asume smtpd_sasl_authenticated_header = yes está configurado. Sin ella, se necesita la expresión regular modificada de Dominic.
Bryan Drewery

-1

Puedes usar

smtpd_sasl_authenticated_header = no

en postfix/main.cfeliminar la información de cabecera en los mensajes salientes.


¿Por qué esta respuesta es mucho más simple que la de @ Michael? ¿Esto elimina la IP de todos los encabezados, en lugar de solo los correos recibidos a través del puerto de envío?
Knocte

2
@knocte smtpd_sasl_authenticated_headerestá configurado en "no" de forma predeterminada de todos modos. Cuando está habilitado, Postfix agrega el nombre de usuario que se usó para la autenticación SASL al encabezado "Recibido" inicial; eso es lo que agrega la parte "Remitente autenticado: usuario" que se muestra en la pregunta. La respuesta de @ Michael elimina no solo la parte del usuario, sino todo el encabezado "Recibido", incluida la IP del cliente.
n.st

@ n.st: ¿estás diciendo que la respuesta de Markus no elimina la IP y, por lo tanto, no hace esta pregunta SO?
Knocte

@knocte Exactamente.
n.st

1
Necesito más de 125 para votar a favor. Lo probé y solo elimina el nombre de usuario, no la IP.
John
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.