Виндовое SSH’частье

ShadOS

Хакер, номер #091, стр. 091-050-1

(shados@real.xakep.ru, www.ru24-team.net)

Тестируем SSH-серверы для Windows

Один знакомый недавно объявил: «SSH-сервер можно устанавливать только под никсами!». Мои возражения он в расчет не брал и с пеной у рта доказывал мне, что под виндой такие изыски в принципе невозможны. Спор есть спор. Пришлось, бедолаге, делом доказывать. Сервак завелся с первого раза и я, признаться, сам удивился, насколько хорошо все заработало.

Недра защищенного соединения

После недолгого изучения темы и серфинга инета, оказалось, что подходящего софта не так уж и мало. Каждая найденная мною программа могла похвастаться отменной реализацией протокола, а некоторые и вовсе предоставляли кучу дополнительных возможностей, тем самым заслужив место в сегодняшнем обзоре. Но прежде чем приступать к тестированию, предлагаю вкратце разобраться, что вообще представляет собой этот SSH. Без базового набора знаний ты рискуешь потеряться среди многочисленных опций и параметров сервера. Чтобы в дальнейшем исключить недопонимание, включай мозги и внимательно вникай в материал.

Все с пеленок знают, что протокол telnet ввиду отсутствия шифрования небезопасен. Однако необходимость подключения к командной строке удаленного компьютера встречается сплошь и рядом. Так вот SSH (Secure Shell)— это, по сути, защищенная версия telnet. Этот протокол, также предназначенный для удаленного администрирования, более защищен. Безопасность достигается за счет непрерывного шифрования трафика, жесткой аутентификации как пользователей, так и хостов, а также всевозможных проверок целостности данных. Остановимся на этом подробнее.

Всего существует три способа идентификации клиента: с помощью логина/пароля, по IP-адресу и по публичному ключу клиента. Приоритет при подключении к серверу выставлен следующим образом: сначала клиент пытается аутентифицироваться своим IP-адресом, затем публичным ключом и в последнюю очередь посредством интерактивного ввода пароля. После аутентификации на базе имеющихся у клиента и сервера двух пар ключей (каждая состоит из одного секретного и одного публичного ключа) генерируется ключ симметрического шифрования. Схема генерации такова, что злоумышленник не сможет расшифровать ключ, даже перехватив его. Зато все данные, которые в дальнейшем будут передаваться по защищенному каналу, зашифрованы именно этим ключом. Для криптования трафика обычно используется алгоритм AES, но администратор в любой момент сам может указать, какому алгоритму отдать предпочтение. Исправляя серьезные уязвимости первой версии протокола, SSH2 дополнительно использует средства для проверки целостности данных. В частности, вместе с данными посылаются контрольные суммы формата SHA или MD5, которые гарантированно исключают возможные подмены пакетов и вообще изменения трафика.

Помимо доступа к удаленной командной строке, SSH предоставляет ряд других возможностей. Первая — это туннелирование. После того как установлено SSH-соединение, можно безопасно роутить через туннель трафик одного или сразу нескольких приложений. Это не только позволяет обойти файрвол, но еще и гарантированно скроет данные от прослушивания. Не стоит забывать и о безопасной передаче файлов (Secure file transfer), реализуемой на базе протокола SFTP. Такая возможность будет очень кстати, если частенько требуется передавать документы особой важности. Теперь, когда ты получил общие сведения о протоколе, приступим к программной части вопроса. И откроет наш обзор всем известный OpenSSH.

Содержание  Вперед на стр. 091-050-2
ttfb: 3.0131340026855 ms