Доступен (http://lists.mindrot.org/pipermail/openssh-unix-announce/201...) выпуск OpenSSH 6.8 (http://www.openssh.com/) - открытой реализации клиента и сервера для работы по протоколам SSH (1.3, 1.5 и 2.0) и SFTP. Из наиболее важных улучшений можно отметить возможность сборки без OpenSSL, проведение внутреннего рефакторинга, возможность автозамены ключей хоста на стороне клиента, встроенную реализацию списков отозванных сертификатов, изменение формата отпечатков ключей.Основные улучшения:
- Переработана значительная часть внутреннего кода с целью выноса базовых частей OpenSSH в отдельную библиотеку. Несмотря на то, что связанные с рефакторингом изменения не заметны пользователям, они позволили существенно улучшить тестируемость кода и оптимизировать внутреннюю структуру проекта;
- В ssh и sshd добавлена опция FingerprintHash, через которую можно управлять выбором алгоритма для создания fingerprint-отпечатков ключей. По умолчанию отпечатки теперь создаются с использованием хэша SHA256 и формата base64, вместо ранее применяемого шестнадцатеричного вывода MD5. Кроме того, строка с отпечатком теперь содержит явное указание алгоритма хэширования, например, "SHA256:mVPwvezndPv/ARoIadVY98vAC0g+P/5633yTC4d/wXE";
- Экспериментальная поддержка автозамены (https://www.opennet.ru/opennews/art.shtml?num=41584) ключей хоста. Реализовано специальное расширение протокола "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 (http://cr.yp.to/ecdh.html), aes-ctr (http://bxr.su/OpenBSD/usr.bin/ssh/cipher-aesctr.c), chacha20+poly1305 (http://cr.yp.to/chacha.html) и ed25519 (http://ed25519.cr.yp.to/)), применяемых при использовании протокола 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 с разными именами сервисов.
URL: http://lists.mindrot.org/pipermail/openssh-unix-announce/201...
Новость: https://www.opennet.ru/opennews/art.shtml?num=41866