Практический разбор · OpenSSH
OpenSSH legacy-алгоритмы: обновите старые SSH-связи
OpenSSH отключает слабые legacy-алгоритмы по умолчанию, но их можно временно включить для старого оборудования. Найдите такие исключения, замените ключи и алгоритмы, а временную совместимость ограничьте конкретным Host.
Кому нужно проверить
Администраторам Linux/Unix, сетевого оборудования и автоматизации SSH. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.
В чём риск
OpenSSH отключает известные слабые алгоритмы, включая diffie-hellman-group1-sha1 и ssh-dss, чтобы не использовать их без явного решения администратора. Добавление `+` к списку временно расширяет defaults, но широкое правило в глобальном ssh_config может включить слабый вариант для многих хостов.
Затронутые версии
Руководство относится к клиентам и серверам OpenSSH, которые используют старые KEX, host key, cipher, MAC или DSA-ключи. Конкретный набор доступных алгоритмов зависит от версии OpenSSH и сборки поставщика.
Исправленные версии
Универсальной исправленной версии нет. Обновите обе стороны соединения и замените слабые ключи/алгоритмы современными. Если временное включение необходимо, добавьте его только для конкретного legacy host и удалите после миграции.
Что сделать
- 1Составьте список SSH-клиентов, серверов и оборудования, где требуется legacy-совместимость. Получите фактические версии и конфигурацию, не публикуя имена внутренних хостов и ключи.
- 2Проверьте поддерживаемые алгоритмы через `ssh -Q` и фактический выбор для конкретного host через `ssh -G`. Не делайте вывод о negotiated algorithm только по наличию строки в конфиге.
- 3Обновите OpenSSH и прошивки старого оборудования, где это возможно. Замените DSA и другие слабые ключи на современные ключи, согласованные с политикой организации.
- 4Если временный доступ необходим, задайте исключение в `Host` конкретного хоста с минимальным legacy-алгоритмом и ограниченным сроком. Не добавляйте его в глобальный wildcard.
- 5Проверьте fingerprints, host key и способ аутентификации до изменения алгоритмов. Сначала тестируйте соединение в отдельном профиле, сохраняя рабочий административный канал.
- 6После миграции удалите исключение, перезапустите/перечитайте конфигурацию и проверьте, что соединение использует современный набор. Сохраните журнал изменений и план отката только до завершения миграции.
- 7Регулярно сканируйте клиентские и серверные конфиги на legacy-исключения и контролируйте поставляемые OpenSSH пакеты с учётом backport дистрибутива.
Примеры конфигурации и проверки
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 как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.