[TUTORIAL] Windows Server | Configuración de SMTP Server en Windows Server 2008 y 2008 R2
¿Cuántas veces en nuestra organización necesitamos un servidor que envíe correo para alertas, avisos o funciones similares? ¿Y qué sucede si el software que envía estas alertas no soporta niveles de seguridad como autenticación y no queremos comprometer nuestra infraestructura Exchange o plataforma de correo interviniente?
Con Windows Server 2008 R2, y también desde versiones anteriores, tenemos la posibilidad de instalar un SMTP Server a través de un Feature de servidor. Con este Feature, podemos contar con un simple servidor para enviar correo, a través del cual (realizando algunas configuraciones de seguridad) podemos enviar correos de todo tipo: correos desde software de alertas, envíos de mail desde herramientas de mail marketing, etc.
En este tutorial veremos la configuración, paso a paso, de un servidor SMTP con Windows Server 2008 R2 y los ajustes de seguridad necesarios para no correr tantos riesgos.
[toc]
Introducción
Objetivo
El objetivo de este tutorial es demostrar cómo se pueden utilizar las capacidades integradas de servidor SMTP en Windows Server 2008 R2 para configurar un relay de correo que puede ser utilizado para múltiples usos.
Audiencia
Este documento está dirigido a Consultores, Profesionales IT y personas que desarrollan tareas de Consultoría, Administración y Soporte o que simplemente están interesados en aprender nuevas cosas.
Comentarios y Corrección de Errores
Hemos realizado nuestro mejor esfuerzo para no cometer errores, pero al fin y al cabo somos seres humanos. Si deseás reportar algún error o darnos feedback de qué te pareció esta publicación, por favor no dejes de comunicarte con nosotros a través de correo electrónico a la siguiente dirección: info@tectimes.net.
Alcance
Entender cuál es el alcance de la publicación nos ayuda a tener una expectativa real de lo que encontraremos en la misma, de modo tal que quién lo lee no espere ni más ni menos de lo que encontrará. Vamos a describir el escenario de trabajo, tecnologías alcanzadas y plan de trabajo en alto nivel.
Objetivo Técnico
El objetivo técnico del tutorial es poder realizar la instalación y configuración de un relay SMTP limitado al envío de correo para ciertos equipos de la red, a través del feature SMTP Server de Windows Server 2008 R2, de modo tal que:
- Se permita el envío de correo hacia el exterior.
- Sean solo algunos equipos los que puedan realizar esta acción.
- Podamos realizar envíos desde software que no soportan autenticación para envío de mail.
Tecnologías Alcanzadas
Esta publicación puede aplicarse a:
- Windows Server 2008 Standard.
- Windows Server 2008 Enterprise.
- Windows Server 2008 Datacenter.
- Windows Server 2008 R2 Standard.
- Windows Server 2008 R2 Enterprise.
- Windows Server 2008 R2 Datacenter.
Escenario de Trabajo
El diagrama de trabajo propuesto es el siguiente:
Equipo SMTP01
Contamos con un equipo virtualizado con el siguiente hardware:
- 2 Procesadores.
- 1 GB de Memoria RAM.
- 1 Disco de 80 GB.
- 1 Placa de Red.
Dicho equipo cuenta con el siguiente software:
- Windows Server 2008 R2 con todos los updates.
Los datos del equipo son los siguientes:
- Nombre: SMTP01
- Dirección IP: 192.168.1.231
- Gateway: 192.168.1.1
- Grupo de Trabajo: WORKGROUP
Gateway / Firewall
Nuestro Gateway nos brinda segurización del exterior y la dirección IP pública a través de NAT. Los datos del Gateway son los siguientes:
- Dirección IP: 192.168.1.1
- Dirección IP Pública: [RESERVADA]
- Publicaciones de servicio: ninguna.
Equipo DESKTOP01
Además, contamos con un equipo de escritorio para hacer la prueba de envío de correo con los siguientes datos:
- Dirección IP: 192.168.1.241
Plan de Trabajo
El plan de trabajo es el siguiente:
- Instalación de Feature SMTP Server de Windows Server 2008 R2.
- Configuración básica del servidor SMTP.
- Aclaraciones sobre aspectos de seguridad.
- Configuración de Firewall de Windows.
- Prueba de envío de correo.
Desarrollo del Tutorial
Instalación de Feature “Smtp Server”
La posibilidad de habilitar SMTP como relay de correo en Windows Server 2008 R2 viene de la mano con un Feature. Por este motivo, lo primero que debemos hacer es realizar la instalación de dicho Feature.
Para instalar el Feature, debemos ir a la consola “Server Manager” y elegir “Features”:
Allí hacemos clic en “Add Features” y se iniciará el asistente para agregar features. De la lista que aparece de features disponibles, vamos a elegir “SMTP Server”:
Cuando hagamos clic en el Feature, nos aparecerá una ventana requiriendo algunos componentes extras:
Estos componentes son requerimiento para poder avanzar, razón por la cual vamos a hacer clic en “Add Required Services”. Luego de ello, podemos hacer clic en “Next”.
Uno de los requisitos anteriores era el rol IIS (Web Server), razón por la cual nos aparecerá una ventana de introducción al rol, a la cual le damos “Next”:
En el próximo paso nos aparecerá la posibilidad de agregar servicios al rol IIS. Para la función SMTP Server no necesitamos agregar ninguno extra, por lo cual le damos en “Next”:
La próxima pantalla es de confirmación para los ítems a instalar. Los revisamos y le damos “Install”:
Comenzará el progreso de instalación, el cual demorará unos pocos minutos. Una vez finalizado, nos aparecerá la pantalla de confirmación:
Configuración Básica el Servidor SMTP
Para comenzar con la configuración básica del Feature, vamos a abrir el “Internet Information Services (IIS) 6.0 Manager”:
Se abrirá la consola IIS 6 con el rol SMTP instalado:
Configuración cn Automático Del Servicio Smtp
Como vemos en la Ilustración 9, el servidor SMTP se encuentra detenido. Esto es porque el servicio SMTP Server no está en modo de arranque automático. En nuestro caso, queremos que dicho servicio inicie automáticamente, razón por la cual ingresaremos a la consola de servicios del sistema operativo y lo marcaremos como automático. Para hacer esto, primer ingresaremos a la consola ejecutando desde el menú inicio services.msc:
Posteriormente, buscaremos el servicio llamado “Simple Mail Transfer Protocol (SMTP)” y haremos botón derecho, propiedades:
Hecho esto, en la solapa “General” elegimos el modo de inicio en Automático:
Y luego lo iniciamos:
Si actualizamos la consola SMTP Server del IIS 6 (o la cerramos y volvemos a abrirla) veremos como el servicio ya está iniciado:
Configuración de Logueo De Eventos
Vamos a ingresar a las propiedades del servicio “SMTP Virtual Server #1” desde la consola IIS:
En la primera solapa, general, podemos realizar las siguientes configuraciones:
- Limitar la cantidad de conexiones simultáneas.
- Configurar el “time-out” de una conexión.
- Habilitar el logueo de eventos SMTP.
En nuestro caso, vamos a configurar la habilitación del logueo de eventos, para que tengamos disponibles en el caso de necesitar los diálogos SMTP del servidor. Es muy importante considerar guardar eventos, dado que cualquier incidente o problema que tengamos de comunicación o envío de correos podemos evacuarlo aquí:
Ahora bien, debemos configurar algunas cosas sobre lo que vamos a guardar en el log de eventos SMTP. Ya sea donde se guarda y hasta qué guarda. Para ello, hacemos clic en propiedades sobre el botón de al lado del desplegable:
En la primera solapa “General”, por defecto, podremos ver las opciones sobre cuándo y dónde se guardan los logs:
Desde la solapa “Advanced” del “Logging Properties”, nos encontraremos con las opciones de logueo que podemos registrar, lo cual es muy importante configurarlas:
Las opciones a loguear dependerán de qué querramos registrar. En nuestro caso, vemos oportuno registrar los siguientes ítems:
- Fecha y Hora.
- IP del cliente.
- Nombre de usuario.
- Método.
- Estado del protocolo.
- Nombre del Host.
- Agente de Usuario.
Configuración De Acceso
¿Quién podrá ingresar a este servidor? ¿De qué forma? ¿Con qué seguridad? Estas preguntas necesitan respuesta. Para esto nos ubicaremos en la solapa “Access” de las propiedades del servidor SMTP:
Como el objetivo de este tutorial es configurar un servidor SMTP que sirva para despachar correos de equipos internos de la red y de software que quizás no sepamos si están preparados para niveles de seguridad importantes (como a veces nos pasa en nuestra tarea diaria), vamos a tomar las siguientes decisiones:
- La autenticación será anónima.
- La conexión será denegada por defecto a todos los equipos, menos a los que explícitamente autoricemos.
- El relay estará denegado a todos los equipos, salvo los que explícitamente autoricemos.
Configuración de Autenticación
Hacemos clic, dentro de la solapa “Acceso”, al botón “Authentication”:
Allí validaremos el método de autenticación. ¿Debemos elegir “Anonymous Access”? Bueno, sin lugar a dudas no es una configuración recomendada, sin embargo la decisión estará ligada al software que necesita enviar correos a través de este SMTP:
- Si el software no soporta autenticación, debemos elegir “Anonymous Access”. Las medidas de seguridad que tomaremos en vistas a esta decisión será la limitación de qué máquinas pueden enviar correo a tavés de este servidor SMTP.
- Si nuestro software u objetivo de envío soporta autenticación, podremos elegir otro tipo de autenticación, como “Integrated Windows Authentication”.
Configuración De Conexión
Ya configuramos la seguridad y, para este tutorial, la seteamos en “anónima”. Como medida preventiva, ahora vamos a configurar que equipos pueden conectarse para enviar correo a través de este servidor SMTP. En nuestro caso, solo se podrán conectar los equipos y direcciones IP que estén explícitamente autorizados aquí. Para esto, hacemos clic en el botón “Connection” y seleccionamos las siguientes opciones, tal como se puede notar en la Ilustración 22:
- Only the list below: para que solo puedan conectarse los equipos de la lista.
En la Ilustración 22 se ve como hemos configurado explícitamente la autorización para los equipos listados, a través de la selección de “Only the list below”. Ya hemos configurado un equipo con la IP 192.168.1.241. Si queremos agregar más, hacemos clic en “Add”:
Allí podremos agregar más equipos por su IP, o un grupo de computadoras o hasta un dominio entero.
Configuración De Relay
Para configurar el Relay, haremos clic en el botón “Relay” de la solapa “Access”. Como hemos comantado anteriormente, solo autorizaremos a realizar Relay a los equipos que explícitamente agreguemos a esta lista.
Para esto, debemos elegir, tal como se ve en la Ilustración 24, las siguientes opciones:
- Only the list below: para que solo puedan hacer relay los equipos de la lista.
- Allow all computers wich successfuly…: debe estar destiladado.
Ya hemos configurado un equipo con la IP 192.168.1.241. Si queremos agregar más, hacemos clic en “Add”:
Allí podremos agregar más equipos por su IP, o un grupo de computadoras o hasta un dominio entero.
Configuración De Mensajes
En la solapa “Mensajes” podremos configurar:
- Límites de tamaño de mensajes (en KB).
- Límites de tamaño de sesión (en KB).
- Límites de cantidad de mensajes por conexión (en cantidad).
- Límites del número de receptores por mensaje (en cantidad).
- La ubicación de los “Badmail”. Esto son mensajes que no han podido ser entregados.
Las opciones por defecto, que son las que en nuestro caso dejaremos, son las siguientes:
Configuración De Delivery
Tenemos algunas opciones a configurar referidas al delivery de mensajes. Estas opciones están, casi todas, relacionadas a tiempos de espera e intentos. Veamos las opciones por defecto:
Casi todas se adaptan a nuestras necesidades. Si queremos personalizar alguna, solo tenemos que configurarlo.
Ahora bien, en esta sección nos queda un aspecto muy importante a configurar en el caso que querramos enviar correos hacia dominios públicos y no solo internos, y es el SMTP Banner. El SMTP Banner es el nombre con el que el servidor se presenta (saluda) a los otros servidores. Este nombre (de host) debe ser válido y debe coincidir con el reverso de la dirección IP pública que se elegirá como salida del correo. A esta opción se la accede desde el botón “Advanced” de la solapa “Delivery”:
En nuestro caso, vamos a completar el SMTP Banner con el host “mail2.tectimes.net”. Por defecto, el nombre del SMTP Banner era el nombre corto del servidor (SMTP01). Si esto lo dejaríamos así, cuando un mensaje salga a internet el servidor receptor querría validar el reverso de la dirección IP pública a través de la cual salen los mensajes y que coincida con el nombre “SMTP01”.
Este aspecto lo debemos cuidar mucho, dado que errores de SMTP Banner pueden derivar en que los mensajes que salgan desde este servidor SMTP sean considerados SPAM. En nuestro caso, el host “mail2.tectimes.net” tiene un registro DNS apuntando a la dirección IP pública del servidor SMTP que estamos configurando, y por otro lado la dirección IP pública que utilizamos tiene el reverso (pedido al proveedor de internet) hacia mail2.tectimes.net. El nombre FQDN de esta opción no tiene por qué ser el nombre real del servidor nuestro. Solo debemos cuidar la coincidencia de reversos.
Reinicio De Servicio
Es necesario reiniciar el servicio “Simple Mail Transfer Protocol (SMTP)” para que los cambios surjan efecto.
Configuración De Firewall De Windows
Un aspecto de seguridad importante es la configuración de un Firewall. Si bien tenemos una protección externa provista por el FIREWALL de frontera, y si bien tenemos configurado aceptar conexiones SMTP solo de algunos equipos, no debemos descuidarnos y podemos sumar una medida de seguridad extra configurando el firewall integrado de Windows Server 2008 R2.
Sin entrar en detalles de implementación vamos a configurar nuestro Firewall en los siguientes tres pasos:
- Deshabilitaremos el Firewall de Windows y deshabilitaremos todas las reglas existentes.
- Configuraremos nuestras reglas.
- Habilitaremos el Firewall nuevamente.
Las reglas a configurar son las siguientes dos reglas de acceso:
- Permitir aceptar conexiones RDP: esto nos permite conectarnos por escritorio remoto.
- Permitir aceptar conexiónes SMTP: para poder enviar correo, pero lo configuraremos solo con permisión de algunos equipos de nuestra red (los mismos que los configurados en el servidor SMTP).
En relación a las reglas de salida, permitiremos todas.
Deshabilitación Del Firewall Y Reglas
Como primer paso, vamos a deshabilitar nuestro Firewall. Esto lo hacemos ingresando a la consola del Firewall desde el menú inicio:
Una vez en la consola, hacemos botón derecho sobre el título “Windows Firewall…” y clic en propiedades:
Por último, vamos a deshabilitar para cada solapa el Firewall de Windows: solapa “Domain Profile”, “Private Profile” y “Public Profile”:
Luego, vamos a deshabilitar todas las reglas habilitadas, de entrada y de salida. Para hacer esto, vamos a ingresar primero a las reglas de entrada (Inbound Rules):
Luego seleccionaremos todas las reglas (control + a en inglés), haremos botón derecho del mouse sobre la selección y elegiremos la opción “Disable Rule”. Esto hará que todas las reglas a la vez se deshabiliten, en vez de ir una por una:
Las reglas deberían quedar todas en gris, como en la Ilustración 35:
Lo mismo, exactamente lo mismo, debemos hacer para las reglas de salida (Outbound Rules).
Configuración de Reglas De Firewall
Escritorio Remoto
Esta regla no es específica para la función SMTP, pero nos brindará acceso administrativo al servidor. Vamos a buscar, entre las reglas de entrada, la que viene pre-configurada llamada “Remote Desktop (TCP-In)” y la habilitaremos:
Smtp Server
Ahora sí, vamos a habilitar la regla específica para nuestro servidor SMTP. Las conexiones SMTP se reciben normalmente a través del puerto 25. Digo “normalmente” porque estamos descartando conexiones SMTP por protocolo seguro.
Para configurar esta regla, vamos a crear una que viene pre-configurada llamada “Simple Mail Transfer Protocol (SMTP-In)” y la habilitaremos:
Ahora bien, una vez habilitada la regla debemos limitar las conexiones desde los equipos que solo queremos que inicien una conexión SMTP. En nuestro caso, es un solo equipo: 192.168.1.241. Para esto vamos a ingresar a las propiedades de dicha regla e ir a la solapa “Scope”, tal como se ve en la Ilustración 38.
Una vez en dicha regla, y situándonos en la solapa “Scope”, vamos a seleccionar la opción “Remote IP address” en “These IP Addresses” para indicar desde que direcciones IP permitiremos conexiones SMTP, y agregaremos nuestras IPs. En nuestro caso será la 192.168.1.241. A esta opción configurada la podemos ver en la Ilustración 39.
Habilitación Del Firewall
Como último paso, debemos activar el Firewall, haciendo clic en las propiedades de “Windows Firewall with…” como indica la siguiente imagen:
Y luego, debemos habilitar por cada solapa el Firewall:
Las reglas habilitadas de ingreso deben quedar en verde:
En conclusión, estamos configurando la regla para permitir conexiones SMTP pero limitando dichas conexiones a los equipos que explícitamente autorizamos.
Consideraciones sobre la Configuración Smtp
En el presente tutorial estamos configurando un servidor SMTP con las siguientes características:
- Las conexiones son anónimas: esto significa que no requieren autorización para envío de correo.
- Solo se le permiten a algunos equipos conectarse con el servidor SMTP: configurando limitaciones en el Firewall y en el Servidor SMTP.
Seguramente esta configuración no sea de agrado para todos, principalmente por la carencia de autenticación en las conexiones SMTP. Sin embargo, repetimos, el objetivo de este tutorial es la configuración de un servidor para envío de correo SMTP que nos permita enviar alertas internas o notificaciones desde programas diversos que no tiene niveles de autenticación configurables. Por supuesto, podremos cambiar el modelo de autenticación en cualquier momento para los fines productivos, si es que lo requerimos.
Prueba de Envío De Correo
Vamos a realizar las pruebas de envío de correo a través de TELNET desde un equipo no autorizado y desde uno sí autorizado y veremos si nuestra configuración funciona.
Prueba desde Equipo no Autorizado
Vamos a configurar a nuestro equipo cliente de prueba con la IP 192.168.1.242 y realizaremos la siguiente prueba TELNET. El objetivo es que la conexión no pueda ser establecida.
Observamos la prueba en la siguiente pantalla CMD:
Como podemos observar en la Ilustración 40, la conexión es denegada. La prueba fue exitosa.
Prueba desde Equipo Autorizado
Vamos a configurar a nuestro equipo cliente de prueba con la IP 192.168.1.241 y realizaremos la siguiente prueba TELNET. El objetivo es que la conexión pueda ser establecida y podamos enviar un correo a la dirección pablodiloreto@hotmail.com.
Observamos la prueba en la siguiente pantalla CMD:
En resumen, vemos que el correo fue posible de quedar en espera para envío dentro del servidor. Nosotros estamos realizando la prueba por TELNET, pero podemos hacerla configurando un cliente de correo y/o el software que realmente queremos que envíe mail.
Conclusiones
A través del Feature SMTP Server de Windows Server 2008 R2, podemos contar rápidamente con un servidor SMTP para envío de correos internos y externos. Además, con algunas medidas de segurización extras, podemos minimizar los riesgos de exposición de dicho servidor, de tal forma de lograr sin licencias extras tener un relay de correo electrónico.
Referencias y Links
Grande Pablin!!!
Muy bueno el tutorial, muchas gracias
Hola, utilizar un servidor SMTP de Windows es lo mismo que utilizar un EDGE de Exchange Server? Ademas de no tener que pagar licencias, que es una ventaja, tengo alguna contra?
Hola Fernando! En funcionalidad final puntual en lo que se refiere a este tutorial, si es lo mismo que utilizar un EDGE de Exchange Server. Sin embargo, un EDGE de Exchange tiene algunas funcionalidades extras de envío y de recepción de correos, otro motor, y es un software muchísimo más robusto. La gran ventaja de utilizar el SMTP Server de Windows Server es que no se deben pagar licencias, tal como indicabas. La contra podría ser, por ejemplo, que es un software poco robusto como SMTP Server. Un abrazo!
Muy buen tuto, yo tengo un inconveniente y es que quiero enviar notificaciond e ciertos eventos del visor de eventos y otros reportes de caracteristicas de un 2008 R2 como por ejemplo notificacion de cuotas.
El servidor de mail solo acepta conexiones SSL
Con esta configuracion puedo enviar desde varios servidores estos eventos por medio de ssl?
Gracias
Hola Renzo! ¿Cómo estás? Analizando lo que planteás, es importante identificar que el feature SMTP en Windows Server es en sí mismo un servidor de correo. Esto significa que podrás enviar directamente desde el feature SMTP de Windows Server (con pasos similares a este tutorial) correos electrónicos a destinatarios. Un detalle a tener en cuenta es que si los destinatarios son externos (si bien en el caso que sean internos también es importante configurar lo siguiente) deberías de indicar que este servidor SMTP (y su IP pública) están autorizadas a enviar correo en nombre de tu dominio. Ahora bien, si… Read more »
muy buen tutorial ªªª!!!
gracias
Gracias a vos Juan! Saludos!
Excelente Tutorial,
Gracias.
Gracias Souza! Saludos!
segui los pasos tal como estan, ahora quiero saber como configurar para poder enviar correos masivos en este servidor smtp en donde hago los cambios estimado amigo
Estimado Tito, Para poder enviar correos masivos no hay mayores configuraciones a realizar, pero si consideraciones: 1) Como política, nunca deberías enviar correo no deseado (SPAM) en tus correos masivos. 2) Deberías identificar cantidad de correos por hora / día / mes para poder dimensionar la solución. Si enviás, por ejemplo, 50 mil correos diarios, probablemente un servidor SMTP no te alcance y tampoco 1 dirección IP pública (dado que serás catalogado como spammer, aunque tus correos NO lo sean). 3) Deberías identificar requerimientos de IP públicas (ya nombrado en el item anterior). 4) Deberías revisar políticas de los grandes… Read more »
Excelente tuto pablo.. tengo una consulta sobre un problema antiguo..y ya que lei este post me gustaria saber si sabes la solucion , ya que en su momento no pude solucionarlo.. te comento que en un server sin dominio que se utilizaba como servidor de aplicacion Erp TS se contrato un hosting que por defecto utilizaba puerto 25..y los mail salian sin problema , pero dicho hosting tubo problemas tecnicos y cambiamos de hosting y este usaba puerto 26 por lo cual los correos salientes de una aplicacion Erp salian con error 550 access denied – Invalid HELO name (See… Read more »
Hola Mauricio!
Más que un tema de puertos, me suena a un tema que el servidor remoto (SMTP que alquilás) requiere autenticación de salida, y tu organización está tratando de enviar correos sin autenticar con un usuario / password válido (o certificado, o el método que requiera).
Contanos cómo estás enviando desde el ERP correos (si es anónimo o con autenticación).
Saludos!
Hola tengo un windows server, todo esta bien pero el servicio de notificaciones se congela cada cierto tiempo y hay que volverlo a encender esto me causa muchos líos, alguno de uds tiene una idea de que podría seer y cual seria una solución?
Buen día Sr Pablo, gracias por su post.
Quiero preguntarle, en el Tab delivery, hay la opción de configurar una cuenta de correo, ¿esta para que es? agradecería la explicación de cada opción dentro de este TAB.
la razón es porque configure el SMTP server con Office365 y solo me llegan correos de cuentas que configuro en la opcion de outbound Connection, pero necesito que el relay autorice de varias cuentas que haran el envio.
muchas gracias y saludos
1- el smtp.gmail.com presenta muchos problemas con equipo de impresión mfp.
2- se actualzai el firmware de equipo printer problema de envio sigue
3- se configura el smtp de mi empresa equipo si envia correos electronicos.
4-solucion ?
Hola una consulta al realizar la configuracion que deberia colocar en el smtp banner mi nombre de dominio o secure.emailsrvr.com ?? me podrias explicar por favor un esta parte de “debe coincidir con el reverso de la dirección IP pública” o si tienes otros ejemplos gracias
Hola Pablo buenas tardes, unas consultas:
* Al activar cuotas de carpetas, deseo que envie correo cuando dicha cuota esté llegando a su limite. Deseo que envíe el mio @gmail.com?
* Tengo que agregar SMTP server?
* Como hago si no tengo IP publica?
Gracias, espero tus coentarios
Hola como puedo configurar este SMTP para q envie mail’s desde SQL Server como x ejemplo reportes d consultas d forma automaticas con SP ?