Sustitución de protocolos inseguros: Telnet frente a SSH, FTP frente a SFTP
Comprenda por qué los protocolos de texto sin cifrar, como Telnet, FTP y HTTP, exponen las credenciales, y cómo sus sustitutos cifrados (SSH, SFTP y HTTPS) resuelven estos problemas.
Sustitución de protocolos inseguros: Telnet frente a SSH, FTP frente a SFTP es una lección gratuita de Security+ Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Security+ Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Security+ Academy incluye 4 lecciones en total.
El problema de los protocolos de texto claro
Muchos protocolos fundamentales de Internet se diseñaron en las décadas de 1970 y 1980, cuando la seguridad no era una preocupación prioritaria. Los protocolos de texto claro transmiten todos los datos —incluidos nombres de usuario, contraseñas e información confidencial— en texto sin cifrar a través de la red. Cualquier dispositivo del mismo segmento de red, o cualquier sistema por el que atraviesen los paquetes, puede capturar y leer este tráfico con herramientas disponibles gratuitamente, como Wireshark. En entornos con switches de red (que normalmente aíslan el tráfico entre puertos), la suplantación de ARP puede redirigir el tráfico al sistema de un atacante, lo que hace peligrosos los protocolos de texto claro incluso en redes «internas».
# What an attacker sees on the wire with Telnet
# (captured via Wireshark or tcpdump)
tcpdump -i eth0 -A port 23
# Sample Telnet capture output:
..login: admin..
..password: S3cr3tPa$$...
..$ ls -la /etc/passwd..
# Every keystroke is visible in plaintext
# Credentials, commands, and file contents - all exposedTelnet frente a SSH
Telnet (puerto TCP 23) proporciona acceso remoto a la línea de comandos de los sistemas, pero transmite todo en texto sin cifrar. No cuenta con autenticación integrada más allá del nombre de usuario y la contraseña, que se envían sin cifrar. SSH (Secure Shell) (puerto TCP 22) sustituye Telnet por un canal cifrado y autenticado. SSH utiliza un intercambio de claves asimétricas para establecer una clave de sesión y, después, cifra todas las comunicaciones posteriores mediante cifrado simétrico. SSH también autentica el servidor (lo que evita la suplantación del servidor) y admite la autenticación mediante clave pública (sin contraseña, pero más segura que las contraseñas), además de la autenticación mediante contraseña.
# SSH connection (encrypted, server authenticated)
ssh admin@192.168.1.10
# SSH key-based authentication (no password)
ssh -i ~/.ssh/id_rsa admin@192.168.1.10
# Generate SSH key pair
ssh-keygen -t ed25519 -C 'admin@company.com'
# Copy public key to server
ssh-copy-id -i ~/.ssh/id_rsa.pub admin@192.168.1.10
# Disable Telnet on network devices (Cisco IOS)
no service telnet
line vty 0 4
transport input ssh
login localIntercambio de claves y autenticación de SSH
La seguridad de SSH depende de un proceso sólido de intercambio de claves. Al conectarse, el cliente verifica la clave de host del servidor comparándola con una copia almacenada localmente; esto evita la suplantación del servidor. Si la clave de host cambia inesperadamente, SSH avisa al usuario, lo que suele ser una señal de un ataque de intermediario. Después de verificar el servidor, la autenticación del cliente puede utilizar: contraseña (cifrada durante el tránsito, pero susceptible a ataques de fuerza bruta), clave pública (el cliente demuestra que posee la clave privada; es mucho más segura) o keyboard-interactive (admite MFA). Las organizaciones deben exigir la autenticación basada en claves y desactivar la autenticación mediante contraseña en los servicios SSH expuestos a Internet.
# Harden SSH server configuration
# /etc/ssh/sshd_config
Port 22
PermitRootLogin no
PasswordAuthentication no # Require key auth only
ChallengeResponseAuthentication no
MaxAuthTries 3
AllowUsers admin deploy
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
ClientAliveInterval 300 # Disconnect idle sessions
ClientAliveCountMax 0
# Restart SSH after changes
systemctl restart sshdFTP frente a SFTP y FTPS
FTP (File Transfer Protocol) (puertos TCP 20/21) transfiere archivos en texto sin cifrar: las credenciales, los comandos y los datos de los archivos quedan expuestos. FTP también utiliza un canal de datos independiente (en modo pasivo o activo), lo que complica las reglas del firewall. SFTP (SSH File Transfer Protocol) tuneliza la transferencia de archivos mediante SSH por el puerto 22; es completamente diferente de FTP y solo comparte con él un nombre similar. FTPS (FTP Secure) añade cifrado TLS al protocolo FTP original. Generalmente se prefiere SFTP porque utiliza un solo puerto y hereda la autenticación y el cifrado de SSH. FTP debe desactivarse en todos los sistemas de producción.
# SFTP usage (over SSH, single connection)
sftp admin@fileserver.company.com
sftp> put localfile.zip /uploads/
sftp> get /reports/monthly.pdf .
sftp> ls /uploads/
sftp> exit
# Automated SFTP transfer with key auth
sftp -i ~/.ssh/id_rsa admin@fileserver.company.com <<EOF
put /tmp/report.csv /incoming/
EOF
# Disable FTP on Linux (remove vsftpd)
apt purge vsftpd
# Verify no FTP listener:
ss -tlnp | grep ':21'HTTP frente a HTTPS
HTTP (puerto TCP 80) transmite contenido web, incluidos datos de formularios, cookies de sesión y tokens de autenticación, en texto sin cifrar. HTTPS (puerto TCP 443) encapsula HTTP en TLS y proporciona cifrado, autenticación del servidor e integridad de los datos. Las organizaciones deben exigir HTTPS en todas partes: redirigir todo el tráfico HTTP a HTTPS (redirección 301), implementar HSTS para impedir que los navegadores se conecten mediante HTTP y configurar las marcas de cookie secure y HttpOnly para evitar que los tokens de sesión sean robados mediante HTTP o JavaScript. Los navegadores modernos marcan los sitios HTTP como «No seguro»; HTTPS es ahora el requisito básico esperado para todos los servicios web.
# nginx: force HTTPS redirect
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
ssl_certificate /etc/ssl/example.crt;
ssl_certificate_key /etc/ssl/example.key;
add_header Strict-Transport-Security
'max-age=31536000; includeSubDomains; preload';
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options SAMEORIGIN;
}SNMP v1/v2 frente a SNMPv3
SNMP (Simple Network Management Protocol) administra dispositivos y servidores de red. SNMPv1 y v2c utilizan cadenas de comunidad (básicamente, contraseñas compartidas) que se envían en texto claro. Cadenas como «public» (lectura) y «private» (escritura) son valores predeterminados que los atacantes conocen. Un atacante que capture tráfico SNMP obtiene la cadena de comunidad y puede leer las configuraciones de los dispositivos o cambiar sus ajustes. SNMPv3 añade autenticación (HMAC-MD5 o HMAC-SHA) y cifrado (AES) con credenciales por usuario, lo que lo convierte en la única versión adecuada para entornos de producción. SNMPv1/v2c debe desactivarse.
# SNMPv3 configuration (Cisco IOS)
snmp-server group MYGROUP v3 priv
snmp-server user MONITORUSER MYGROUP v3 \
auth sha MyAuthP@ss priv aes 128 MyPrivP@ss
# SNMPv3 query from monitoring server
snmpwalk -v3 -l authPriv \
-u MONITORUSER \
-a SHA -A MyAuthP@ss \
-x AES -X MyPrivP@ss \
192.168.1.1 sysDescr
# Disable SNMPv1/v2c:
no snmp-server community public ro
no snmp-server community private rwLDAP frente a LDAPS
LDAP (Lightweight Directory Access Protocol) (puerto TCP 389) autentica y consulta servicios de directorio (Active Directory, OpenLDAP) en texto claro de forma predeterminada, lo que expone las credenciales y los datos del directorio. LDAPS (LDAP sobre SSL/TLS, puerto TCP 636) cifra la conexión mediante un certificado. StartTLS es una alternativa que actualiza una conexión LDAP existente a TLS mediante el mismo puerto 389. Tanto LDAPS como StartTLS proporcionan cifrado, pero LDAPS suele ser más sencillo y fiable. Las organizaciones deben configurar todas las aplicaciones que consumen LDAP para utilizar LDAPS y bloquear el LDAP en texto claro del puerto 389 en el firewall.
POP3/IMAP frente a la recuperación cifrada del correo electrónico
Los clientes de correo electrónico antiguos recuperan el correo mediante POP3 (puerto 110) e IMAP (puerto 143) en texto claro. Las alternativas cifradas son: POP3S (puerto 995, TLS) e IMAPS (puerto 993, TLS). Las plataformas de correo modernas (Exchange Online, Google Workspace) exigen TLS para todas las conexiones de los clientes y admiten autenticación basada en tokens OAuth 2.0 en lugar de contraseñas. Las organizaciones deben desactivar la autenticación básica en los protocolos de correo; exigir autenticación moderna (OAuth 2.0 + MFA) evita los ataques de credential stuffing que aprovechan los mecanismos de autenticación en texto claro de los protocolos de correo antiguos.
# Protocol port reference card
Protocol Insecure Port Secure Port Replacement
--------- ------------ ---------- -----------
Telnet 23 22 SSH
FTP 20/21 22 SFTP
HTTP 80 443 HTTPS
SMTP 25 587/465 SMTPS
POP3 110 995 POP3S
IMAP 143 993 IMAPS
LDAP 389 636 LDAPS
SNMP 161/162 161/162 SNMPv3
RDP 3389 3389 RDP+NLA+TLSSustitución de protocolos en la práctica
Sustituir protocolos inseguros requiere algo más que activar la versión segura: la versión insegura debe desactivarse activamente. Pasos: auditar el uso de los protocolos existentes (análisis de Nmap, registros del firewall), migrar las aplicaciones y configuraciones al protocolo seguro, probar exhaustivamente (las aplicaciones empresariales pueden dejar de funcionar) y, después, bloquear el protocolo inseguro en el firewall y en el host. Problemas habituales: las impresoras antiguas y los dispositivos integrados a menudo solo admiten FTP o SNMPv2; los sistemas industriales antiguos pueden depender de Telnet. En estos casos se requiere aislamiento de red o sustituir el dispositivo por otro del proveedor, en lugar de una simple actualización del protocolo.
# Audit for insecure protocol usage
# Nmap: find all Telnet listeners on network
nmap -p 23 10.0.0.0/24 --open -sV
# Find FTP listeners
nmap -p 21 10.0.0.0/24 --open
# Find HTTP (not HTTPS) web services
nmap -p 80 --open 10.0.0.0/24
# Check for SNMPv1/v2c community strings
nmap -sU -p 161 --script snmp-info 10.0.0.0/24
# Block Telnet at firewall after migration
iptables -A FORWARD -p tcp --dport 23 -j DROP
iptables -A INPUT -p tcp --dport 23 -j DROPSeguridad del protocolo de escritorio remoto
RDP (Remote Desktop Protocol) (puerto 3389) se utiliza ampliamente para la administración remota de Windows y es un objetivo importante de los ataques. Entre las configuraciones inseguras de RDP se incluyen exponer el puerto 3389 a Internet, utilizar autenticación basada únicamente en contraseña y desactivar NLA. Para reforzar RDP: active Network Level Authentication (NLA), que autentica antes de abrir la sesión completa (y bloquea las conexiones no autenticadas); exija TLS 1.2+ para todas las sesiones RDP; sitúe RDP detrás de una VPN o una puerta de enlace RDP en lugar de exponerlo a Internet; y aplique el bloqueo de cuentas para impedir ataques de fuerza bruta. Muchas campañas de ransomware obtienen el acceso inicial mediante RDP expuesto y mal protegido.
Retirada gradual de protocolos inseguros
Migrar de protocolos inseguros en entornos de producción requiere una planificación cuidadosa para evitar interrupciones del negocio. Un enfoque gradual: Fase 1 — Descubrimiento: ejecute análisis de Nmap y audite los registros del firewall para identificar todos los usos de protocolos de texto claro. Fase 2 — Activación de alternativas seguras: configure SSH, SFTP y HTTPS junto con los servicios inseguros existentes. Fase 3 — Migración de consumidores: actualice scripts, aplicaciones, herramientas de supervisión y flujos de trabajo de los usuarios para que utilicen el protocolo seguro. Fase 4 — Desactivación y bloqueo: desactive el servicio inseguro en cada host y bloquee el puerto en el firewall. Las pruebas en cada fase evitan interrupciones en producción.
# Phase 4: Disable and block Telnet permanently
# Disable Telnet service on Linux
systemctl stop telnet.socket
systemctl disable telnet.socket
# Block Telnet at iptables
iptables -A INPUT -p tcp --dport 23 -j DROP
iptables -A OUTPUT -p tcp --dport 23 -j DROP
# Save rules
iptables-save > /etc/iptables/rules.v4
# Block at network firewall (Cisco ASA)
access-list OUTSIDE_IN deny tcp any any eq 23
# Verify: should timeout / connection refused
nc -zv 192.168.1.10 23Comprobación rápida
Compruebe su comprensión de los conceptos de CompTIA Security+ (SY0-701) de esta lección.
Resumen de la lección
En esta lección ha aprendido que los protocolos de texto sin cifrar (Telnet, FTP, HTTP, SNMPv1/v2c, LDAP) exponen las credenciales y los datos a la interceptación de red y deben reemplazarse; los reemplazos seguros (SSH, SFTP, HTTPS, SNMPv3, LDAPS) utilizan cifrado TLS o SSH para proteger la misma funcionalidad; y reemplazar protocolos requiere deshabilitar la versión insegura tanto en el firewall como en los hosts después de auditar las dependencias heredadas. A continuación, exploraremos las versiones de TLS, las suites de cifrado y el secreto perfecto hacia adelante.
Preguntas frecuentes
¿La lección «Sustitución de protocolos inseguros: Telnet frente a SSH, FTP frente a SFTP» es gratis?
Sí — el texto completo de «Sustitución de protocolos inseguros: Telnet frente a SSH, FTP frente a SFTP» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Security+ Academy, actualiza a CoddyKit PRO. El curso de Security+ Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Sustitución de protocolos inseguros: Telnet frente a SSH, FTP frente a SFTP»?
Comprenda por qué los protocolos de texto sin cifrar, como Telnet, FTP y HTTP, exponen las credenciales, y cómo sus sustitutos cifrados (SSH, SFTP y HTTPS) resuelven estos problemas. Practicas Security+ Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Security+ Academy?
No se requiere experiencia previa. Security+ Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Sustitución de protocolos inseguros: Telnet frente a SSH, FTP frente a SFTP»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Security+ Academy?
Sí. Cada lección de Security+ Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Sustitución de protocolos inseguros: Telnet frente a SSH, FTP frente a SFTP
- Versiones de TLS, conjuntos de cifrado y secreto perfecto hacia adelante
- DNS seguro: DNSSEC y DNS sobre HTTPS (DoH)
- IPsec, protocolos VPN y seguridad del acceso remoto