Esta pagina se ve mejor con JavaScript habilitado

Header checks postfix

 ·  🎃 kr0m

En multitud de ocasiones nos interesa poder tratar ciertos emails de una forma determinada en base al contenido de ciertas cabeceras/cuerpo del mail. Se pueden realizar varias operaciones sobre los mails, el listado se puede encontrar aquí.

Como ya he comentado en la introducción las acciones disponibles son: http://www.postfix.org/header_checks.5.html

Configuramos postfix para que tenga en cuenta las ACLs:

vi /etc/postfix/main.cf

header_checks = pcre:/etc/postfix/header_checks.pcre

La expresión regular comprobará si en el subject aparecen las palabras viagra o porn:

vi /etc/postfix/header_checks.pcre

/^Subject: (viagra|porn)/ REJECT Illegal subject: "$1"

Enviamos un mail de test:

mail -s “porn” kr0m@alfaexploit.com

Cc:
test
Ctrl+D

Podemos comprobar en los logs como se rechazado el mail:

tail -f /var/log/mail.log

Jun 22 09:13:09 RX4 postfix/cleanup[21476]: 8908D1204E1: to=<kr0m@alfaexploit.com>, relay=none, delay=0.01, delays=0.01/0/0/0, dsn=5.7.1, status=bounced (Illegal subject: "porn")

NOTA: Hay que tener en cuenta que ciertas acciones solo funcionarán a partir de la versión 3.2 de postfix, por ejemplo:

STRIP optional text…
Log a “strip:” record with the optional text… (or log a
generic text), delete the input line from the input, and inspect
the next input line. See IGNORE for a silent alternative.
This feature is available in Postfix 3.2 and later.

Para tener la versión 3.2 sería tan sencillo como:

emerge -av =mail-mta/postfix-3.2.0

Si te ha gustado el artículo puedes invitarme a un RedBull aquí