Ayer tuve un intercambio con un administrador de sistemas externo relacionado con la configuración de una interfaz de transferencia de archivos entre nuestros servidores.
Sugerí usar SFTP porque nuestra aplicación tiene un buen soporte para ello. Mi interlocutor quiere absolutamente FTP + S (FTP + TLS) que actualmente no admitimos y tendríamos que desarrollar.
Argumenté que no vi ningún beneficio real en FTP + S sobre SFTP ya que ambos ofrecen un cifrado de tráfico sólido. SFTP está disponible y se puede hacer aún más seguro con la autenticación de clave pública. Por último, pero no menos importante, su modo de conexión única hace que sea mucho más agradable de usar detrás de los firewalls corporativos.
El administrador del sistema casi me llama idiota, declarando que SFTP funciona sobre SSH, que es un protocolo diseñado para fines de administración, y que abrir un puerto SSH para cualquier otro uso que no sea administración es claramente una mala idea porque abre un amplio vector de ataque contra el sistema host.
Me pregunto si este argumento es válido. Parece que hay varias formas de restringir una sesión SSH para permitir solo la transferencia de archivos SFTP. Existe el subsistema sftp interno que viene con openSSH, donde puede configurar fácilmente un chroot y deshabilitar el reenvío de TCP. Incluso escuché sobre soluciones que presumiblemente permiten que los usuarios se conecten a través de SFTP sin requerir una entrada en el archivo passwd ... No veo ningún problema claro con SFTP que no tendría con FTP + S, ¿pero podría faltar algo?
Entonces, a pesar de las restricciones que puede aplicar a SSH, ¿es FTP + S una mejor opción para la transferencia de archivos, desde el punto de vista de la seguridad?