www.alvaromarin.com

Blog sobre spam, sistemas antispam y correo electrónico

Archive for the 'MTAs' Category

Protección en el kernel de FreeBSD contra DoS a SMTP

En la pasada EuroBSDCon 2009 celebrada en Septiembre, un congreso de los hackers de FreeBSD, hubo una charla cuyo título rezaba “FreeBSD kernel protection measures against SMTP DDoS attacks”, por Martin Blapp.

El paper de aquella charla se puede encontrar en:

http://www.ukuug.org/events/eurobsdcon2009/papers/BSDCON09-SMTP-DDoS-Final.pdf

Como el propio título hace suponer, se trata de un módulo (llamado accf_smtp para el kernel de FreeBSD capaz de gestionar las conexiones SMTP entrantes al servidor y prevenir cierto tipo de ataques (comunes entre las botnes). Con dichas conexiones, puede realizar diversas funciones como hacer una pausa antes de entregar el banner del servicio SMTP, rechazar conexiones que no envíen primeramente el comando HELO/EHLO, establecer número máximo de caracteres en parámetros de comandos…etc.

Soy de la opinión de Wietse Venema que comentaba que esas funciones no son para hacerlas en el kernel sino en userland, como ya hacen numerosos servidores de correo electrónico, por lo que en realidad no supone nada nuevo.

Esta idea está basada en el ya existente accf_http, que gestiona las conexiones HTTP entrantes.

Habrá que esperar a ver qué opinan los que puedan probarlo en sus FreeBSDs.

Postscreen, una posible mampara para Postfix

Si ya comentábamos en otro post que Wietse Venema tenía la idea de crear una especie de postfix-lite para aligerar el actual Postfix, parece que Wietse está trabajando también en otro proyecto llamado Postscreen.

(Lee el artículo entero)

Los planes de Wietse Venema (Postfix)

En la lista de distribución de postfix-users, alguien ha comentado la existencia de un proyecto llamado OpenSMTPD creado por los chicos de OpenBSD. De hecho, en LWN se habla sobre ello y anuncia una pronta primera release del software.

¿Para qué reinventar la rueda? “Simplemente” por cuestiones de licencia; parece que en OpenBSD no les gusta excesivamente la licencia pública de IBM que tiene Postfix, por ello han decidido desarrollar otro servidor SMTP.

Wietse Venema, el creador de Postfix, ya decía que no le apetecía mucho andar con jaleos de licencias con los abogados de IBM, y el bueno de él comenta:

Apart from that, if they come up with a decent MTA then I welcome
some competition. More motivation for me to look into postfix-lite.

Por lo que parece, Wietse tiene prevista hacer una limpieza de código importante, sobre todo evitando código de compatibilidad con versiones antiguas y demás:

Fully-featured as far as RFCs are concerned, but not necessarily
drop-in compatible with earlier Postfix configurations or file
formats.

Ideally this means eliminating thousands of lines of non-obvious
code, either by removing the feature or workaround altogether, or
by replacing it with code that is easier to maintain but not 100%
compatible. This will be a slow process.

Veremos cómo avanza OpenSMTPD, pero realmente lo tienen bastante difícil para desbancar no solo a Postfix, sino a otros proyectos ya muy maduros como Exim, Qmail, Sendmail…etc.
Tienen MUCHO trabajo por delante…suerte!

Microsoft usando Postfix

Ayer hablando con un ex-compañero, Imanol, ya me lo decía y justamente leyendo la lista de postfix-users salía un mensaje que lo comentaba:

$ dig mx microsoft.com +short
 10 mail.global.frontbridge.com.

$ telnet mail.global.frontbridge.com 25
Trying 65.55.88.22...
Connected to mail.global.frontbridge.com.
Escape character is '^]'.
220 mail156-tx2.bigfish.com ESMTP Postfix EGGS and Butter

Y así lo confirmaba el propio Victor Duchovni, que se podría decir que es la mano derecha de Wietse Venema, diciendo que Microsoft compró Frontbridge hace tiempo y que éstos usaban por aquél entonces Postfix en su versión 1.1. Parece entonces que lo siguen usando y seguramente, Microsoft tendrá una primera frontera de servidores con Postfix para hacer frente a todo el tráfico entrante, dada la excelente capacidad de este MTA de gestionar grandes cantidades de conexiones concurrentes como las que puede recibir Microsoft en sus MX.

Como fijarse en el banner es algo banal, haciendo alguna prueba con comandos no existentes y demás, sí parece tener las respuestas de Postfix. Pasando smtpscan obtenemos:

$ /usr/local/bin/smtpscan  mail.global.frontbridge.com
smtpscan version 0.5

  15 tests available
  3184 fingerprints in the database

Scanning mail.global.frontbridge.com (216.32.180.22) port 25
 15/15

Result --
503:501:501:250:501:250:450:502:502:502:502:502:502:250:250

Banner :
220 mail153-va3.bigfish.com ESMTP Postfix EGGS and Butter

No exact match. Nearest matches :
  - Postfix 1.1.11 (1)
  - Postfix (1)

Que es justamente lo que decía Viktor, un Postfix v1.1 modificado.

Parece que esto coincide además con el reciente lanzamiento de Hosted Exchange, algo que no ha sentado muy bien entre sus clientes ya que hacen clara competencia a sus partners.

Plugin para qmail

Procedo a “liberar” un plugin que hice hace unos meses para qmail mediante el cuál, se puede realizar un rate limit de los emails que envía una cierta dirección.

El proceso consiste en guardar en una tabla en MySQL las direcciones que qmail va “viendo”. Existe otra tabla en la que se guarda el valor por defecto que se le quiere dar al límite (por ejemplo, 100 mensajes) y si se llega a dicho límite en un rango de tiempo (por defecto, en 1 hora) el mensaje es rechazado a nivel de SMTP temporalmente.

Existe también la posibilidad de poner límites diferentes para determinadas direcciones; por ejemplo, alguna persona que por X razón legítima necesite enviar más correos.

Además, existe una lista blanca para IPs a las cuáles no aplicar dichos límites. Por ejemplo, si tenemos unos relays de entrada.

Qmail debe estar parcheado con SPP para poder usar este plugin. Por ejemplo, el qmail de Plesk viene de serie ya parcheado, por lo que no hay más que copiarlo en /var/qmail/plugins/ y añadirlo en el archivo /var/qmail/control/smtpplugins.

En la siguiente URL puede ser descargado:

http://postmaster.hostalia.com/rate_from

Nuevos RFCs: 5321 y 5322

Acaban de publicarse los nuevos RFCs 5321 y 5322 que sustituyen a los ya obsoletos 2821 (SMTP) y 2822 (Internet Message Format), respectivamente.

Leyendo el blog de MailChannels, que compara dichos RFCs, se aprecian los siguientes cambios:

(Lee el artículo entero)

Arrastrando fallos de Exchange 2003 con SPF

Varios clientes se nos quejaban de que recibían mensajes de rechazo de sus correos enviados a ciertos destinos. El mensaje devuelto era el siguiente:

Remote host said: 550 5.7.1 Sender ID (PRA) Not Permitted

Sender ID está claro lo que es, por eso, tras comprobar el registro SPF de los dominios emisores (por eso de “Not Permitted”), parecía todo correcto; dominios de clientes que usan los servidores de correo legítimos que les ofrecemos para hacer los envíos. Nada raro.

(Lee el artículo entero)

Postfix 2.5.0 stable release available

Wietse Venema anunciaba hoy a la madrugada la release de una nueva versión estable de Postfix, 2.5.0. Las mejoras principales son:

- TLS (SSL) support was streamlined further, and provides a new
security level based on certificate fingerprints instead of CA
signatures. See TLS_README for details.

- Milter support was updated from the Sendmail 8.13 feature set and
now includes most of the features that were introduced with
Sendmail 8.14. See MILTER_README for details.

- Stress-adaptive configuration was introduced. This allows the
Postfix SMTP server to temporarily adjust its rules under conditions
of overload, such as a malware attack or backscatter flood. See
STRESS_README for details.

- The queue manager scheduler was refined. It now provides per-transport
scheduling controls and allows for adjustment of the sensitivity
to mail delivery (non-)errors. See SCHEDULER_README.

- Security was improved by introducing a Postfix-owned data_directory
for storage of randomness, caches and other non-queue data. This
change avoids future security loopholes due to untrusted data
sitting in root-owned files or in root-owned directories. Writes
to legacy files in root-owned directories are automatically
redirected to files in the new data_directory.

Interesante sobre todo el tema de “stress” :-)
Para una descripción más detallada de los cambios: RELEASE_NOTES.