2015-03-18

OpenSSH 6.8

Доступен выпуск OpenSSH 6.8 - открытой реализации клиента и сервера для работы по протоколам SSH (1.3, 1.5 и 2.0) и SFTP. Из наиболее важных улучшений можно отметить возможность сборки без OpenSSL, проведение внутреннего рефакторинга, возможность автозамены ключей хоста на стороне клиента, встроенную реализацию списков отозванных сертификатов, изменение формата отпечатков ключей.

Основные улучшения:

  • Переработана значительная часть внутреннего кода с целью выноса базовых частей OpenSSH в отдельную библиотеку. Несмотря на то, что связанные с рефакторингом изменения не заметны пользователям, они позволили существенно улучшить тестируемость кода и оптимизировать внутреннюю структуру проекта; 
  • В ssh и sshd добавлена опция FingerprintHash, через которую можно управлять выбором алгоритма для создания fingerprint-отпечатков ключей. По умолчанию отпечатки теперь создаются с использованием хэша SHA256 и формата base64, вместо ранее применяемого шестнадцатеричного вывода MD5. Кроме того, строка с отпечатком теперь содержит явное указание алгоритма хэширования, например, "SHA256:mVPwvezndPv/ARoIadVY98vAC0g+P/5633yTC4d/wXE"; 
  • Экспериментальная поддержка автозамены ключей хоста. Реализовано специальное расширение протокола "hostkeys@openssh.com", позволяющее серверу после прохождения аутентификации информировать клиента о всех доступных ключах хоста.  Клиент может отразить эти ключи в своём файле ~/.ssh/known_hosts, что позволяет организовать обновление ключей хоста и упрощает смену ключей на сервере. На стороне клиента обновление ключей хоста можно разрешить воспользовавшись опцией UpdateHostkeys (по умолчанию значение "no").
    В качестве примера можно привести переход от ключей DSA, для работы с которыми требуется OpenSSL/LibreSSL, на интегрированную в OpenSSH реализацию цифровой подписи с открытым ключом Ed25519. При использовании новой функции, sshd отправит клиенту все имеющиеся на сервере открытые ключи узла. В свою очередь, клиент осуществит замену всех имеющихся ключей доверяемого узла на предоставленные таким образом новые ключи. Для инициирования замены ключей на сервере, необходимо в sshd_config одновременно указать как старые, так и новые ключи, добавив дополнительные секции HostKey; 
  • Переносимая версия OpenSSH избавлена от привязки к OpenSSL и теперь может быть собрана без OpenSSL/LibreSSL. При сборке с опцией "--without-openssl" вместо OpenSSL будет использован только внутренний набор алгоритмов (curve25519, aes-ctr, chacha20+poly1305 и ed25519), применяемых при использовании протокола SSH-2, а протокол SSH-1 поддерживаться не будет. Работа без OpenSSL пока возможна только на системах, предоставляющих механизмы arc4random или /dev/urandom для доступа к генераторам псевдослучайных чисел; 
  • Реализована встроенная поддержка списков отозванных ключей KRL (Key Revocation List) в ssh-keygen и sshd, не требующая сборки с OpenSSL; 
  • Параметр UseDNS по умолчанию теперь принимает значение 'no', что потребует явного указания "UseDNS yes" для конфигураций в которых в sshd_config или authorized_keys применяется сопоставление по именам клиентских хостов; 
  • В ssh и ssh-keysign обеспечена возможность использования ключей ed25519 для аутентификации в привязке к хосту (Host-based Authentication); 
  • В sshd обеспечено запоминание уже использованного для аутентификации открытого ключа и отвержение попыток указания того же ключа при аутентификации по двум ключам. Иными словами, если в настройках указано "AuthenticationMethods=publickey,publickey", то пользователь теперь должен использовать два разных ключа; 
  • В sshd_config добавлены опции HostbasedAcceptedKeyTypes и PubkeyAcceptedKeyTypes, позволяющие определить допустимые типы открытых ключей. По умолчанию разрешены все типы ключей. В свою очередь для клиента в ssh_config добавлена опция HostbasedKeyType, дающая возможность указать допустимые типы открытых ключей хоста; 
  • В ssh добавлена опция RevokedHostKeys, позволяющая подключить список отозванных ключей хоста в форме текстового файла или KRL; 
  • В ssh-keygen и sshd добавлена поддержка отзыва сертификатов по их порядковому номеру или идентификатору ключа, не вдаваясь в подробности привязки к CA; 
  • В ssh добавлена опция "-G", в которой по аналогии с "sshd -T" производится разбор конфигурации и её дамп в стандартный выходной поток; 
  • В ssh реализована поддержка операции отрицания в блоках Match. Например, "Match !host"; 
  • В ssh и sshd устранены проблемы с обрывом соединения при предоставлении нескольких ECDSA-ключей разного размера; 
  • В переносимую версию OpenSSH добавлена опция "--without-ssh1", позволяющая собрать пакет без поддержки первой версии протокола SSH; 
  • При работе в окружении Cygwin для sshd реализована возможность указанием собственных имён сервисов, что позволяет запустить несколько экземпляров sshd с разными именами сервисов.

Комментариев нет:

Отправить комментарий