Que es FTP y que es SFTP
FTP (File Transfer Protocol) es uno de los protocolos mas antiguos de internet, diseñado para transferir archivos entre un cliente y un servidor. Aunque es ampliamente compatible, FTP fue diseñado en una epoca en que la seguridad de las redes no era una preocupacion critica, por lo que transmite todos los datos, incluyendo nombre de usuario y contrasena, en texto plano sin cifrado.
SFTP (SSH File Transfer Protocol) es un protocolo completamente distinto de FTP a pesar de la similitud en el nombre. SFTP opera sobre el protocolo SSH (Secure Shell) y cifra toda la comunicacion, incluyendo la autenticacion y la transferencia de datos. Es el estandar moderno recomendado para la transferencia segura de archivos en entornos de produccion.
Comparacion detallada: FTP vs SFTP
| Aspecto | FTP | SFTP |
|---|---|---|
| Puerto predeterminado | 21 | 22 |
| Cifrado | Sin cifrado (texto plano) | Cifrado completo via SSH |
| Seguridad de contrasenas | Transmitidas en texto plano | Cifradas durante la transmision |
| Firewall y NAT | Problematico (requiere puertos pasivos) | Sin problemas (un solo puerto) |
| Velocidad de transferencia | Ligeramente mas rapido | Ligeramente mas lento por el cifrado |
| Compatibilidad | Universal | Requiere SSH en el servidor |
| Soporte en hosting compartido | Siempre disponible | Depende del proveedor |
| Autenticacion con llave SSH | No disponible | Disponible (mas seguro que contrasena) |
FTPS: una tercera opcion
FTPS (FTP Secure o FTP-SSL) es una extension del protocolo FTP que agrega soporte para cifrado SSL/TLS. A diferencia de SFTP (que es un protocolo completamente diferente), FTPS es esencialmente FTP con una capa de cifrado añadida. Existen dos modos de FTPS:
- FTPS Implicito: Usa el puerto 990 y asume que toda la conexion esta cifrada desde el inicio.
- FTPS Explicito (FTPES): Inicia en el puerto 21 como FTP normal y negocia el cifrado mediante el comando AUTH TLS.
Cuando usar cada protocolo
- Usar SFTP siempre que sea posible: Es la opcion mas segura y moderna. Si el proveedor de hospedaje ofrece acceso SSH, SFTP estara disponible automaticamente en el puerto 22.
- Usar FTPS cuando SFTP no esta disponible: Algunos planes de hospedaje compartido no ofrecen acceso SSH pero si FTPS. Es mas seguro que FTP plano.
- Usar FTP solo en entornos internos o de prueba: Nunca usar FTP sin cifrado para transferir datos de produccion o credenciales sensibles.
Como configurar SFTP en FileZilla
- Abrir FileZilla y acceder al Administrador de sitios (Ctrl+S).
- Crear un nuevo sitio y en el campo Protocolo, seleccionar SFTP - SSH File Transfer Protocol.
- Ingresar el servidor, el puerto 22, el usuario y la contrasena.
- El modo de acceso puede ser Normal (usuario y contrasena) o Clave (archivo de llave SSH).
