miércoles, 19 de diciembre de 2018

Problemas SpamAssassin con Horde

En las versiones de Horde (5.1.7 y otras más modernas) que trae el Plesk, a veces pasa que el  propio SpamAssassin marca los correos enviados desde el propio servidor. Lo hace porque saltan las reglas "RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS" y "HELO_DYNAMIC_SPLIT_IP Relay HELO'd using suspicious hostname (Split IP)".

Como se puede ver en el post anterior probé a actualizar el propio SpamAssassin, pero al final el problema persistía. Tras buscar info, encontré esta web en la que sugerían editar la configuración del SpamAssassin para añadir una serie de ips confiables y cambiar el filtro del propio SpamAssassin creando una regla específica para el Horde.

Como Plesk sobreescribe los archivos de config, para meter valores personalizados hay que crear un archivo nuevo dentro de la carpeta /etc/mail/spamassassin/ ya que lee todos los archivos .cf que haya ahí. Sería añadir la directiva:
trusted_networks 123.45.67.89 127.0.0.1
Y reiniciar el servicio con service spamassassin restart.

Lo siguiente es editar el fichero /usr/share/perl5/vendor_perl/Mail/SpamAssassin/Message/Metadata/Received.pm y buscar la línea que contiene:
    if (/ \((?:SquirrelMail|NaSMail) authenticated user /) {
      #REVERTING bug 3236 and implementing re: bug 6549
      if (/(${IP_ADDRESS})\b(?![.-]).{10,80}by (\S+) with HTTP/) {
        $ip = $1; $by = $2; goto enough;
      }
    }
Y añadir a continuación:
    if (/ \((Horde Framework)\) with HTTPS/) {
       dbg ("received header: ignored horde | IMP injection: $_");
       return;
    }
 En mi caso en la línea 467, pero ya depende de la versión del fichero que se tenga. Lo más probable es que cuando se actualice el SpamAssassin esa modificación se pierda, pero en mi caso, no se va a actualizar mucho.

martes, 25 de septiembre de 2018

Spamassassin 3.4.1 para Centos 6

Lo primero es añadir el repo de MailScanner:
# cd /etc/yum.repos.d/
# wget "https://dl.efa-project.org/rpm/EFA.repo"
En mi caso para evitar problemas deshabilito el repo por defecto.

Añadimos la clave GPG:

# rpm --import https://dl.efa-project.org/rpm/RPM-GPG-KEY-E.F.A.Project
Lo siguiente, hacemos un upgrade/install del spamasassin:

yum upgrade --enablerepo=EFA --enablerepo=epel spamassassin
Como nota, hay que tener el repositorio EPEL instalado para las dependencias.

Y listo:
# spamassassin -V
SpamAssassin version 3.4.1
  running on Perl version 5.10.1

viernes, 8 de junio de 2018

Comprobar SSL/TLS en servidores de correo (SMTP IMAP POP)

¡Buenas!

Ahora con la importancia de tener conexiones seguras, muchos han decidido cambiar y usar protocolos SSL o TLS en su servidor de correo y otros se han visto obligados ya que hay cliente de correo que sólo soportan ese tipo de conexiones.

Para conectar con un servicio que no tiene SSL/TLS podemos usar telnet:
IMAP: telnet mail.dominios.es 143
POP3telnet mail.dominio.es 110SMTP: telnet mail.dominio.es 25
Con eso podremos comprobar que la conexión al servidor se realiza sin problemas, e incluso podemos llegar a mandar correos y consultarlos.

Cuando tenemos un servicio bajo SSL/TLS, el telnet no será capaz de conectar por lo que tendremos que usar el cliente de openssl. En la mayor parde de distros de linux debería estar instalado, si no, con una búsqueda rápida en los repositorios lo encontrarás.

Para comprobar que funciona, y además mostrar el certificado (para comprobar si es válido o autofirmado):
SSL
IMAP: openssl s_client -showcerts -connect mail.dominios.es:995
POP3: openssl s_client -showcerts -connect mail.dominios.es:993
SMTP: openssl s_client -showcerts -connect mail.dominios.es:465
TLS
IMAP: openssl s_client -showcerts -connect mail.dominios.es:143 -starttls imap
POP: openssl s_client -showcerts -connect mail.dominios.es:110 -starttls pop3
SMTP: openssl s_client -showcerts -connect mail.dominios.es:25 -starttls smtp
 Y listo. Con eso podremos conectar y revisar que todo vaya bien.

¡Un saludo!