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

Опубликовано: 2023-03-15
Крупный план экрана компьютера с видимыми параметрами конфигурации PuTTY.
Джордан Глор / How-To Geek
TELNET не имеет никакого шифрования, поэтому все передается в виде открытого текста. SSH зашифрован, поэтому он приватный и безопасный. Вот почему SSH следует использовать вместо TELNET.

И 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 вместо паролей.

Должны ли вы использовать HTTPS или SSH для Git?
СВЯЗАННЫЕ : Использовать HTTPS или SSH для Git?

Еще одно преимущество использования 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