Redes informáticas pt5 — FTP/SSH/SFTP/VSFTPD + Práctica
- yccyyc9
- 11 ene
- 4 Min. de lectura
Actualizado: 12 ene

FTP (File Transfer Protocol)
FTP es un protocolo para la transferencia de archivos entre sistemas conectados a una red TCP.
*Si no conoces el protocolo TCP, puedes encontrarlo en uno de mis blogs pasados.
FTP se basa en una arquitectura cliente/servidor.
Servidor FTP: Es el que gestiona los archivos y las conexiones entrantes, y este está ubicado en la propia máquina/hosting del usuario
Cliente FTP: Es un programa que instalas en tu ordenador para conectarte al servidor y transferir tus archivos.

En un caso hipotético más sencillo de entender, puedes imaginar a FTP como un mensajero que lleva cartas (archivos) de un lugar a otro por las casas, (en una red de ordenadores).
Ahora, imagina que tienes archivos en tu ordenador, pero necesitas moverlos a otro lugar, como un servidor en internet. Pues esto sería similar a si quisieras enviar tus cartas. Para ello, necesitarás a un mensajero, no? Pues FTP funciona similar, puedes imaginarlo cómo el mensajero que llevará tus cartas a una oficina dónde serán procesadas.
FTP no es un programa que normalmente encuentras en las máquinas personales, pero los usuarios lo usan para conectarse remotamente a él. Una aplicación común de FTP es en el hosting, donde los usuarios suben sus páginas web y otros archivos.
Para usar FTP, puedes elegir entre diferentes programas de cliente, como por ejemplo:
FireFTP
Cyberduck
Filezilla
Entre otros.
Es importante señalar que FTP no utiliza cifrado. Esto significa que los datos se transmiten en texto plano, lo cual, los hace vulnerables a la interceptación de actores maliciosos.Pero no te preocupes, para abordar estos riesgos tenemos:
SSH (Secure Shell)
Este es un protocolo que nos permite acceder a sistemas remotos y realizar operaciones de forma segura en redes que no son seguras, por ejemplo, en internet.SSH es el que cifra las comunicaciones entre cliente y servidor, para que estos ahora no pasen en texto plano, sino cifrados.Por otro lado, SSH también nos permite la autenticación para verificar la identidad de los usuarios, para que así sólo los usuarios autorizados puedan acceder al sistema de forma remota.

SFTP (SSH File Transfer Protocol)
FTP es un protocolo muy antiguo, para que te hagas una idea, fue definido por primera en la década de los 70–80s. Por lo tanto, FTP no ofrecía aún este tipo de seguridad, ya que en cierto modo, no tenía la importancia que tiene hoy en día. Es por ello por lo que más adelante surgió SFTP.SFTP es únicamente una variante de FTP. Pero aquí si se da el cifrado y autenticación mediante el protocolo SSH (Secure Shell), nombrado anteriormente. Al igual que FTP, SFTP se usa para la transferencia de archivos mediante una red TCP.
VSFTPD (Very Secure FTP Daemon)
Este también es un servidor FTP que fue diseñado para ofrecer niveles de seguridad elevados. Al igual que FTP y SFTP, VSFTPD es otra herramienta para transferir archivos mediante una red TCP. Pero su principal diferencia de FTP y SFTP reside en que el enfoque de VSFTPD está basado en sus propias medidas de seguridad. Por ejemplo, aquí se incluye la capacidad de configurar restricciones de acceso basadas en usuarios y direcciones IP, la opción de desactivar el acceso anónimo para evitar el acceso no autorizado, y el soporte para SSL/TLS para cifrar las comunicaciones.
~
SSL: También es un tipo de protocolo de seguridad para establecer conexiones seguras en internet.
TLS: Este es el sucesor más moderno y seguro de SSL, utilizado también para cifrar las comunicaciones.
Práctica — Creando un servidor SFTP en Linux

Como siempre, para entenderlo de la mejor manera posible, te recomiendo que practiques lo aprendido. Vamos allá!
En esta ocasión, pasaré del Host 1 Local (Kali Linux), al Host 2 remoto (Windows)
1. Instalo SSH en la VM de Kali
sudo apt install openssh-server -y2. Para usar SSH en Windows, instalo Putty en la VM de Windows
3. Para ver si ssh está corriendo en la máquina de Kali
sudo systemctl status ssh* Si lo tienes desactivado:
sudo systemctl start ssh4. El puerto 22 es por el que pasará este proceso, (es el puerto por defecto para ssh). Por ende, deberás de tenerlo abierto.
Para ver tu IP dentro de Kali pon:
ifconfigAhora, dale un ojo al estado del puerto 22 con tu IP:
nmap -p22 192.168.1.15
O también puedes mirar que puertos tienes abiertos en general con:
nmap — open 192.168.1.15
* En mi caso el puerto está abierto, pero si el tuyo no lo está, entonces:
sudo nano /etc/ssh/sshd_configBusca la línea Subsystem y asegurate de que esté desconectada:
Ctrl+wEscribe sftp para encontrarlo
sftpAsegúrate de que la línea no esté comentada (no tiene # al principio) y que la ruta al ejecutable del servidor SFTP sea correcta.
Si lo tienes con un # al principio, (#Subsystem) quítalo. Debería verse así:

Una vez que lo tengas bien puesto, guarda los cambios y sal de nano. Luego, reinicia SSH con:
sudo systemctl restart sshAhora verifica que todo esté correcto en el estado con:
sudo systemctl status sshAhora sí debería salirte en estado activo.
5. Me voy a la máquina windows nuevamente, y aquí necesitas un programa llamado “WinScp”
Enlace de descarga: https://winscp.net/eng/download.php

Introduce la IP, el usuario y contraseña de la máquina Kali
Dale a conectar
Listo, ahora sí ya deberías tener acceso a tus archivos de Kali por Sftp!
Pd: Para cerrar el puerto luego:
sudo systemctl stop ssh


Comentarios