Что такое SSH?

При доступе к компьютеру по сети системным администраторам необходимо защищенное соединение, чтобы скрыться от вредоносных кибератак, таких как подбор паролей. Поскольку большие сети имеют недостатки в безопасности, для обеспечения необходимой защиты необходимы такие протоколы шифрования, как TLS/SSL, IPsec, S/MIME, PGP и SSH.

linux

Что означает SSH?

Аббревиатура SSH расшифровывается как "Secure Shell". Протокол SSH был разработан как безопасная альтернатива небезопасным протоколам удаленной оболочки. Он использует парадигму клиент-сервер, в которой клиенты и серверы обмениваются данными по защищенному каналу.

Протокол SSH имеет три уровня:

  • Транспортный уровень. Обеспечивает безопасную связь между сервером и клиентом, контролирует шифрование/дешифрование данных и защищает целостность соединения. Он также выполняет кэширование и сжатие данных.
  • Уровень аутентификации. Проводит процедуру аутентификации клиента.
  • Уровень соединения. Управляет каналами связи после аутентификации.

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

SSH был разработан для Unix-подобных операционных систем, таких как Linux, macOS и BSD. Однако он работает и в Windows.

Краткая история SSH

SSH был создан Тату Йлёненом в 1995 году. Протокол был разработан для предотвращения атак с подбором паролей в Технологическом университете Хельсинки. Первая версия протокола, сейчас называемая SSH-1, была разработана для замены небезопасных протоколов, таких как rsh, rlogin и Telnet. Он был выпущен как бесплатное программное обеспечение, но вскоре стал проприетарным.

После того как SSH-1 стал популярным инструментом во всем мире, Целевая группа инженеров Интернета (IETF) собрала группу, целью которой была разработка преемника протокола. В 2006 году SSH-2 стал новым стандартом, включающим такие усовершенствования безопасности, как обмен ключами Диффи-Хелмана.

Сообщество разработчиков открытого кода разработало OSSH, версию протокола SSH, основанную на версии 1.2.12 SSH-1. Разработчики OpenBSD позже форкнули OSSH и создали OpenSSH, самую популярную на сегодняшний день реализацию SSH в мире. Начиная с версии 7.6, OpenSSH поддерживает только SSH-2. Поддержка SSH-1 была прекращена.

Терминология SSH

В следующей таблице приведены некоторые термины, с которыми вы можете столкнуться при работе с SSH:

Термин Пояснение
~ or $HOME Домашний каталог пользователя в Unix или Unix-подобной системе.
Authentication layer Уровень, ответственный за проведение аутентификации SSH.
Client Клиентская программа для установления соединения с сервером.
Client machine Компьютер, на котором запущен клиент SSH.
Connection layer Уровень протокола SSH, управляющий каналами связи.
Local computer Компьютер, на котором запущен клиент SSH в месте нахождения.
Local user Пользователь, получающий доступ к SSH через локальный компьютер.
Private key Часть пары открытых и закрытых ключей для аутентификации пользователя, хранящаяся в секрете на локальном компьютере.
Public key Часть пары открытых и закрытых ключей для аутентификации пользователя копируется на SSH-сервер во время процесса аутентификации.
Remote computer Компьютер, на котором работает SSH-сервер, к которому подключаются SSH-клиенты.
Remote user Пользователь, получающий доступ к SSH через удаленный компьютер.
Server Программа сервера SSH для взаимодействия с клиентами SSH.
Server machine Компьютер, на котором работает SSH-сервер.
SCP Secure Copy - утилита CLI, использующая SSH для безопасной передачи файлов.
SFTP Secure File Transport Protocol - протокол, использующий SSH для безопасной передачи файлов по сети, не путать с FTPS, который использует TLS/SSL.
Transport layer Уровень протокола SSH, на котором проходит весь сеанс SSH.

Использование SSH

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

Благодаря простоте использования, надежности и многочисленным функциям, SSH может применяться в различных сценариях.

К таким сценариям относятся:

  • Подключение к удаленному узлу.
  • Резервное копирование, копирование и зеркалирование файлов с помощью SFTP.
  • Сопоставление порта клиента с портом сервера для обеспечения безопасности TCP/IP и других сетевых протоколов.
  • Перенаправление X Window System с сервера на клиентов.
  • Туннелирование конфиденциальных данных по защищенному каналу.
  • Использование виртуальной частной сети.

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

Как использовать SSH?

Подключение к серверу SSH осуществляется с помощью клиента SSH. Большинство операционных систем на базе Unix и Unix-подобных ОС поставляются с предустановленными демоном и клиентом. В этих системах клиент SSH доступен в терминале.

Чтобы подключиться к удаленному узлу с помощью терминала, пользователь вводит команду ssh, за которой следует имя пользователя и адрес сервера или имя хоста:

Если вы не укажете имя пользователя для SSH, соединение будет использовать текущего зарегистрированного пользователя.

Windows 10 предлагает клиент и сервер OpenSSH начиная с версии 1709. Более ранние версии Windows не включали SSH в качестве функции, поэтому для установления SSH-соединения использовались такие инструменты, как PuTTY. PuTTY - это клиент SSH с графическим интерфейсом для SSH и Telnet:

PuTTY

Другие популярные клиенты SSH для Windows:

  • Bitvise
  • WinSCP
  • KiTTY
  • Solar-PuTTY
  • SmarTTY

Насколько безопасен протокол SSH?

При использовании со стандартными мерами предосторожности протокол SSH считается очень безопасным. Однако человеческий фактор играет важную роль в обеспечении безопасности соединений SSH.

Атаки грубой силы на серверы SSH - распространенный сценарий. Злоумышленники пытаются подключиться к большому количеству SSH-серверов, используя общие имена пользователей и пароли. Когда они получают доступ к серверу, они используют повышение привилегий, чтобы получить доступ к учетной записи root.

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

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

Открытые порты SSH - еще одно потенциальное слабое место в системе безопасности. Некоторые вредоносные программы атакуют IoT-устройства с открытыми портами, используя их как черный ход для входа в локальную сеть.

Наконец, большое количество клиентов SSH на рынке означает, что безопасность протокола также зависит от безопасности сторонних приложений.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий