Поиск по сайту:

Чем SSH отличается от Telnet?


Резюме: TELNET не использует шифрование, поэтому все передается открытым текстом. SSH зашифрован, поэтому он приватный и безопасный. Вот почему SSH следует использовать вместо TELNET.

И SSH, и TELNET позволяют подключаться к удаленным сетевым компьютерам и использовать их так, как будто вы сидите перед ними. Так в чем же разница между этими двумя почтенными протоколами и действительно ли всегда есть преимущество использования SSH перед TELNET?

TELNET и SSH: история происхождения

Голь на выдумки хитра. Системным администраторам нужен был способ доступа и управления компьютерами, которые физически находились в другом месте. Если администратору было непрактично или неудобно располагаться перед компьютером, ему требовался способ доступа к удаленному компьютеру, который позволял бы ему вводить команды так же, как если бы они вводили их на этом компьютере.

TELNET, сокращение от teletype over сетевойпротокол, был разработан в 1969 году как решение этой проблемы. Пока удаленный компьютер был доступен по сети, он позволял администратору или любому другому уполномоченному лицу подключаться к нему и использовать его, как если бы они физически нажимали клавиши удаленной клавиатуры.

SSH был создан намного позже — в 1995 году — как прямой ответ на Telnet и другие подобные решения. На этот раз необходимостью была безопасность. TELNET, rlogin, FTP и другие протоколы той эпохи были разработаны без какого-либо учета или предполагаемой необходимости безопасности.

SSH расшифровывается как ssecure shell, поэтому вы можете видеть, что безопасность была руководящим принципом с самого начала. В настоящее время SSH почти полностью заменил TELNET.

TELNET — кошмар безопасности открытого текста

Большая проблема с TELNET заключается в том, что он использует открытый текст. Он не шифрует свой трафик, включая имена пользователей и пароли. Все, что он передает по сети, может быть с легкостью перехвачено путем перехвата пакетов и прочитано. Это угроза безопасности даже в локальной сети, если только вы не единственный пользователь. Любой пользователь может перехватить трафик TELNET и получить учетные данные для входа, на которые он не имеет права.

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

Хотя TELNET заслуживает своего места в списке важных программ, которые в совокупности помогли нам достичь того, что мы имеем сегодня, это не то, что нам следует использовать в современном мире.

Чем SSH отличается от TELNET?

На первый взгляд, TELNET и SSH — это два решения одной и той же проблемы. Оба они позволяют получить доступ к окну терминала на удаленном компьютере и вводить в него команды. Но поскольку SSH был разработан намного позже, чем TELNET, проблема была лучше понята, и решение было лучше спроектировано.

TELNET был разработан с учетом частных сетей, а SSH был разработан для работы с общедоступными сетями, а также для обеспечения конфиденциальности и безопасности при передаче данных и удаленных подключениях.

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

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

На самом деле SSH можно использовать для аутентификации в различных службах, а не только на удаленных компьютерах, на которых запущен SSH-сервер. Например, вы можете получить доступ к репозиториям Git, размещенным на GitHub, GitLab и BitBucket, используя SSH вместо паролей.

Еще одно преимущество использования SSH по сравнению с TELNET заключается в том, что SSH может выполнять обратное туннелирование SSH. Это требует, чтобы сервер установил соединение с клиентским компьютером. Пока локальный пользователь не захочет установить соединение с сервером, соединение игнорируется.

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

Единственная выгода для TELNET заключается в том, что он использует меньшую полосу пропускания. Но это не 1969 год, когда пропускной способности было мало, и SSH тоже не особо требователен к пропускной способности.

У SSH тоже были свои проблемы

Хотя SSH превосходит TELNET, когда дело доходит до безопасности, мы должны помнить, что это все еще программное обеспечение, а в программном обеспечении могут быть ошибки. Эти ошибки могут привести к уязвимостям, которыми могут воспользоваться киберпреступники. Кроме того, стандарты и алгоритмы шифрования со временем меняются и заменяются. Как и все программное обеспечение, основанное на шифровании, с возрастом более старые версии SSH могут стать менее безопасными. Вот почему важно убедиться, что вы используете последнюю версию SSH.

Версия SSH, используемая на большинстве компьютеров Linux, — это OpenSSH, реализация SSH, основанная на наборе инструментов и библиотеках OpenSSL. В 2012 году в библиотеке OpenSSL случайно появилась ошибка, которая позволяла злоумышленнику запросить ответ от сервера SSL и указать, сколько данных должно содержаться в ответе.

Они могли запросить ответ размером, скажем, 64 КБ, тогда как фактический ответ потребовал бы не более 64 байтов. Первая последовательность байтов в этих данных будет подлинным ожидаемым ответом, за которым следует то, что оказалось в памяти, недавно использованной OpenSSL. То, что содержалось в этих данных, было случайностью, но оно могло содержать конфиденциальную информацию, такую как файлы cookie сеанса и пароли, или другую информацию, которая позволила злоумышленнику, например, получить закрытые ключи.

После обнаружения в 2014 году уязвимость стала известна как Heartbleed. Это было быстро исправлено в программе. Однако на этом этапе уязвимость не исчезает. Уязвимость полностью устраняется только тогда, когда на всех компьютерах, на которых работает уязвимое программное обеспечение, установлена его исправленная версия. Другими словами, когда на компьютеры были установлены исправления. Поскольку многие администраторы реагировали медленно, использование исправленного программного обеспечения было медленным.

Также беспокоят два года между 2012 годом, когда ошибка была обнаружена, и 2014 годом, когда она была обнаружена и устранена. В течение этих двух лет каждый SSH-сервер с уязвимой версией OpenSSL подвергался риску.

Честно говоря, это произошло почти десять лет назад, и с тех пор было много выпусков, улучшений, исправлений ошибок и обзоров кода.

Должны ли вы использовать SSH или TELNET?

Трудно придумать причину, по которой вам нужно использовать TELNET сегодня. Это не то же самое, что сказать, есть ли сценарий, в котором безопасно использовать TELNET. В автономной сети, которая не подключена к внешнему миру, и вы уверены, что никто не будет прослушивать ваш трафик, вы можете использовать TELNET. Но нет причин. Компромисс безопасности не может быть оправдан.

SSH более безопасен и гибок — в этом преимущество использования SSH по сравнению с TELNET. Реализация OpenSSH бесплатна для любого использования, включая коммерческое, и доступна для всех популярных операционных систем.