Servidor FTP: Modos, Seguridad y FTPS
Clasificado en Informática
Escrito el en español con un tamaño de 3,45 KB
Servidor FTP
Modo activo
Acepta conexiones en modo activo. Los cortafuegos tienen que permitir conexiones TCP entrantes hacia el puerto 21 y conexiones salientes desde el puerto 20 a puertos mayores que 1023. Acepta conexiones en modo pasivo. El cortafuegos tienen que permitir conexiones TCP entrantes hacia el puerto 21 y a puertos mayores que 1023. Se recomienda realizar seguimiento de las conexiones pasivas
- Si el servidor está detrás de un NATP...
- Hay que redirigir el puerto 21 al servidor
- Configurar en el servidor la IP externa NATP y un rango de puertos para aceptar conexiones de datos y redirigirlas al servidor FTP
Modo pasivo
Conexión de control: Client (>1024)->Server(21). Conexiones de datos: Client (>1024)->Server(>1023). Facilita la configuración del cliente pero hace más compleja la configuración del servidor
Tipos de transferencia de archivos
Existen dos modos de transferencia de archivos:
- Formato ASCII (type ascii): Se transmite byte a byte. Para archivos de texto (txt, html, php...)
- Formato binario(type bin): Se transmite bit a bit. Para archivos que no son de texto (ejecutables, imágenes, videos...)
Se puede cambiar el formato en función del tipo de archivo. Muchos clientes lo realizan de manera automática.
Seguridad
FTP no es un protocolo seguro, al igual que HTTP, DNS, etc. fue diseñado para ofrecer velocidad pero no seguridad. Aunque usa mecanismos de autenticación, no tiene mecanismos que garanticen que los equipos sean quienes dicen ser. Es vulnerable a ataques de suplantación de identidad (spoofing). Todo el intercambio de información se realiza en texto plano sin ningún tipo de cifrado. Es vulnerable a ataques de análisis de red (sniffing). Los clientes y servidores FTP son inseguros y pueden comprometer los datos y los equipos donde se ejecutan
FTPS (o FTP/SSL)
Conjunto de especificaciones que determinan como encapsular FTP en SSL (Secure Sockets Layer) o FTPS para ofrecer comunicaciones seguras. Los algoritmos criptográficos y certificados digitales garantizan la confidencialidad e integridad de la información transmitida así como la autenticidad de los servidores. Existen dos métodos para implementar FTPS:
FTPS Explicito (FTPES). FTPS Implícito
FTPS Implícito
El cliente establece una conexión de control y se establece la conexión SSL/TLS. Si el servidor no soporta FTPS se cierra la conexión. Todas las comunicaciones y conexiones son cifradas. El cliente y el servidor no negocian. Para mantener la compatibilidad con clientes FTP que no soportan SSL/TLS se utilizan otros puertos para atender las peticiones FTPS (990/TCP para control y el 989/TCP para datos)
FTPS Explícito (FTPES)
El cliente establece una conexión de control al puerto 21, solicita explícitamente que la comunicación sea segura enviando el comando AUTH SSL o TTL. Servidor soporta SSL/TTL: se establece una conexión basada en certificados digitales y algoritmos criptográficos. Servidor no soporta SSL/TTL: se ofrece la posibilidad de usar FTP no seguro. El cliente y el servidor pueden negociar que conexiones serán cifradas. Permite mayor control en la comunicación
SSH
SSH es uno de los protocolos más usados para acceder a equipos remotos a través del puerto 22/TCP. A diferencia de Telnet, SSH ofrece autentificación, confidencialidad e integridad.