Чем SSH отличается от Telnet?
Опубликовано: 2023-03-15И SSH, и TELNET позволяют подключаться к удаленным сетевым компьютерам и использовать их так, как будто вы сидите перед ними. Так в чем же разница между этими двумя почтенными протоколами и действительно ли всегда есть преимущество использования SSH перед TELNET?
TELNET и SSH: история происхождения
Голь на выдумки хитра. Системным администраторам нужен был способ доступа и управления компьютерами, которые физически находились в другом месте. Если администратору было непрактично или неудобно располагаться перед компьютером, ему требовался способ доступа к удаленному компьютеру, который позволял бы ему вводить команды так же, как если бы они вводили их на этом компьютере.
TELNET, сокращенно от Teletype over Network Work Protocol, был разработан в 1969 году как ответ на эту проблему. Пока удаленный компьютер был доступен по сети, он позволял администратору или любому другому уполномоченному лицу подключаться к нему и использовать его, как если бы они физически нажимали клавиши удаленной клавиатуры.
SSH был создан гораздо позже — в 1995 году — как прямой ответ на Telnet и другие подобные решения. На этот раз необходимостью была безопасность. TELNET, rlogin, FTP и другие протоколы той эпохи разрабатывались без какого-либо учета или осознанной потребности в безопасности.
SSH означает безопасную оболочку , поэтому вы можете видеть, что безопасность была руководящим принципом с самого начала. В настоящее время 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-сервер
Должны ли вы использовать SSH или TELNET?
Трудно придумать причину, по которой вам нужно использовать TELNET сегодня. Это не то же самое, что сказать, есть ли сценарий, в котором безопасно использовать TELNET. В автономной сети, не подключенной к внешнему миру, и вы уверены, что никто не будет прослушивать ваш трафик, вы можете использовать TELNET. Но нет причин. Компромисс безопасности не может быть оправдан.
SSH более безопасен и гибок — в этом преимущество использования SSH по сравнению с TELNET. Реализация OpenSSH бесплатна для любого использования, включая коммерческое, и доступна для всех популярных операционных систем.
СВЯЗАННЫЕ С: Как подключиться к SSH-серверу из Windows, macOS или Linux