domingo, 15 de febrero de 2015

Enviar correos con POSTFIX haciendo relay con una cuenta de GMail

Necesitaba que las alertas de Fail2ban me llegaran a mi cuenta de correo de GMail. Para ello podemos configurar POSTFIX para que haga relay al servidor de GMail utilizando una cuenta que tengamos en Gmail.

Creamos el siguiente fichero con el usuario y contraseña de nuestra cuenta de gmail

echo "smtp.gmail.com smtp_user:smtp_passwd" > /etc/postfix/sasl_passwd


Para evitar que sea legible el usuario y contraseña hacemos lo siguiente. Se genera el fichero sasl_passwd.db. Una vez se compruebe que funciona el fichero sasl_passwd lo borramos.

postmap hash:/etc/postfix/sasl_passwd


Editamos el fichero /etc/postfix/main.cf y añadimos los siguiente al principio. Asumimos que tenemos el certificado /etc/pki/tls/certs/ca-bundle.crt. Este se crea con la instalación de openssl. En una instalación de CentOS 6.5 basic server ya está instalado.

#Set the relayhost to the Gmail SMTP server 
relayhost = smtp.gmail.com:587 
#Set the required TLS options 
smtp_tls_security_level = secure 
smtp_tls_mandatory_protocols = TLSv1 
smtp_tls_mandatory_ciphers = high 
smtp_tls_secure_cert_match = nexthop 
#Check that this path exists -- these are the certificates used by TLS smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt 
#Set the sasl options 
smtp_sasl_auth_enable = yes 
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous


Reiniciamos el servicio postfix

service postfix restart


Probamos que funciona

echo “pruebas” | mail –s “pruebas” user@example.com


Para gestionar la cola de correos de postfix /mailq, Esta pequeña guía:
http://blog.kvs-solutions.com/?p=557

Un detalle importante es que puede dar problemas la configuración de gmail. Parece ser que ahora es más exigente con la seguridad y es posible que si no haces lo siguiente no funcione:
En la configuración de la cuenta en inicio donde cambiamos la contraseña de la cuenta hay un apartado que dice "Acceso de aplicaciones menos seguras" por defecto está bloqueado. En el caso de no funcionar antes de nada probar a desbloquear esta opción, y descartar que no sea esto. No tengo claro que sucede al desbloquear esto.

Otro detalle es que posiblemente al hacer el shudown del servidor entre el stop del demonio fail2ban y el de postfix no de tiempo a enviar los correos que advierten de la detención de las distintas "jail" configuradas en fail2ban enviándolos en el siguiente inicio pudiendo provocar confusiones en el funcionamiento. Para solucionarlo en /etc/init.d tenemos el script de inicio y apagado (fail2ban) añadimos un retraso en el apagado de unos segundos para que de tiempo a enviar los correos (p.e. sleep 30).

. . . 
stop() { 
   echo -n $"Stopping fail2ban: " 
   # Retrasa la detención de postfix para que de tiempo a enviar los correos con la alertas de fail2ban 
   sleep 30 
   # 
   ${FAIL2BAN} stop > /dev/null 
   RETVAL=$? 
   if [ $RETVAL = 0 ]; then 
      rm -f ${lockfile} ${pidfile} 
      echo_success 
   else 
      echo_failure 
   fi 
   echo 
   return $RETVAL 
   } 
. . .


No hay comentarios:

Publicar un comentario