Fundamentos Teóricos

Este tutorial te guiará a través de la configuración de un entorno seguro para la transferencia de archivos entre dos equipos Linux, utilizando herramientas estándar de seguridad como SSH, SCP y UFW.

¿Qué aprenderás en este tutorial?
• Configurar y verificar direcciones IP en una red LAN
• Instalar y activar el servicio SSH para conexiones seguras
• Transferir archivos de forma cifrada usando SCP
• Monitorear conexiones de red con ss y netstat
• Configurar reglas de firewall con UFW
• Comprender la seguridad por capas (Defense in Depth)

📡 Conceptos Clave

Red LAN

Red de área local donde los equipos se comunican directamente. Trabajaremos en una LAN para simplificar, pero los conceptos aplican a redes más grandes.

Dirección IP

Identificador único de cada dispositivo en una red. Usaremos ip address para visualizarlas y verificar conectividad.

Interfaz de Red

Cada conexión de red tiene una interfaz (eth0, wlan0, etc.). Ver su estado es crucial para diagnosticar problemas de conectividad.

Seguridad por Capas (Defense in Depth):
Este tutorial implementa múltiples capas de seguridad: cifrado (SSH/SCP), control de acceso (firewall) y monitoreo (verificación de estado). La combinación de estas técnicas es fundamental en entornos reales.

Preparación del Entorno

Antes de comenzar, asegúrate de tener dos equipos (pueden ser máquinas virtuales, una VM y el host, o dos dispositivos físicos) con Linux (Ubuntu, Kali Linux o Debian). Ambos deben estar en la misma red.

Nota importante: En Termux (Android), las rutas son diferentes (ej: /data/data/com.termux/files/home/). Los comandos son similares pero sin sudo.

Verificar direcciones IP

Equipo Origen - Verificar IP
┌─[hackwise@kali]─[~]
└──╼ $ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
    inet 192.168.1.50/24 brd 192.168.1.255 scope global eth0
└──╼ $ ip route show default
default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.50 metric 100

Anota la IP del equipo destino (en el ejemplo: 192.168.1.100). La usarás en la transferencia SCP.

Instalación y Configuración de SSH

SSH (Secure Shell) permite conexiones cifradas entre equipos. SCP (Secure Copy) usa SSH para transferir archivos de forma segura. En el equipo RECEPTOR (el que recibirá los archivos), instala y activa el servicio.

Equipo Receptor - Instalación SSH
┌─[hackwise@servidor]─[~]
└──╼ $ sudo apt update && sudo apt install openssh-server -y
Reading package lists... Done
Setting up openssh-server (1:8.9p1-3ubuntu0.6) ...
└──╼ $ sudo systemctl enable ssh
└──╼ $ sudo systemctl start ssh
└──╼ $ sudo systemctl status ssh --no-pager
● ssh.service - OpenBSD Secure Shell server
    Loaded: loaded (/lib/systemd/system/ssh.service; enabled)
    Active: active (running) since ...
└──╼ $ ss -tuln | grep :22
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
✓ Puerto 22 abierto - SSH funcionando correctamente
Seguridad SSH:
Por defecto, SSH permite autenticación con contraseña. Para entornos productivos, se recomienda configurar autenticación por llaves (ssh-keygen) y deshabilitar el login root.

Transferencia Segura con SCP

Desde el equipo ORIGEN, crea un archivo de prueba y transfiérelo usando SCP al equipo receptor.

Equipo Origen - Transferencia SCP
┌─[hackwise@cliente]─[~]
└──╼ $ echo "Prueba de transferencia segura con SCP - $(date)" > prueba.txt
└──╼ $ cat prueba.txt
Prueba de transferencia segura con SCP - Wed Apr 30 10:30:00 UTC 2026
└──╼ $ scp prueba.txt hackwise@192.168.1.100:/home/hackwise/
hackwise@192.168.1.100's password: ********
prueba.txt                      100% 48 1.5KB/s 00:00
└──╼ $ echo "✅ Archivo transferido exitosamente"
✅ Archivo transferido exitosamente
Cifrado SCP:
SCP cifra TODA la comunicación, incluyendo la contraseña y el contenido del archivo. La contraseña no se muestra en pantalla al escribirla por seguridad.

Comandos SCP útiles:

Copiar archivo

scp archivo.txt usuario@ip:/ruta/destino/

Copiar directorio

scp -r carpeta/ usuario@ip:/ruta/destino/

Descargar archivo

scp usuario@ip:/ruta/archivo.txt ./

Verificación de Red durante la Comunicación

Mientras se realiza la transferencia SCP, podemos observar qué interfaz e IP están siendo utilizadas.

Monitorización de Red
┌─[hackwise@cliente]─[~]
└──╼ $ ip address show dynamic
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> state UP
    inet 192.168.1.50/24 brd 192.168.1.255 scope global dynamic eth0
└──╼ $ ss -tunp | grep :22
tcp ESTAB 0 0 192.168.1.50:45678 192.168.1.100:22
✓ Conexión SSH activa desde 192.168.1.50 → 192.168.1.100

Protección con UFW (Uncomplicated Firewall)

UFW es un firewall fácil de usar que nos permite controlar el tráfico de red.

Configuración UFW - Equipo Receptor
┌─[hackwise@servidor]─[~]
└──╼ $ sudo ufw enable
Firewall is active and enabled on system startup
└──╼ $ sudo ufw allow ssh
Rule added
└──╼ $ sudo ufw status verbose
Status: active
Default: deny (incoming), allow (outgoing)
To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
└──╼ $ sudo ufw deny ssh
Rule added
└──╼ $ sudo ufw status | grep 22
22/tcp DENY IN Anywhere
⚠️ Puerto 22 bloqueado - SSH ya no es accesible
⚠️ Precaución:
Si bloqueas SSH (ufw deny ssh) mientras estás conectado remotamente al servidor, perderás acceso. Siempre permite SSH antes de activar UFW si trabajas de forma remota.

Prueba de Bloqueo - Desde el equipo Origen

Intento de conexión con firewall activo
┌─[hackwise@cliente]─[~]
└──╼ $ scp prueba.txt hackwise@192.168.1.100:/home/hackwise/
ssh: connect to host 192.168.1.100 port 22: Connection timed out
lost connection
❌ ERROR: No se pudo establecer conexión - El firewall está bloqueando el puerto 22

Laboratorio Práctico

Ejercicios para realizar en tu entorno real:
1. Configura dos máquinas virtuales en la misma red (NAT Network o Bridge).
2. Sigue todos los pasos del tutorial documentando cada comando y su salida.
3. Verifica con ss -tuln que SSH escucha en el puerto 22.
4. Transfiere un archivo y captura la salida de ip address durante la transferencia.
5. Crea reglas adicionales en UFW (ej: permitir solo desde una IP específica).
6. Documenta qué sucede si intentas enviar un archivo con UFW deny ssh activo.

Preguntas de Reflexión

1. ¿Por qué es importante verificar la interfaz de red activa con ip address antes de iniciar la transferencia?
2. ¿Qué relación existe entre el estado de la interfaz (UP/DOWN) y la capacidad de transferir archivos?
3. ¿Cómo afecta una regla de firewall a la comunicación a nivel de capa de transporte (TCP/UDP)?
4. ¿Qué ventaja tiene SCP sobre FTP o HTTP para transferir archivos en entornos no seguros?

¡Has completado el tutorial!

Ahora sabes cómo transferir archivos de forma segura usando SCP, configurar el servicio SSH, monitorear la red con comandos como ip address y ss, y proteger tu sistema con UFW. La combinación de estas herramientas es fundamental en cualquier entorno de seguridad de la información.