Guía Completa sobre FTP, Servidores de Correo Electrónico y SSH: Protocolos y Funcionamiento
Clasificado en Informática
Escrito el en español con un tamaño de 5,63 KB
FTP (File Transfer Protocol): Protocolo de Red para Transferencia de Archivos
FTP (File Transfer Protocol) es un protocolo de red para la transferencia de archivos. Permite subir y bajar archivos entre un cliente y un servidor, y viceversa. También se puede gestionar un disco remotamente utilizando TCP/IP.
Conexiones FTP
Existen dos tipos principales de conexiones en FTP:
- Control: Se utiliza para acceder al servidor y realizar operaciones.
- Datos: Permite la descarga y subida de ficheros.
Modos de Conexión
- Modo Activo: El servidor FTP utiliza por defecto el puerto 21 para la conexión y el puerto 20 para la transmisión de datos. El cliente elige un puerto aleatorio para la conexión y el puerto aleatorio + 1 para los datos.
- Modo Pasivo: La conexión inicial es similar al modo activo, pero antes de enviar datos, el cliente solicita trabajar en modo pasivo. El servidor responde enviando un puerto (superior a 1024) por el cual se realizará la transferencia de datos, dejando el puerto 20 libre.
Acceso al Servidor FTP
- Acceso Anónimo: Permite el acceso a cualquier usuario (contraseña nula).
- Acceso Privado: Requiere autenticación; el usuario debe estar creado en el servidor.
Acceso Seguro al Servidor
- Secure FTP (Basado en SSH): Utiliza SSH para asegurar la conexión.
- FTPS (Basado en SSL/TLS):
- FTPES: Inicia la petición en el puerto 21 y luego cambia al puerto 990 para la conexión segura.
- FTPS: Se conecta directamente al puerto 990.
Servidor de Correo Electrónico
Agentes utilizados en un servidor de correo:
- MUA (Mail User Agent): Es el programa que interactúa con el usuario, permitiendo crear, enviar, recibir y almacenar correo electrónico.
- MTA (Mail Transfer Agent): Se encarga de mover el correo a través de la red.
SMTP (Simple Mail Transfer Protocol)
SMTP (Simple Mail Transfer Protocol) utiliza el puerto 25. Está basado en texto, con intercambio de mensajes de texto entre cliente y servidor.
Proceso de comunicación:
- El cliente lanza el primer mensaje y envía un comando
HELO
(presentación). - El servidor responde con un
OK
o indica que el servicio no está disponible. - Si la conexión es correcta, el cliente envía el mensaje
MAIL FROM
. Si no es correcto, se notifica. RCPT TO
(el destino).- El cliente envía
DATA
(aquí va todo: texto, asunto, datos). FIN
: El cliente indica el final de los datos.QUIT
: El cliente indica que quiere cerrar la conexión y el servidor responde confirmando.
POP3 (Post Office Protocol version 3)
POP3 (Post Office Protocol version 3) utiliza el puerto 110 para recibir correo. No requiere una conexión permanente a Internet. Permite el manejo de varias cuentas de correo y descarga los correos al disco duro.
Proceso:
- El cliente pide conexión, el servidor concede.
- Autenticación.
- El cliente realiza operaciones (
LIST
,DELETE
,RETR
). - El cliente envía
QUIT
, el servidor actualiza el estado (borra mensajes, limpia sesión, etc.).
IMAP4 (Internet Mail Access Protocol version 4)
IMAP4 (Internet Mail Access Protocol version 4) es el más utilizado y no requiere la descarga local de los mensajes, pero sí una conexión permanente (puerto 143). La conexión IMAP4/POP3 está solo en la bandeja de entrada (INBOX).
MUA: Utiliza tres protocolos: SMTP (solo envía), POP/IMAP (solo recibe).
Flujo de correo:
Escribir correo → SMTP → Servidor de correo → Servidor DNS → Internet (SMTP) → Servidor de correo destino (MTA) → POP3/IMAP → Bandeja de entrada del receptor.
Servidor SSH (Secure Shell)
SSH (Secure Shell) es un protocolo seguro de acceso remoto. Un shell es un programa que actúa como una interfaz gráfica que interactúa con el usuario.
Permite:
- Iniciar sesiones remotas (con o sin GUI - Entorno Gráfico).
- Ejecutar comandos remotos.
- Copiar ficheros entre hosts.
Por defecto, suele utilizar el puerto 22. Diseñado para sistemas Unix.
Funcionamiento de SSH
- El cliente realiza una petición y el servidor establece una conexión TCP (puerto 22).
- Se acuerda un protocolo.
- El servidor envía su clave pública al cliente.
- El cliente comprueba la clave y confirma al usuario.
- El cliente genera una clave de sesión, escoge un algoritmo de cifrado y cifra con la clave pública del servidor.
- Se establece una conexión segura y se realiza la autenticación.
Autenticación en SSH
- Usuario/Contraseña.
- Clave pública y privada: El usuario genera un par de claves y envía su clave pública al servidor.
Control de Sesiones SSH
- No Autenticadas: Número de conexiones abiertas, tiempo de conexión abierta, número de autenticaciones fallidas.
- Autenticadas: No se cierran nunca, a menos que se configure la variable de entorno
TMOUT
en/etc/profile
.