Mi vida plasmada en un blog

Posts Tagged ‘postfix’

header_checks en Postfix

10 de Agosto del 2009

Este será (espero) el primero de unos cuantos artículos que quiero hacer con carácter técnico sobre las cosas que voy tocando y que normalmente me dan dolores de cabeza o más de un enfado, si no sois techies simplemente ignorarlos o leerlos para ver si os enteráis de algo :)

Una manera fácil de quitarte un poco de SPAM en Postfix sin andar configurando filtros bayesianos como SpamAssasin, puede ser controlando las cabeceras, aunque puede ser peligroso ya que os podéis comer falsos positivos y ni si quiera llegar a recibirlos, ya que el servidor directamente rechaza el mail directamente, aunque esto se puede configurar. En mi caso, también lo uso para cuando “empresas” envían correos comerciales sin consentimiento y por mucho que te des de baja en sus listas siguen llegando mails, así que directamente lo controlamos con las cabeceras y rechazamos el correo, ahora la parte técnica:

Debemos configurar el main.cf de Postfix y poner la siguiente línea:

header_checks = regexp:/etc/postfix/header_checks.regexp

Ahora deberemos crear el fichero y seguir la siguiente sintaxis:

/^tipo_encabezado: .*regla/ ACCIÓN comentario

Siendo:

  • tipo_encabezado: será el tipo de encabezado que usaremos para aplicar los chequeos, por ejemplo podremos poner el asunto, fecha, software desde el cual se envió el correo, etc…
  • regla: al ir con el * delante significa que con tan solo contener dicha cadena de caracteres, ya sea al principio, por el medio o al final será identificada
  • ACCIÓN: aquí, como dije antes, podremos especificar que acción hacer en el caso de que sea identificado por dicho filtro
  • comentario: para identificar lo que ha hecho el header_checks y poder verlo en nuestros LOGs, podemos añadir un comentario identificando la acción

Posibilidades de ACCIÓN (las más comunes o usadas):

  • REJECT: Postfix rechaza el mail antes de entrar a nuestro servidor, notificándoselo al servidor que envía dicho correo
  • IGNORE: elimina el encabezado que ha identificado
  • WARN: el correo entra sin problema, pero deja un aviso en nuestro LOG. Se usa para probar las reglas antes de aplicarlas
  • HOLD: lo deja en espera hasta que un administrador decida que hacer con él
  • DISCARD: Postfix rechaza dicho correo pero no avisa al servidor que lo envía, por lo tanto cree que ha entrado sin problema
  • FILTER: puede enviar el correo a otro sistema de filtros de Postfix, como transport.map

Y a continuación los ejemplos:

/^Subject: .*pleasure$/                         REJECT SPAM Header pleasure word
/^Subject: .*viagra$/                           REJECT SPAM Header viagra word
/^Subject: .*cialis$/                           REJECT SPAM Header cialis word
/^Subject: .*Pharmacy$/                         REJECT SPAM Header Pharmacy word
/^Subject: .*Pharmacies$/                       REJECT SPAM Header Pharmacies word
/^Subject: .*nice prices$/                      REJECT SPAM Header nice prices word
/^Subject: .*penis$/                            REJECT SPAM Header penis word
/^Subject: .*enlargement$/                      REJECT SPAM Header enlargement word
/^Subject: .*bonus$/                            REJECT SPAM Header bonus word
/^Subject: .*orgasm$/                           REJECT SPAM Header orgasm word
/^Subject: .*sex$/                              REJECT SPAM Header sex word

Todos estos son para que todos los correos que en el asunto contengan alguna de dichas palabras, directamente los rechaza y se lo notifica al servidor en cuestión. A su vez deja un comentario en el LOG con lo que ha pasado.

/^Date: .* 200[0-8]/                            REJECT SPAM Header Past date 1
/^Date: .* 19[0-9][0-9]/                        REJECT SPAM Header Past date 2

Estas dos reglas son para rechazar correo que llegue con fecha anterior o posterior al año en el que estamos y con un comentario, lo especifica en el LOG.

/^From: .*@creacionesarteidea.com.*/            REJECT SPAM Header newsletter 1
/^From: comunicacion@einforma.com.*/            REJECT SPAM Header newsletter 3
/^From: noreply@proyectosinformaticos.biz.*/    REHECT SPAM Header newsletter 4

Estas 3 reglas rechazan correos de un dominio o de una dirección de correo en cuestión y haciendo constancia en el LOG.

/^Subjet: Alerta de noticias La Voz Libre*/     REJECT SPAM Header newsletter 2

Esta regla rechaza los correos que lleguen con el asunto en cuestión y como no, lo notifica en el LOG.

Para finalizar, comentar que hay que reiniciar Postfix para asegurarnos de que se aplicarán estás reglas.

Referencia1

Referencia2