Выпуск 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).
  • Новый формат хранения закрытого ключа, основанный на использовании KDF-функции (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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.