OpenSSH 10.1: все новое в области безопасности, сетей и настроек

  • Предупреждения и поддержка постквантовых алгоритмов с WarnWeakCrypto.
  • Обзор QoS: DSCP по умолчанию, EF для интерактивного трафика и прекращение поддержки ToS.
  • Усиление безопасности: сокеты агентов в ~/.ssh/agent и входные фильтры.
  • Практические улучшения: SIGINFO, RefuseConnection, PKCS#11 Ed25519 и исправления ключевых ошибок.

OpenSSH 10.1

Помимо метки версии, OpenSSH 10.1 объединяет путь, начатый в серии 10: переход на постквантовую криптографию, модернизация QoS с помощью DSCP и усиление защиты исторически уязвимых областей (агентов, ключей, реестров и анализа параметров). Ниже вы найдете тщательный обзор всех новых функций (с контекстом, где это добавляет ценность), а также практические рекомендации по их внедрению без сюрпризов.

Ниже приведен список с Что нового в этой версии?, также доступно в официальные примечания.

Основные моменты и контекст выпуска

Официальный релиз OpenSSH 10.1 (06.10.2025) выделяет три оси: Превентивная защита от квантовой криптографии, сетей DSCP и очистки входных данных. Он также связывает конкретные изменения с высоким эксплуатационным воздействием: от маршрутизации сокетов агентов до новые диагностические признаки.

Ключевое напоминание о проекте: В будущей версии журналы SSHFP на основе SHA‑1 будут игнорироваться.В то время как ssh-keygen -r теперь по умолчанию генерирует отпечатки SSHFP только с SHA‑256, закрытие двери для слабых хешей для DNSSEC и проверки ключа хоста.

Предупреждение о не-постквантовой криптографии и новая опция WarnWeakCrypto

OpenSSH 10.1 выводит предупреждение, когда соединение согласует обмен ключами, который не устойчив к постквантовым атакамЦель — сосредоточиться на риске «хранить сейчас, расшифровывать позже» и ускорить переход в чувствительных средах.

Это поведение контролируется с помощью WarnWeakCryptossh_config), который включен по умолчанию. Если вы проводите постепенную миграцию или обслуживаете старые хосты, Вы можете выборочно отключить предупреждение. С блоками Match. Например:

Соответствие хосту unsafe.example.com WarnWeakCrypto нет

Криптография и современное состояние: PQC, гибриды и SSHFP

В версии 10.0 клиент перешел на использование по умолчанию mlkem768x25519‑sha256, гибридный постквантовый алгоритм, который сочетает в себе МЛ-КЭМ (KEM NIST FIPS 203) с X25519. Эта гибридная стратегия гарантирует, что даже если в PQ произойдет криптоаналитический прорыв, вам не будет хуже, чем при классическом ECDH поскольку канал сохраняет силу X25519.

В версии 10.1, в дополнение к предупреждению, описанному выше, переход усилен: OpenSSH в будущем продолжит игнорировать SSHFP с SHA‑1.; инструмент ssh-keygen SSHFP уже выдаётся исключительно с SHA-256. Рекомендуемые действия: восстановить и опубликовать отпечатки SSHFP в SHA‑256 для ваших хозяев.

Часто задаваемые вопросы: Зачем настаивать сейчас, если квантовые компьютеры пока не могут взломать SSH? Потому что злоумышленники могут перехватить данные сегодня и расшифровать завтра. Использование постквантового KEX уже смягчает этот вектор. И если вас беспокоит молодость алгоритмов PQ, помните, что гибридная модальность сохраняет классический уровень безопасности в качестве основы.

Модернизация сети: DSCP/IPQoS и приоритезация трафика

В этом выпуске реализована глубокая переработка QoS. Как на клиенте, так и на сервере, Интерактивный трафик по умолчанию относится к классу EF (ускоренная пересылка), что помогает сократить задержки в сетях Wi-Fi и перегруженных медиа. Неинтерактивный трафик переключается на использование системная метка DSCP по умолчанию, без повышения приоритета.

На практике оба варианта ssh(1) и sshd(8) меняются динамически марка, используемая в соответствии с типом присутствующих каналов: если одно и то же соединение объединяет оболочку и sftp, неинтерактивная фаза передачи Будет использовать неинтерактивное значение во время операции и возвращаться в EF при необходимости. Это управляется клавишей IPQoS en ssh_config y sshd_config.

Кроме того, Поддержка старых условий обслуживания IPv4 прекращается. в опции IPQoS (lowdelay, throughput, reliability перестают действовать). Если вы все еще их используете, переходит на номенклатуру DSCP (например., ef, cs0, af11И т.д.).

