lunes, 12 de marzo de 2012

Cómo proteger tu servidor MailEnable en Internet

Últimamente estoy que lo tiro con los posts relativos a la seguridad en un servidor VPS en Internet. Si recuerdas, he escrito ya los siguientes posts:

Después de hablar de SQL Server, RDP y el FileZilla (servicio FTP), hoy toca hablar del servicio SMTP y del servidor MailEnable en su versión estándar (gratuita).

Te prometo que estos posts no me gustan en exceso pero, la única forma de acordarme de los pasos necesarios para asegurar mi servidor de nuevo en caso de desastre, es que los cuente en el blog y así perduren aunque mi servidor sea atacado por una legión de hackers malhumorados.

Cómo configurar el servidor MailEnable no te lo voy a contar porque, además de no ser ningún experto, está perfectamente expuesto en los siguientes enlaces: Installation guideQuick Start guide.

Sin embargo, lo que si voy a contar en este post es cómo asegurarnos de que, en un principio, nuestro servidor cumple con las normas de seguridad básicas que, en mi opinión, deberían estar activas.

STMP Relay

  • Sólo permitir envío de correo para usuarios autenticados.
  • Permitir envío para un rango de IPs privilegiadas (por defecto, sólo está activa la dirección local 127.0.0.1)

image

Ten en cuenta que esta configuración es la que hace posible que a los 5 minutos de levantar tu servidor de correo en Internet, no seas origen de spam y seas agregado a una lista negra de spammers como por arte de magia.

Mensaje de bienvenida

Ya puestos, cuantas menos pistas mejor, así que pasamos del mensaje de bienvenido por defecto a uno bastante más neutro que no da información sobre el servidor ni su versión.

Con el mensaje por defecto:

image

Con un mensaje personalizado:

image

image

No permitir correo anónimo para direcciones locales

Básicamente, si el destinatario del correo es una cuenta local al dominio de correo, no es necesario suministrar credenciales de seguridad, por lo que es posible enviar un correo “fake” del estilo cualquier_direccion@cualquier_dominio.algo a cuenta_local@tudominio.algo.

Si no te lo crees sigue los sencillos pasos expuestos en este blog antes de “cortar” el grifo.

Asumiendo que no queremos dar la oportunidad de enviar correo anónimo a nuestras direcciones de correo locales, es necesario activar la siguiente configuración:

image

Desactivar los comandos VRFY y EXPN

Para una lista completa de los comandos disponibles para STMP, visita el siguiente enlace: STMP Commands.

Básicamente VRFY y EXPN permiten comprobar la existencia de nombres de cuentas de correo o incluso devolver todas las cuentas de una lista. Más información en Whatever happened to VRFY?

Para desactivar los comandos, de nuevo en la pestaña “Advanced STMP” del conector de SMTP, accede a “Allowed STMP Commands”, desmárcalos y listo.

Cabe mencionar que con la configuración actual de nuestro servidor SMTP, no nos será posible por código .NET averiguar si una dirección de correo existe o no sin enviar un correo. Es decir, fallarán métodos como How to check if email address exists without sending an email? y componentes de terceros como Email Validador .NET.

Por último, sólo quiero comentarte que no soy ningún experto en MailEnable ni el servicio SMTP, así que es probable que me haya dejado muchas cosas “obvias” en el tintero, pero por algo se empieza.

Un saludo!

1 comentario:

  1. Pues mira por donde, me has ayudado mucho con este post. Y eso que se bastante de servidores de corrreo
    Muy agradecido,

    ResponderEliminar