Mi vida plasmada en un blog

header_checks en Postfix

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

Tags: , , ,

5 respuestas a “header_checks en Postfix”

  1. xfw® Dice:

    Mi reino por un postfix y no la cafetera esta de Exchange xDDDDDDD

    Ya de paso dejo claro que Microsoft se podría meter el Forefront por el …. y a nadie le importaría un pijo

    Un abrazu techie!

    Wi®

  2. exnorlax Dice:

    techie?? :S :S :S, esa era novia de paquirrin no??

    willy que ye eso?? donde el campo de futbol?? el pueblo ese grande?? XDDD!!!

  3. xfw® Dice:

    vicen xDDDDDDDDDDDDDD

    casi la afuego..

  4. igayoso Dice:

    #xfw: pues yo al contrario, el Postfix está muy muy bien, pero está a años luz de Exchange, porque para “4 amigos” está muy bien, pero si quieres entornos más profesionales, el Postfix es de juguete, aunque vaya mucho mejor que un Exchange, pero para integración con muchos usuarios es una locura, está muy bien Zimbra, que se podría considerar competencia a Exchange, hablaré de él en algún post futuro :)

    #exnorlax: voy date yo a ti Paquirrín xDD

  5. Nimo Dice:

    Muy útil esto post.
    ¿Se podría hacer un filtraje de “From” y “To:”? de forma que no se permita una dirección para un dominio concreto?

Deja una respuesta