Выпуск OpenSSH 7.0

Увидел свет релиз OpenSSH 7.0, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP (временно предусмотрена поддержка устаревших протоколов SSH 1.3 и 1.5, но она требует активации на этапе компиляции). В новой версии прекращена поддержка ряда возможностей, что может негативно отразиться на совместимости с существующими конфигурациями.

Изменения в OpenSSH 7.0:

  • Поддержка первой версии протокола SSH отключена по умолчанию. Для возврата поддержки SSH-1.x требуется перекомпиляция с явным включением SSH-1. Протокол SSH-1 отмечен как устаревший, небезопасный и не рекомендуемый для использования. Кроме того, работа OpenSSH без OpenSSL возможна только при использовании протокола SSH-2, так как встроенные алгоритмы (curve25519, aes-ctr, chacha20+poly1305 и ed25519) неприменимы к SSH-1. Отключение SSH-1 по умолчанию на уровне сборки упростит распространение в дистрибутивах самодостаточных в плане методов шифрования конфигураций OpenSSH, собранных без привязки к OpenSSL.
  • По умолчанию значение директивы конфигурации PermitRootLogin изменено с «yes» на «prohibit-password», т.е. удалённый вход под пользователем root с парольной и интерактивной аутентификацией теперь запрещён. При указании значений without-password или prohibit-password допускается только аутентификация по ключам или через GSSAPI;
  • Отключена по умолчанию поддержка обмена 1024-битными ключами diffie-hellman-group1-sha1;
  • Отключена по умолчанию поддержка ключей пользователя и хоста ssh-dss и ssh-dss-cert-*;
  • Удалён код для поддержки формата сертификатов v00;
  • В настройки клиента (ssh_config) добавлена опция PubkeyAcceptedKeyTypes, дающая возможность управлять допустимыми для аутентификации типами открытых ключей;
  • В настройки сервера (sshd_config) добавлена опция HostKeyAlgorithms, позволяющая задать доступные для аутентификации хоста типы открытых ключей;
  • В ssh и sshd в директивах Ciphers, MACs, KexAlgorithms, HostKeyAlgorithms, PubkeyAcceptedKeyTypes и HostbasedKeyTypes теперь можно дополнить используемый по умолчанию набор алгоритмов, а не заменить весь список. Опции, перечисленные с префиксом »+» теперь прибавляются к списку по умолчанию, например, «HostKeyAlgorithms=+ssh-dss»;
  • В sshd_config в директиве PermitRootLogin реализована поддержка аргумента 'prohibit-password', который является синонимом 'without- password', но исключает неоднозначное трактование.
  • Внесено несколько изменений, связанных с безопасностью:
    • Добавлена защита от метода совершения BruteForce-атак с использованием большого числа интерактивных устройств (KbdInteractiveDevices).
    • Исправлена проблема с установкой на TTY прав записи для всех пользователей, что позволяло локальным атакующим отправлять произвольные сообщения (в том числе с escape-последовательностями) на консоли других пользователей. Проблема проявлялась в OpenSSH 6.8 и 6.9.
    • В переносимой версии sshd устранены недоработки в механизме разделения привилегий, связанные с поддержкой PAM. Атакующий, имеющий аккаунт в системе и получивший контроль над процессом на стадии до начала аутентификации (например, при выявлении какой-то новой уязвимости) сможет войти под другим пользователем;
    • В переносимой версии sshd устранена ошибка, вызванная освобождением ещё используемого блока памяти в коде, связанном с поддержкой PAM. Ошибка может быть эксплуатирована атакующим, которому удалось получивший контроль над процессом на стадии до начала аутентификации.

В следующем выпуске (OpenSSH 7.1) планируется запретить использование любых RSA-ключей, размером менее 1024 бит, по умолчанию отключить алгоритмы HMAC на основе MD5, шифры blowfish-cbc, cast128-cbc, все варианты arcfour и алиасы rijndael-cbc для AES.

© OpenNet