Después de que hayamos instalado un servidor de correo siempre surge la necesidad de realizar pruebas de envio de correos o de acceso al buzón desde el propio servidor o desde otra máquina. Frente a un mal funcionamiento realizar estas pruebas sin usar un gestor de correos o un webmail nos ahorra el añadir posibles errores en dichos sistemas que nos lleven a la confusión sobre el buen o mal funcionamiento de nuestro sistema. También es necesario siempre comprobar que no podamos realizar el envio de un correo desde otra máquina sin logearnos (relay) ya que de tener mal configurado nuestro servidor y permitir el relay acabaremos cayendo en una lista negra ya que acabarían usando dicho servidor para enviar spam. Si esto ocurriese casi todos los servidores de correo que hacen uso de estas black list rechazarán los correos salientes de nuestra máquina.

A continuación veremos como enviar un correo y también como acceder al buzón por comandos.
-ENVÍO DE UN CORREO POR COMANDOS (ACCESO AL SERVIDOR SMTP):
Vamos a realizar primero un envío desde el propio servidor, para ello desde la consola ejecutamos:
#  telnet localhost 25
Con el comando anterior estamos accediendo al servidor smtp que normalmente escucha en el puerto 25.
Como respuesta obtenemos:

Trying 127.0.0.1…
Connected to localhost.localdomain.
Escape character is ‘^]’.
220 servidor.midominio.com Mensaje de Bienvenida del Servidor (Version del Servidor SMTP)

El código 220 indica que el servidor está listo para recibir nuestras peticiones. Debemos ahora identificarnos para ello usaremos el comando HELO o EHLO. El comando HELO o EHLO, es el primer comando que se tiene que enviar cuando se inicia una sesión en un servidor SMTP. Sirve solo como identificación, pero no como autorización.  El comando EHLO es un método ESMTP (Enhanced SMTP) que permite informar al cliente sobre las extensiones soportadas por el servidor SMTP, como por ejemplo los métodos de autentificación soportados. Nuestra primera prueba como es desde el propio servidor no va a necesitar que nos logeemos ya que el relay si está permitido desde la propia máquina :
La sintaxis de HELO es “HELO nombre-de-mi-equipo”, asi que escribimos(nombre-de-mi-equipo es el nombre NetBios del equipo desde donde estamos accediendo al SMTP):
HELO localhost
Respuesta:
250 servidor.midominio.com
Con el siguiente comando indicamos la cuenta de correo que queremos que quede reflejada como desde donde se envía  el correo. Fijaros que podemos poner cualquiera otro problema si permitimos esto desde fuera del servidor.
MAIL FROM:
Respuesta:
250 2.1.0 Ok
Especificamos ahora el destinatario del correo
RCPT TO:
Obtenemos:
250 2.1.5 Ok
Llego el momento de escribir el mensaje, lo solicitamos con el comando DATA:
DATA
Obtenemos:
354 End data with .
A partir de ahora podemos escribir todo el mensaje y para finalizar escribiremos un “.” en la siguiente línea para finalizar, entonces el mensaje se enviará.
Con el comando “quit” cerramos la conexión con el servidor.
A continuación teneis la secuencia completa:
root@servidor:/home/pedro# telnet localhost 25
Trying 127.0.0.1…
Connected to localhost.localdomain.
Escape character is ‘^]’.
220 servidor.midominio.com Mensaje de Bienvenida del Servidor (Version del Servidor SMTP)

HELO localhost
250 servidor.midominio.com
MAIL FROM:
250 2.1.0 Ok
RCPT TO:
250 2.1.5 Ok
DATA
354 End data with .
Mensaje mensaje mensaje
.
250 2.0.0 Ok: queued as 0450132A054
quit
221 2.0.0 Bye
Connection closed by foreign host.
root@servidor:/home/pedro#

Como acabamos de ver podemos desde el propio servidor enviar un correo a cualquier otra cuenta de otro dominio sin tener que logearnos.
Veamos que ocurre si intentamos enviar un correo desde otra máquina de nuestra red (o de fuera de ella) sin autenticarnos a una cuenta de correo de otro dominio:
#telnet 192.168.5.11 25
220 servidor.midominio.com Mensaje de Bienvenida del Servidor (Version del Servidor SMTP)
HELO pc-pedro
250 servidor.midominio.com
MAIL FROM:
250 2.1.0 Ok
RCPT TO:
554 5.7.1 : Relay access denied

Acabamos de comprobar que nuestro servidor evitará que sea usado por los spammers para hacer relay.
Si queremos enviar entonces un correo desde otra máquina a otro dominio distinto del nuestro deberemos autenticarnos, veamos como hacemos esto con comandos:
# telnet 192.168.5.11 25
Con el comando EHLO invocamos al ESMTP es decir a los comandos extendidos. En nuestro caso observamos que nuestro servidor necesita auntenticación.
220 servidor.midominio.com Mensaje de Bienvenida del Servidor (Version del Servidor SMTP)
HELO pc-pedro
250-servidor.midominio.com


250-STARTTLS
250-AUTH LOGIN

AUTH LOGIN
334 VXNlcm5hbWU6
cGVwaXRvQGRvbWluaXdzc3NvLmNvbQ==
334 UGFzc3dvcmQ6
aW5pd3NzczQz
235 Authentication successful.

La cadena de texto “cGVwaXRvQGRvbWluaXdzc3NvLmNvbQ==” representa nuestro login cifrado en BASE-64 y la cadena “aW5pd3NzczQz” representa nuestra clave cifrada de la misma forma. A partir de aquí ya podemos enviar el correo como vimos anteriormente.
-ACCESO A NUESTRO BUZÓN MEDIANTE COMANDOS (Acceso al servidor POP3):
# telnet 192.168.5.11 pop3
ó
# telnet 192.168.5.11 110
+OK POP3 server ready
USER pepito
+OK Password required.

PASS clave
+OK logged in.
Ya estamos logeados contra el servidor. El usuario y la clave no van cifradas en este caso. Veamos los comandos más comunes que podemos utilizar:
STAT: Solicita el estado del buzón de correo.
LIST: Lista de todos los mensajes.
RETR: Comando para ver un mensaje indicando el número de éste de la lista anterior.
DELE: Borra el mensaje especificado.
CONSEJOS SOBRE LA UTILIZACIÓN DE TELNET:
Debemos tener cuidado con la utilización de Telnet ya que no es un protocolo de comunicaciones seguro ya que los datos se transmiten sin cifrar con lo que las contraseñas serán legibles si se capturan los paquetes, además no es un protocolo autenticado por ello es vulnerable a ataques man-in-the-middle.
Por ello debemos tener cuidado si usamos telnet para probar conexiones sobre todo si lo hacemos desde fuera de nuestra red. Se recomienda crear una cuenta de correo de prueba y después borrarla para no comprometer la seguridad de nuestro servidor.

0 comentarios:

Publicar un comentario