Усиление защиты ввода: пользователи, URI и расширения

В разделе безопасности версия 10.1 исправляет тонкий случай, когда, если вы создавали командные строки с внешними данными и в то же время использовали ProxyCommand с расширениями %r/%u, злоумышленник может незаметно использовать выражения оболочки. Чтобы снизить риск, ssh(1) теперь запрещает использование управляющих символов в CLI-пропущенных или расширенных пользователях., а также блокирует нулевой символ в URI ssh://.

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

Живые сигналы и информация: SIGINFO и видимость

Еще один практический совет по отладке: ssh(1) и sshd(8) получают обработчики SIGINFO которые регистрируют состояние активных каналов и сеансов. В производстве это облегчает диагностику потока, мультиплексирование, пересылку и X11 без необходимости подключать отладчик или инвазивно увеличивать детализацию.

В том же ключе прозрачности, когда аутентификация сертификата не удаётся, sshd теперь регистрирует достаточно информации для идентификации сертификата (а также причина отказа). Если вы работаете с PKI и сертификатами пользователя/хоста, это улучшение значительно сокращает время разрешения.

ssh-agent и ключи: сокеты, очистка и PKCS#11

Для предотвращения перекрестного доступа в средах с ограниченным монтажом /tmp, сокеты агента (и те, которые пересылаются sshd) Я знаю переместить из /tmp в ~/.ssh/agent. Таким образом, процесс с ограниченными правами доступа /tmp больше не наследует случайно от агента возможность подписывать с помощью своих ключей.

Это изменение имеет еще один вывод: раньше ОС могла очищать устаревшие сокеты, теперь ssh‑agent имеет собственную очистку из старых сокетов. Кроме того, агент добавляет новые флаги: -U y -u для контроля чистоты при запуске, -uu игнорировать имя хоста при очистке и -T чтобы заставить историческое место в /tmp если вам это действительно нужно.

В ключевой плоскости клиент и агент Теперь поддерживаются ED25519, размещенные на токенах PKCS#11.Если вы полагаетесь на HSM или криптографические ключи, вы получаете гибкость, не жертвуя надежностью.

ssh‑add и сертификаты: истечение срока действия самоочистки

Когда вы добавляете сертификаты в агент, Срок его действия теперь ограничен льготным периодом в 5 минут.Идея проста: разрешить завершение транзакций в очереди, а затем, автоматически удалить сертификат агентаЕсли ваш поток требует полного контроля, ssh‑add -N отключите это поведение.

RefuseConnection: отключение, контролируемое клиентом

Существуют сценарии, когда вам необходимо прервать соединение с самим клиентом, выдав ему четкое сообщение (например, операционные перенаправления или уведомления об устаревании). OpenSSH 10.1 добавляет Отказаться от подключения a ssh_config: если обнаружена ошибка при обработке горячего раздела, клиент завершает работу с ошибкой и отображает текст, который вы определили.

Качество кода и безопасность в реальном времени

Команда продолжает очищать кодовую базу. 10.1 списки исправлены утечки памяти, улучшения атомии при написании known_hosts с высокой посещаемостью и несколькими условия гонки разрешены в таких процессах, как MaxStartups или сеансы X11.

Заметка по очистке криптовалюты: поддержка XMSS удалена (экспериментально и никогда по умолчанию). Подготовка почвы для постквантовые схемы подписи более зрелые, которые появятся в будущих версиях.

Переносимость и экосистема: PAM, FreeBSD, macOS, Android…

Изменения в переносимости затрагивают многие направления: дополнительные проверки в средах PAM (например, обеспечение того, чтобы пользователь не изменился во время процесса), улучшения интеграции с FreeBSD (tun-переадресация и совместимость), MacOS (надежное обнаружение функций и заголовков) и Android (struct passwd с ненулевыми полями).

Заголовочные файлы совместимости также добавляются для платформ без определенных стандартных библиотек, что сокращает количество #ifdef Рассеяны. Наконец, они очищены. политики песочницы seccomp в Linux для охвата таких системных вызовов, как futex_time64 в 32-битной версии, и добавлена ​​поддержка AWS‑LC как альтернатива OpenSSL/LibreSSL.

QoS в действии: практические примеры и миграция IPQoS

Если вы использовали старые псевдонимы ToS (lowdelay, throughput...), теперь их будут игнорировать и вы увидите отладочное сообщение с предложением DSCP. Типичная миграция — это переход с IPQoS lowdelay a IPQoS ef для интерактивных сеансов; если вы также используете интенсивный SFTP, вы можете определить профили по совпадению en ssh_config/sshd_config для разделения движения.

