Knowledge Base
Telnet открыт публично (порт 23) — абсолютно устаревший протокол
Telnet открыт публично — порт 23
Категория: Server Hardening · Риск: critical
Telnet открыт публично — порт 23
Почему Telnet — это катастрофа
Telnet (1969 год) передаёт **всё в открытом виде**: логин, пароль, каждую команду, каждый ответ. Нет ни шифрования, ни проверки подлинности сервера. SSH заменил Telnet в 1995 году.
Открытый Telnet в 2024+ году означает:
- Пароль перехватывается при первой же передаче по сети
- Популярный вектор для IoT-ботнетов (Mirai, Hajime) — они сканируют весь интернет на порт 23 с дефолтными логинами
- Браузерные атаки могут использовать Telnet как вектор SSRF
Кто обычно имеет открытый Telnet
- Роутеры, IP-камеры, NAS-устройства с Telnet по умолчанию
- Старое сетевое оборудование (Cisco IOS < 12.x, некоторые managed switches)
- Linux-серверы с пакетом `telnetd` из устаревших установок
Немедленное исправление
Linux
# Остановить и отключить telnetd
systemctl stop telnet.socket telnetd 2>/dev/null
systemctl disable telnet.socket telnetd 2>/dev/null
# Удалить пакет
apt remove telnetd telnet-server inetutils-telnetd 2>/dev/null
yum remove telnet-server 2>/dev/null
# Закрыть порт
ufw deny 23
Роутер / IoT-устройство
1. Войдите в веб-интерфейс управления
2. Services → Telnet → Disable
3. Включите SSH вместо Telnet (если поддерживается)
4. Обновите прошивку до последней версии
5. Измените дефолтный пароль admin/admin или admin/1234
Cisco IOS
! Отключить Telnet, разрешить только SSH
line vty 0 4
transport input ssh
login local
!
! Убедиться что SSH включён
crypto key generate rsa modulus 2048
ip ssh version 2
Замена на SSH
# Убедиться что SSH запущен
systemctl status ssh
# Базовая настройка /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no # только ключи
PubkeyAuthentication yes
AllowUsers youruser
Связанные проверки
- [SSH порт 22](/kb/server_hardening/public-ssh-port-22)
- [UFW файрвол](/kb/firewall/ufw-basic-server-firewall)