Mastodon Mastodon Mastodon Mastodon

Протокол SSH [SSH]

Обновлено: · CyberSecureFox Editorial Team

SSH (Secure Shell) — криптографический сетевой протокол для безопасного удалённого входа, выполнения команд и передачи файлов через недоверенную сеть.

Как работает SSH

Финский исследователь Тату Юлёнен создал SSH в 1995 году после атаки с перехватом паролей в сети своего университета. Протокол заменил небезопасные Telnet и rlogin, которые передавали пароли открытым текстом. Текущая версия SSH-2 описана в RFC 4251–4254, а самая распространённая реализация — OpenSSH, которую проект OpenBSD развивает с 1999 года. SSH-серверы обычно слушают TCP-порт 22.

  • Клиент проверяет ключ хоста сервера, и стороны согласуют сеансовые ключи через обмен ключами.
  • Пользователь проходит аутентификацию паролем, парой ключей на основе криптографии с открытым ключом (например, Ed25519) или SSH-сертификатами.
  • Зашифрованный канал переносит сеансы командной оболочки, передачу файлов (SFTP, SCP) и туннели с переадресацией портов.

Почему SSH важен для безопасности

SSH — стандартный способ администрирования Linux-серверов, сетевых устройств и облачных инстансов, поэтому он приоритетная цель:

  • Перебор паролей — ботнеты постоянно подбирают распространённые пароли к открытым SSH-серверам (см. брутфорс).
  • Кража ключей — незащищённые закрытые ключи и чрезмерно доверенные файлы authorized_keys позволяют осуществлять горизонтальное перемещение между серверами.
  • Уязвимости и бэкдоры — бэкдор в xz Utils (CVE-2024-3094) в 2024 году был нацелен на серверы OpenSSH в ряде дистрибутивов Linux через скомпрометированную библиотеку, а regreSSHion (CVE-2024-6387) позволял удалённо выполнять код в OpenSSH на Linux с glibc.

Рекомендации

  • Использовать аутентификацию по ключам с парольной фразой и отключить вход по паролю и под root.
  • Не открывать SSH напрямую в интернет: использовать VPN или bastion-хост и списки разрешённых адресов.
  • Ограничивать частоту попыток входа инструментами вроде fail2ban и добавить MFA для критичных хостов.
  • Своевременно обновлять OpenSSH и регулярно пересматривать авторизованные ключи.
Синонимы:
secure shell, ssh-протокол