Выпуск OpenSSH 6.5После пяти месяцев разработки объявлен выпуск OpenSSH 6.5, открытой реализации клиента и сервера для работы по протоколам SSH (1.3, 1.5 и 2.0) и SFTP. Из заметных улучшений можно отметить: В ssh и sshd добавлена поддержка метода обмена ключами на базе функции Curve25519, предложенной Дэниэлом Бернштейном (D. J. Bernstein) и основанной на использовании криптографии по эллиптическим кривым. Указанный метод используется по умолчанию, в случае его поддержки на стороне клиента и сервера; В ssh и sshd добавлена поддержка схемы цифровой подписи с открытым ключом Ed25519, также разработанной Дэниэлом Бернштейном. Цифровые подписи Ed25519 обладают более высоким уровнем безопасности, чем ECDSA и DSA, и при этом отличаются очень высокой скоростью верификации и создания подписей. Стойкость к взлому для Ed25519 составляет порядка 2^128 (в среднем для атаки на Ed25519 потребуется совершить 2^140 битовых операций), что соответствует стойкости таких алгоритмов, как NIST P-256 и RSA с размером ключа в 375 байт или 128-битному блочному шифру. Ed25519 также не подвержен проблемам с коллизиями в хэшах, не чувствителен к атакам через определение скорости работы кэша (cache-timing attacks) и атакам по сторонним каналам (side-channel attacks). Новый формат хранения закрытого ключа, основанный на использовании функции порождения ключа (Key Derivation Function) bcrypt и обеспечивающий более высокий уровень защиты ключа. Данный формат используется по умолчанию только для ключей Ed25519, но может быть задействован и для других типов ключей при указании опции "-o" в ssh-keygen; В ssh и sshd добавлен новый транспортный протокол "chacha20-poly1305@openssh.com" на основе алгоритмов потокового шифра ChaCha20 и аутентификации сообщений Poly1305-AES, разработанных Дэниэлом Бернштейном. Алгоритмы ChaCha20 и Poly1305-AES созданы специально для обеспечения наивысшей безопасности при наименьших вычислительных затратах. Программная реализация алгоритмов позволяет добиться фиксированного времени выполнения без задействования специальной аппаратной поддержки. Ssh и sshd теперь отклоняют RSA-ключи от старых проприетарных клиентов и серверов, использующих устаревшую схему формирования сигнатур RSA+MD5 и методы обмена ключей на основе уязвимых способов расчёта хэшей. Соединение с такими системами пока допускается, но только с использованием ключей DSA. В будущем поддержка будет прекращена полностью; В ssh и ssh-agent обеспечена поддержка только токенов kcs#11, которые представлены сертификатами X.509, а не raw-ключами; В клиент ssh добавлена поддержка ключевого слова "Match", позволяющего определять условные блоки в конфигурации ssh_config в зависимости от имени хоста, пользователя и результата выполнения произвольной команды; В ssh добавлена поддержка канонизации имени хоста на стороне клиента, используя набор правил и суффиксов DNS в ssh_config. Изменение позволяет преобразовать неполное имя в полное, исключающее неоднозначность при поиске ключей в known_hosts или при проверке имён сертификатов хоста; В sftp-server добавлена возможность помещения запросов по протоколу SFTP в белый или чёрный списки по имени; В sftp-server добавлена схема "fsync@openssh.com" для вызова fsync для открытого файлового дескриптора; В конфигурацию sshd добавлена директива PermitTTY, запрещающая выделение TTY и повторяющая по своей сути опцию no-pty в файле authorized_keys; В конфигурацию ssh добавлена опция ProxyUseFDPass, которая позволяет использовать директиву ProxyCommands для установки соединения, а затем передать сформированный файловый дескриптор обратно в ssh. Использование опции позволяет сразу завершить выполнение команды, заданной через ProxyCommands, а оставлять её во время передачи данных; Улучшения, специфичные для переносимой версии OpenSSH: В sshd добавлена поддержка Capsicum API во FreeBSD 10 для помещения процесса в изолированное окружение на стадии до начала аутентификации; Автоматически включаются доступные в используемом для сборки инструментарии методы повышения безопасности кода, в том числе применяются "-ftrapv" для защиты от целочисленных переполнений, -fstack-protector-strong, -fstack-protector-all и -fstack-protector для защиты от переполнений стека и опции для защиты от записи информации о динамическом связывании. Данное поведение можно отключить при помощи опций "--without-hardening" и "--without-stackprotect"; OpenSSH 6.5 является последним выпуском, поддерживающий версии OpenSSL младше 0.9.6; В Linux, OS X и OpenBSD при сборке с использованием современных компиляторов по возможности формируются исполняемые файлы PIE (Position Independent Executable); Для платформ, не предоставляющих генератор псевдослучайных чисел, теперь используется функция arc4random() на базе алгоритма ChaCha20.
Распечатано с HostDB.ru.
|