Muchas veces es necesario realizar verificaciones dentro del marco del soporte técnico. En muchas ocasiones la verificación se realiza creando una cuenta en el programa de escritorio, lo cual si bien es posible no es el método apropiado. Es preferible hacerlo desde la línea de comandos. Nos permite verificar o hacer test de autenticación SMTP, verificar las conexiones encriptadas mediante StartTLS.
Contenidos
Muchas veces es necesario realizar verificaciones dentro del marco del soporte técnico. En muchas ocasiones la verificación se realiza creando una cuenta en el programa de escritorio, lo cual si bien es posible no es el método apropiado. Es preferible hacerlo desde la línea de comandos. Nos permite verificar o hacer test de autenticación SMTP, verificar las conexiones encriptadas mediante StartTLS.
La autenticación SMTP es el mecanismo por el cual un cliente se identifica a sí mismo con su servidor de correo electrónico para una cuenta de correo concreta, cuando intenta enviar uno o más correos electrónicos.
SMTP Auth. es la abreviación por la que se conoce la autenticación SMTP, la cual es una simple extensión del protocolo SMTP (protocolo simple de transferencia de correo) mediante el cual un cliente SMTP (Outlook, Thunderbird, Mail, etc..) puede iniciar sesión utilizando un mecanismo de autenticación elegido entre los disponibles por el servidor.
El protocolo criptográfico actual más usado, conocido como TLS, en castellano quiere decir, seguridad de la capa de transporte, y es el predecesor del SSL (Secure Sockets Layers o capa de puertos seguros) que proporciona un mecanismo de seguridad a las comunicaciones en internet.
Basado en el protocolo X.509 y por añadidura usando criptografía asimetrica para autentificar la contraparte, con énfasis en la propiedad del PFS o Perfect Forward Secrecy (Secreto perfecto hacia delante) que otorga una corta vida a la clave una seguridad extra para que no pueda ser descubierta.
La gran mayoría de los problemas derivados en el envión de correo electrónico por SMTP provienen de la combinación entre el inicio de sesión de nombre (usuario) y la contraseña. Otros, en menor porcentaje derivan de la incompatibilidad entre el cliente de correo y la configuración usada en el mecanismos de autenticación o de un error en el mecanismo de autenticación utilizado ya sea en el servidor o en el cliente.
Para verificar la autenticación SMTP sobre TLS en el shell se necesita el cliente OpenSSL
En este artículo vamos a usar Ubuntu Focal 20.04, por lo que si se usa otra distribución linux o windows deberá conocer como instalar los paquetes requeridos.
# Sistema de paquetes .deb sudo apt-get install openssl # Sistema de paquetes .rpm sudo yum install openssl
Antes de realizar el test de autenticación SMTP AUTH PLAIN con TLS, necesitas crear la información necesaria para el login. Esta generalmente es el par, username (correo electrónico) y contraseña.
$ perl -MMIME::Base64 -e 'print encode_base64("\000usuario\@dominio.tld\000contraseña")' AHNvcLKMNBGsfcq3squdHJhbC5jYXN0cmlzLm
No debes olvidar el escape de la arroba o perl lo interpretará como un arreglo (array) en lugar de una cadena (string)
$ echo -ne '\0usuario@dominio.tld\0contgraseña' | base64 AHNvcLKMNBGsfcq3squdHJhbC5jYXN0cmlzLm
openssl s_client -connect smtp.dominio.tld:25 -starttls smtp CONNECTED(00000003) depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3 verify return:1 depth=1 C = US, O = Let's Encrypt, CN = R3 verify return:1 depth=0 CN = aicha.es verify return:1 … ... información sobre los certificados,... … Extended master secret: no Max Early Data: 0 --- read R BLOCK
Cuando la conexión se ha realizado obtendremos bien un código 250
250 DSN
o en su lugar una llamada a nuestra interacción
read R BLOCK
Esto nos indica que ya se puede comenzar la comunicación con el servidor en forma interactiva.
Para obtener los verbos disponible usaremos EHLO, que nos devolverá la lista
EHLO there 250-central 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-DSN 250-SMTPUTF8 250 CHUNKING
Usando el verbo que nos indica la posibilidad de hacer la autenticacion con login plano, usaremos el login obtenido con perl o bash.
AUTH PLAIN AHNvcG9ydGVAY2VudHJhbXXXXXXXlzLmNvbQBGZ1Q1bXhqNFNFUUV4NkF3Q00= 235 2.7.0 Authentication successful
Si todo es correcto, obtendremos un código 235, que indica que todo fue bien.
openssl s_client -connect imap.dominio.tld:143 -starttls imap openssl s_client -connect pop.dominio.tld:110 -starttls pop3 openssl s_client -connect smtp.dominio.tld:25 -starttls smtp
openssl s_client -tls1_2 -servername URI-Autoridad -connect IP:443
Gracias a Carlos Baker por su foto, obtenida de Unsplash
Comparte este articulo en
¡Hola a todos! Vamos a sumergirnos en el fascinante mundo de Mod Security y aprender…
Ya son muchos años en el sector, muchos años pasando por varios paneles de control,…
La lista UCEPROTECT es una herramienta utilizada por muchos administradores de sistemas y proveedores de…
No es la primera vez que me encuentro con el agotamiento de la memoria en…
Descubre cómo solucionar problemas de acceso a servidores con Centos 7, Almalinux 8, Ubuntu 20.04…
Uno de los mensajes más alarmantes que puedes encontrarte es aquel que indica que tu…