Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #69, СЕНТЯБРЬ 2004 г.

SSH на лопатках

Степан Ильин aka Step

Xakep, номер #069, стр. 069-030-1


(step@real.xakep.ru)

Обзор SSH-клиентов

Долгое время протокол telnet являлся своего рода стандартом для регистрации и выполнения команд на удаленном сервере. И это неудивительно! Благодаря чрезвычайно качественной реализации обработки подключений по X11, а также гибкости и расширяемости, протокол быстро завоевал популярность. Однако при всей привлекательности об его повсеместном применении в нынешнее время не может быть и речи. Виной тому стала нулевая безопасность. Полное отсутствие проверок на целостность сессии и передача данных в полностью открытом виде являются непозволительной роскошью. Особенно сейчас, когда любой начинающий компьютерщик знает о существовании снифера, а в интернете осуществляются крупные денежные транзакции.

И что теперь?

Именно поэтому нет ничего удивительного в том, что пытливые умы планеты начали искать замену незащищенному telnet’у и его ближайшим братьям-соратникам (rcp, rlogin, rsh). Понятно, что помимо функциональности и практичности эта замена должна была отвечать самым жестким требованиям по безопасности. Думали долго. В итоге этой заменой стал набор утилит SSH, который как ничто иное изящно обеспечивал конфиденциальность передаваемых данных даже по незащищенным каналам связи. В нем, наконец-таки, была реализована криптографическая аутентификация «на лету» и полноценное шифрование удаленных соединений.

Все бы было замечательно, если бы не одно «но». После появления второй версии протокола разрабатывающая его компания «SSH Communications Security Oy» объявила о переводе проекта на коммерческие рельсы. Использование нового защищенного командного интерпретатора без покупки лицензии стало возможным исключительно в образовательных целях или для персонального использования. Разумеется, это не могло понравиться тем, кто занимался активным внедрением продвинутого во всех отношениях протокола в новейшие операционные системы. Прежде всего, в системы open source. Итак, в 2000 году ребята из команды OpenBSD выпустили свою собственную реализацию SSH – OpenSSH. И это было отнюдь не уродливое подобие оригинального Secure Shell. Нет! OpenSSH не только не проигрывал, но и во многом составлял серьезную конкуренцию своему прародителю. Главными козырями бесплатной разработки являлись:

- способность производить аутентификацию пользователей с помощью алгоритмов RSA и DSA, основывающихся на применении двух криптографических ключей (приватного и публичного);

- поддержка специальных алгоритмов шифрования (DES, 3DES, Blowfish для первой версии протокола и AES-128, AES-192, AES-256, Blowfish, CAST-128 для второй);

- защита от IP-, DNS- и других видов спуфинга;

- обеспечение контроля целостности сеанса связи с помощью CRC32 в протоколе SSH1 и HMAC-SHA1/HMAC-MD5/HMAC-RIPEMD в SSH2;

- возможность создания зашифрованных туннелей с использованием технологии «TCP-IP forwarding»;

- автоматическая компрессия передаваемых данных, в том числе и сеансов по протоколу X11.

Разумеется, эта интерпретация коммерческого SSH не могла остаться незамеченной. И не осталась! Самое достоверное доказательство тому – ее повсеместное использование. OpenSSH, за редким исключением, установлена практически на всех *nix-системах. И вероятнее всего, работать ты будешь именно с ней. Для этого, правда, придется определиться с выбором SSH-клиента. Но это не беда – помогу, чем смогу.

Содержание  Вперед на стр. 069-030-2