Все уязвимости

Практический разбор · OpenSSH

OpenSSH legacy-алгоритмы: обновите старые SSH-связи

OpenSSH отключает слабые legacy-алгоритмы по умолчанию, но их можно временно включить для старого оборудования. Найдите такие исключения, замените ключи и алгоритмы, а временную совместимость ограничьте конкретным Host.

Проверено 5 ноября 2026Практическое руководство без CVE и CVSS. Слабые алгоритмы расширяют криптографический риск и затрудняют безопасную поддержку; наличие legacy-настройки не означает, что каждый SSH-сеанс её использует.

Кому нужно проверить

Администраторам Linux/Unix, сетевого оборудования и автоматизации SSH. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.

В чём риск

OpenSSH отключает известные слабые алгоритмы, включая diffie-hellman-group1-sha1 и ssh-dss, чтобы не использовать их без явного решения администратора. Добавление `+` к списку временно расширяет defaults, но широкое правило в глобальном ssh_config может включить слабый вариант для многих хостов.

Затронутые версии

Руководство относится к клиентам и серверам OpenSSH, которые используют старые KEX, host key, cipher, MAC или DSA-ключи. Конкретный набор доступных алгоритмов зависит от версии OpenSSH и сборки поставщика.

Исправленные версии

Универсальной исправленной версии нет. Обновите обе стороны соединения и замените слабые ключи/алгоритмы современными. Если временное включение необходимо, добавьте его только для конкретного legacy host и удалите после миграции.

Что сделать

  1. 1Составьте список SSH-клиентов, серверов и оборудования, где требуется legacy-совместимость. Получите фактические версии и конфигурацию, не публикуя имена внутренних хостов и ключи.
  2. 2Проверьте поддерживаемые алгоритмы через `ssh -Q` и фактический выбор для конкретного host через `ssh -G`. Не делайте вывод о negotiated algorithm только по наличию строки в конфиге.
  3. 3Обновите OpenSSH и прошивки старого оборудования, где это возможно. Замените DSA и другие слабые ключи на современные ключи, согласованные с политикой организации.
  4. 4Если временный доступ необходим, задайте исключение в `Host` конкретного хоста с минимальным legacy-алгоритмом и ограниченным сроком. Не добавляйте его в глобальный wildcard.
  5. 5Проверьте fingerprints, host key и способ аутентификации до изменения алгоритмов. Сначала тестируйте соединение в отдельном профиле, сохраняя рабочий административный канал.
  6. 6После миграции удалите исключение, перезапустите/перечитайте конфигурацию и проверьте, что соединение использует современный набор. Сохраните журнал изменений и план отката только до завершения миграции.
  7. 7Регулярно сканируйте клиентские и серверные конфиги на legacy-исключения и контролируйте поставляемые OpenSSH пакеты с учётом backport дистрибутива.

Примеры конфигурации и проверки

Проверить доступные алгоритмы и итоговую конфигурацию (shell)
ssh -Q kex
ssh -Q key
ssh -G user@example.invalid | grep -E '^(kexalgorithms|hostkeyalgorithms|ciphers|macs) '

Read-only команды для собственного тестового host-профиля. `example.invalid` — зарезервированное имя, соединение не выполняется; `ssh -G` вычисляет конфигурацию без подключения. Не подставляйте реальные внутренние имена в общий отчёт. Список доступных алгоритмов не доказывает, какой алгоритм согласует сервер, а вывод может раскрывать локальную политику. Откат не нужен.

Как не подпустить ботов к сайту

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

Первоисточники

Снизьте шанс атаки до того, как бот дойдёт до сайта

Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.