Estos últimos días me encontré con un problema en un servidor de correo bajo Qmail. Este servidor no estaba pasando algunas pruebas de servicios de verificación de “open relay“, es decir, de servidores que permiten enviar correos a través de los mismos, lo que usan los spammers. El problema es que realmente eran falsos positivos dado que la vulnerabilidad que utilizaban no traspasaba el servidor, pero su forma de actuar hacía que en vez de bloquearse el envío, el servidor parecía aceptarlo y lanzaba un “bounce” de inmediato. Este error es conocido como “percent hack” y se basa en el siguiente test:
>>> RSET
< << 250 flushed
>>> MAIL FROM:
< << 250 ok
>>> RCPT TO: < "relaytest%antispam-ufrj.pads.ufrj.br">
< << 250 ok
El servicio de test en este caso fue http://www.antispam-ufrj.pads.ufrj.br/test-relay.html
En Qmail el problema se soluciona aplicando un parche al código fuente: Common Spam Relay-attempt Rejection disponible en http://www.qmail.org/qmail-smtpd-relay-reject. El parche añade un par de condiciones al código de qmail-smtpd; después sólo tendremos que volver a ejecutar los comandos de compilación e instalación (no olvidar tirar los servicios de qmail) y listo, el test pasará a la primera:
>>> RSET
< << 250 flushed
>>> MAIL FROM:
< << 250 ok
>>> RCPT TO: < "relaytest%antispam-ufrj.pads.ufrj.br">
< << 553 we don't relay (#5.7.1)
