ДЛИННЫЕ РУКИ ПРАВИЛЬНОЙ ОСИ Vitls (vitls@chat.ru) Спецвыпуск Xakep, номер #032, стр. 032-068-2 Также хочу сказать, что уже пару десятков лет telnet-серверы не используются. Причиной этого стала абсолютная незащищенность протокола перед атаками типа man-in-middle (третий в кровати). Грубо говоря, если тебя сниффают, прослушивают твой траффик, то все передаваемые данные доступны злоумышленнику. Тем не менее telnet можно использовать для имитации клиентской программы при подключении к удаленному сетевому сервису. На скрине показано использование telnet-клиента для имитации работы почтового клиента. ОТКУДА ВЗЯЛСЯ SSH? Недостатки в безопасности можно обойти, если шифровать траффик между сервером и клиентом. Не мы одни такие умные, и спецификации безопасного шелла (secure shell) под названием ssh были опубликованы в соответствующем документе rfc (http://www.free.lp.se/fish/rfc.txt). В настоящий момент широко известны две реализации протокола. Одна из них делается коммерческим предприятием SSH Inc.(http://www.ssh.com) и закрыта, хотя программа бесплатна для некоммерческого использования. Вторая реализация поддерживается проектом OpenSSH (http://www.openssh.org), исходные тексты которого открыты и лицензионно свободны. Обе реализации совместимы друг с другом. Клиент из пакета проекта OpenSSH вполне прекрасно работает с сервером из поставки компании SSH Inc. Протокол существует в двух версиях, несовместимых друг с другом. Это означает, что клиент версии ssh1 не будет работать с сервером ssh2 и наоборот. Это связано с использованием разных алгоритмов шифрования траффика и изменениями в процедуре установления сессии. В версии ssh1 были обнаружены недостатки как в алгоритмах шифрования, так и в программах. Знаменитый эксплоит SSHNuke против ssh1 был использован Тринити в фильме Матрица-2. Так как ssh1 практически нигде не применяется, дальнейшее мое повествование будет касаться программ версии ssh2. Свободная и коммерческая реализации ssh2 содержат практически одинаковый набор программ. Приведу некоторый список: sshd - серверная часть (демон), запускаемая на сервере. Прослушивает соединения от клиентских машин и при установлении связи производит аутентификацию и начинает обслуживание клиента. ssh - программа клиент, используемая для входа на удаленную машину или для выполнения команд на другой машине. scp - секретное копирование файлов с одной машины на другую. ssh-keygen - используется для создания RSA ключей машины и пользователя (host keys and user authentication keys). ssh-agent - программа автоматизации аутентификации. Она может быть использована для хранения в памяти ключей для аутентификации. ssh-add - используется для регистрации новых ключей с агентом. sftp - защищенный клиент ftp. Серверная часть обеспечивается демоном sshd. |