Помните, что двигатель автоматически выбирает и обновляет Он делает отметку в реальном времени на основе открытых каналов, поэтому большую часть работы OpenSSH уже делает за вас.

Установка OpenSSH 10.1 на Linux (источник)

В то время как дистрибутивы интегрируют версию, вы можете скомпилировать из официального источника. Загрузите tarball с зеркал проекта, распакуйте и скомпилируйте:

tar -xvf openssh-10.1.tar.gz

Войдите в каталог и настроить префиксы и маршруты конфигурации Если нужно. Например:

cd openssh-10.1 ./configure --prefix=/opt --sysconfdir=/etc/ssh

Скомпилируйте и установите как обычно (в зависимости от прав, возможно с правами суперпользователя):

сделать

make install

Включите OpenSSH в Windows с помощью PowerShell

В современных средах Windows (Server 2019/Windows 10 1809+) Вы можете установить клиент и сервер OpenSSH в качестве системных компонентов.. Проверьте возможности и состояние:

Get-WindowsCapability-Online | Where-Object Name -like 'OpenSSH*'

Установка компонентов как вам нужно:

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Запустите и включите службу SSH-сервера.и проверьте входящее правило брандмауэра:

Start-Service sshd Set-Service -Name sshd -StartupType 'Automatic' Get-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -ErrorAction SilentlyContinue

Для подключения с другого хоста Windows или Linux используйте стандартный клиент: ssh dominio\usuario@servidor. При первом доступе, принимает отпечаток хоста и подтвердите свой пароль.

Оперативное руководство: диагностика и передовой опыт

Для сред с сертификатами пользователя/хоста, воспользоваться преимуществами улучшенного ведения журнала отказов в sshd для отладки CA и расширений. Если сеанс завис или вы подозреваете, что мультиплексирование не работает, запускает SIGINFO к процессу перечисления активных каналов без повышения уровня глобального журнала.

Если вы зависите от агентов, проверьте, где сейчас находятся розетки (~/.ssh/agent) А активировать автоматическую очистку в вашей модели развертывания. На общих или NFS-рабочих станциях рассмотрите возможность использования флага агента для установки хэшей имён хостов в пути при необходимости.

Наиболее важные исправления ошибок

В 10.1 они решены незначительные регрессии в X11 в сочетании с уменьшением частоты сердечных сокращений (ObscureKeystrokeTiming), случай Плохая бухгалтерия MaxStartups которые могли бы затопить слоты, и написание known_hosts теперь это сделано в атомных операциях чтобы избежать чередования строк с высоким уровнем параллелизма.

Другие исправления улучшают диагностика при загрузке ключей, обработка ограничений на размер конфигурации (от 256 КБ до 4 МБ), вывод аудита и экзотические локальные случаи в локальных пересылках и управляющих последовательностях. Кроме того, сообщения и вывод из ssh -G y sshd -T.

Рекомендуемый контрольный список миграции

Этот краткий список Он включает в себя задачи, которые предполагает сам проект, и то, что возникает в результате изменений:

  • Cripto: проверьте, что ваш KexAlgorithms позволяет гибридный PQ и генерирует новый SSHFP в SHA‑256 с ssh-keygen -r.
  • QoS: проверить IPQoS на клиент-сервере; перенести устаревший ToS на DSCP; использовать EF для интерактивных сеансов.
  • Агенты: адаптирует скрипты и переменные к сокетам под ~/.ssh/agent; значения автоматической очистки самим средством.
  • Большие конфигурации: Если вы генерируете массовые конфигурации, лимит увеличивается до 4 МБ; применяйте это с умом и контролирует проверку.
  • Парсеры: избегайте создания командных строк из ненадежных входных данных; используйте config локальные переменные с литералами, когда в именах пользователей встречаются странные случаи.

Те, кто управляет смешанными автопарками, оценят это 10.1 надавите на безопасность там, где это наименее болезненно (парсеры, агенты, предупреждения) и в то же время улучшить повседневный опыт (Динамический QoS, SIGINFO, ведение журнала сертификатов). Если вы уже использовали версию 10.0, переход будет простым; если вы переходите с версии 9.x, уделите время настройке DSCP, пересоздайте SSHFP для SHA‑256 и включите гибридные KEX для защиты от квантовой угрозы без ущерба для производительности.

OpenSSH
Теме статьи:
OpenSSH 9.0 поставляется с SFTP вместо scp, улучшениями и многим другим