Sobre puertos y encriptación en servidores de correo



Al configurar el servidor de correo saliente en el cliente de correo, verá 3 opciones de cifrado, sin cifrado, SMTPS y STARTTLS, así como 3 puertos posibles: 25, 465, 587. Qué elegir y para qué, comprendamos.

Vídeo


Anterior < Modos operativos del servidor de correo
Siguiente> Registros DNS para servidores de correo


Cuando envía un mensaje a alguien, su cliente de correo usa ESMTP para enviar este mensaje, y luego su servidor de correo usa el mismo protocolo si necesita enviar este mensaje a otro servidor. Y aunque todos hablan y escriben SMTP, generalmente se trata de ESMTP, el mismo SMTP, pero con un conjunto de extensiones, como autorización y cifrado. Sí, una vez que SMTP ni siquiera admitía la autorización.



Ahora un poco sobre SMTPS. Una vez que Internet era tan simple que todo en él se transmitía en texto claro. Luego vinieron los protocolos de cifrado criptográfico, el mismo SSL. Y los servicios que anteriormente transmitían información en forma abierta, comenzaron a encapsular el tráfico en SSL.



Pero no fue fácil hacer esto en los mismos puertos estándar: el cliente y el servidor deben acordar un método de cifrado, y para que un servicio en un puerto funcione simultáneamente para algunos con cifrado y para otros sin él, requeriría cambios en los protocolos. Y para no complicarlo todo, comenzaron a esculpir puertos separados para conexiones cifradas; así es como aparecieron 443 para HTTPS y 465 para SMTPS. Pero nos dimos cuenta en este momento: hay pocos puertos dedicados, la cantidad de servicios está creciendo y si cada uno de ellos usará varios puertos con encriptación y sin encriptación para sus propósitos, problemas.



Y al final, decidieron modificar un poco los protocolos. En algunos casos, esto no funcionó muy bien, por ejemplo, para HTTP, y en el caso de SMTP, resultó ser una opción perfectamente adecuada. Para esto, la extensión STARTTLS se agregó a SMTP. En general, la extensión STARTTLS no solo se usa para SMTP, en general es un comando para iniciar negociaciones de cifrado. A diferencia de SMTPS, que usa un puerto dedicado 465 e inmediatamente encripta la conexión, STARTTLS es solo una extensión para SMTP, lo que significa que la sesión se inicia como una sesión SMTP normal. Los servidores de correo se saludan y luego ofrecen comenzar a encriptar y seleccionar los protocolos criptográficos disponibles.



Como resultado, con la llegada de STARTTLS de los estándares, decidieron eliminar SMTPS en el puerto 465 como un servicio separado. Lo eliminaron de los estándares, pero el servicio se mantuvo y todavía está en uso. En cuanto al cifrado, aún haré un tema por separado, pero por ahora hablemos de STARTTLS.



Dije anteriormente que con STARTTLS, los servidores de correo o el cliente / servidor abren una conexión sin cifrado y luego acuerdan el cifrado. Usan el mismo SSL / TLS para el cifrado. Pero, ¿y si no pueden estar de acuerdo? ¿Resulta que se comunicarán sin cifrar? ¿En Internet? Mientras tanto, están de acuerdo sin ningún cifrado, engañando fácilmente al servidor o al cliente por la falta de métodos de cifrado disponibles. Y en un momento atraparon a uno de los proveedores en tal ataque. Y luego necesitas tal cifrado, preguntas. No todo es tan desesperado. De hecho, el administrador puede desactivar la capacidad de enviar correo si no es posible acordar el cifrado, y los clientes de correo deben advertir que el servidor no es compatible con el cifrado.



Y así, descubrimos que hay SMTP que funciona en el puerto 25, hay SMTPS que funciona en 465, pero hay otro puerto: 587, que también es utilizado por el servidor de correo.



Como notó, los clientes de correo electrónico se conectan a los servidores a través de SMTP. Y los servidores de correo también se conectan entre sí a través de SMTP. También dije en la última parte que existen tales servidores: hosts de retransmisión que reenvían el correo. Por ciertos motivos, en su mayoría humanos, existen hosts de retransmisión en Internet que permiten a usuarios no autorizados redirigir mensajes desde cualquier dirección. Y estos hosts aparecen cada vez que un administrador negligente levanta el servidor de correo, y esto sucede a menudo. Como resultado, los ciberdelincuentes generan servidores temporales o infectan las computadoras de los usuarios que envían spam a través de estos hosts de retransmisión sin autorización.



Como resultado, algunos proveedores de Internet bloquean las conexiones de los usuarios al puerto 25.



Este puerto está abierto entre servidores en Internet, pero hicieron un servicio separado para los usuarios: MSA (agente de envío de mensajes - agente de envío), separando así las conexiones de los usuarios de los servidores de conexión que aún se comunican a través de MTA. En general, MSA incluso funciona en el puerto 25, pero el puerto oficial es el 587. Entonces, ¿qué impide que los spammers usen este puerto? El hecho de que el MSA, como regla, requiere la autorización del usuario. Esta no es la única razón de la existencia de MSA, ya que funciona con clientes de correo electrónico, está mejor optimizada para el trabajo de los clientes, inmediatamente advierte de cualquier error en los mensajes, por ejemplo, la ausencia de la dirección de dominio del destinatario.



Y finalmente, sigamos el proceso de enviar un mensaje de correo electrónico. Para hacer esto, use wireshark, un cliente de correo electrónico y una cuenta de gmail. Todo comienza con el protocolo de enlace TCP estándar, después del cual se inicia la sesión SMTP. Durante la sesión, el cliente y el servidor de correo se saludan, después de lo cual el cliente de correo ofrece cifrar la sesión, el servidor acepta, después de lo cual se intercambian las claves y comienza la sesión TLSv1.3, después de lo cual el cliente inicia sesión cifrado y envía un mensaje que no es visible para un interceptor de tráfico.

All Articles