ADG Оставить заявку
Блог Информационная безопасность 4 мин чтения

Поймали пароль в дампе - и за вечер перешли на SSH

Дамп трафика с общего свича показал пароль администратора открытым текстом: telnet не шифрует ничего. За один вечер перевели весь парк на OpenSSH и закрыли telnet навсегда.

Контекст момента

OpenSSH вытесняет telnet в Linux-среде

История началась не с взлома и не с инцидента в привычном смысле. Просто один из наших инженеров решил разобраться, почему на свиче иногда тормозит трафик, поставил на ноутбук tcpdump и снял дамп на несколько минут. Разбираться с тормозами он разобрался, но заодно в том же дампе совершенно открытым текстом лежал логин и пароль администратора одного из серверов - человек заходил по telnet прямо через тот же сегмент.

Пароль был виден буква за буквой. Telnet не шифрует вообще ничего: ни логин, ни пароль, ни всё, что вы набираете после входа. Всё идёт в открытом виде, и любой, кто сидит в том же широковещательном домене и умеет запустить сниффер, видит полную сессию. Хаб или дешёвый неуправляемый свич - без разницы, трафик всё равно летит ко всем портам.

Мы показали это клиенту. Реакция была предсказуемой: «а что, так можно было?» Да, именно так и работает telnet с 1969 года - протокол проектировался для доверенных сетей, где все свои. Офисный свич таковой не является.

Что решили делать. Переходить на SSH - это было очевидно. OpenSSH к тому моменту уже стоял на большинстве наших Linux-машин, просто не использовался для удалённого управления: по привычке продолжали ходить telnet-ом, потому что «так всегда было». Задача на вечер - включить SSH везде, убедиться что работает, выключить telnet.

Прошлись по всем серверам. Схема была одинаковой на каждом:

  • Проверить, запущен ли sshd - ps aux | grep sshd. На большинстве машин демон уже стоял, просто не был в автозапуске.
  • Проверить /etc/ssh/sshd_config - убедиться что порт 22 слушает, root login пока разрешили чтобы не отрезать себя в процессе перехода.
  • Добавить sshd в автозапуск через chkconfig или вручную в rc.local - зависело от дистрибутива.
  • Попробовать зайти по SSH с другой машины - прежде чем трогать telnet.
  • Только после проверки убрать telnet из inetd.conf и перезапустить inetd.

Последовательность важна. Если сначала выключить telnet, а потом обнаружить что SSH не работает - останешься без удалённого доступа к машине и придётся ехать к железу физически. Стойки у клиента стоят не в соседней комнате, так что спешки с отключением telnet лучше избегать.

На паре машин выяснились мелкие неприятности. На одной не было пакета openssh-server - поставили. На другой в sshd_config был прописан конкретный IP для ListenAddress, который уже не актуален после смены адресации - поправили. В целом прошло без сюрпризов.

Отдельный вопрос - Windows-машины. RDP там и так шифрует сессию, это не telnet. Но некоторые администраторы иногда ставили telnet-сервер на Windows для скриптовых задач - это тоже убрали. Для скриптовой автоматизации на Windows тогда альтернатив было меньше, но хотя бы не telnet в открытую сеть.

Что поменяли в привычках. Клиент попросил объяснить, что ещё может «лежать в открытом виде» в сети. Объяснили: FTP - пароли тоже в открытом тексте. POP3 без SSL - логин и пароль почты тоже виден. HTTP - весь веб-трафик. Это не значит что нужно сразу всё переделать, но понимать что твой офисный свич - не защищённая среда, полезно.

Пароль администратора, который попал в дамп, сменили. Это само собой.

По итогу вечера все Linux-серверы у клиента ходят по SSH, telnet выключен в inetd, и дополнительный сниффинг трафика ничего интересного не показывает - только зашифрованные сессии. Заняло часа три с проверками. Могло занять дольше, если бы не нормальная документация по сети - без понимания где какие машины стоят, такой переход превращается в квест.

Иногда самое полезное, что можно сделать для безопасности - это просто запустить сниффер и посмотреть, что летит по своей же сети. Результат бывает неожиданным.

Контакт

Нужна такая же инженерная работа?

Опишите задачу и контекст. Ответим в течение рабочего дня, при необходимости подпишем NDA.