24 августа 2018 года

После пяти месяцев разработки представлен релиз OpenSSH 7.8, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP.

Основные новшества:

  • В ssh-keygen осуществлён переход на использование по умолчанию формата OpenSSH для хранения закрытых ключей, вместо заимствованного из OpenSSL формата PEM. Формат OpenSSH обеспечивает лучшую защиту от перебора паролей и поддерживает размещение комментариев в закрытых ключах. Для использования формата PEM теперь следует явно запускать ssh-keygen с опцией "-m PEM" при генерации или обновлении ключа;
  • В sshd удалена встроенная поддержка многофакторной аутентификации S/Key (для использования S/Key теперь следует использовать внешние реализации через PAM или BSD auth);
  • Код ssh почищен от компонентов для выполнения в режиме setuid. Попытка запуска ssh теперь приводит к выходу с выводом ошибки, если на исполняемый файл установлен флаг setuid или если uid не равен эффективному uid;
  • Изменена семантика опций PubkeyAcceptedKeyTypes и

HostbasedAcceptedKeyTypes для sshd, в которых теперь нужно указывать и применяемый для аутентификации алгоритм формирования цифровой подписи (например, "rsa-sha2-256" или "rsa-sha2-512");

  • Изменён приоритет обработки переменных окружения для sshd: ~/.ssh/environment и опции environment="..." в файлах authorized_keys теперь не переопределяют переменные окружения SSH_*, явно заданные для sshd;
  • По умолчанию изменён IPQoS для ssh/sshd: для интерактивного трафика теперь применяется DSCP AF21, а для пакетных запросов CS1;
  • Представлены новые алгоритмы цифровых подписей "rsa-sha2-256-cert-v01@openssh.com" и "rsa-sha2-512-cert-v01@openssh.com", которые указывают на необходимость использования в ходе аутентификации только RSA/SHA2;
  • Добавлена возможность явного определения списка разрешённых переменных окружения для sshd, задаваемого через опцию PermitUserEnvironment, которая ранее позволяла только в общем виде разрешить или запретить пользовательские переменные окружения;
  • В sshd_config добавлена новая директива PermitListen, а также аналогичная опция "permitlisten=" в authorized_keys, которые позволяют определить IP-адрес и порт для приёма соединений при удалённом перенаправлении трафика (ssh -R);
  • Добавлена защита от атаки, позволяющей удалённому атакующему определить существует ли пользователь с данным именем в системе. Метод атаки базируется на разности поведения при обработке запроса на аутентификацию для существующего и неизвестного пользователя. Атакующий может отправить некорректный запрос аутентификации (например, отправить повреждённый пакет), в случае отсутствия пользователя в системе выполнение функции userauth_pubkey() завершалось сразу с отправкой ответа SSH2_MSG_USERAUTH_FAILURE. Если пользователь присутствует в системе, происходил сбой при вызове функции sshpkt_get_u8() и сервер просто молча закрывал соединение. Для противодействия подобным атакам также добавлена случайная задержка в размере 5-9мс, добавляемая при любом сбое аутентификации;
  • Для sshd реализована новая директива SetEnv, позволяющая определять переменные окружения в файле sshd_config. Данные переменные имеют более высокий приоритет чем значения по умолчанию и переменные окружения, заданные пользователем;
  • В ssh добавлена директива SetEnv, при указании которой переменные окружения для сеанса выставляются на основании значений, переданных сервером;
  • Для очистки переменных окружения, ранее помеченных для отправки на сервер, добавлена команда "SendEnv -PATTERN";
  • В ssh/sshd обеспечена передача UID в виде %-выражений во всех директивах, манипулирующих именем пользователя;
  • В ssh добавлена возможность указания "ProxyJump=none" для отключения функциональности ProxyJump;
  • В sshd обеспечена передача в PAM-модули детальных сведений об успешно завершённой аутентификации через переменную окружения SSH_AUTH_INFO_0;
  • Улучшено определение неподдерживаемых опций компилятора;
  • В sshd добавлена поддержка режима sandbox-изоляции в Linux для архитектуры s390;
  • При сборке без OpenSSL для затравки генератора псевдослучайных чисел задействован вызов getrandom().

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Релиз OpenSSH 7.8», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.