Релиз OpenSSH 6.0
22 апреля 2012 года
Представлен релиз OpenSSH 6.0, открытой реализации клиента и сервера для работы по протоколам SSH (1.3, 1.5 и 2.0) и SFTP. Несмотря на значительный номер версии, изменений представлено относительно немного, по сравнению с прошлыми выпусками. Релиз позиционируется как корректирующий, а номер версии стоит рассматривать как плавное продолжение нумерации в десятичном исчислении, при которой после 5.9 выпускается не версия 5.10, а 6.0. Заметное улучшение внесено только в Portable-версию, в которой добавлена поддержка специфичного для Linux нового режима изоляции "seccomp sandbox".
Основные изменения:
- Новый режим изоляции привилегий для Linux - "seccomp sandbox", автоматически включаемый при сборке на системах, поддерживающих технологию seccomp filter. Так как подсистема seccomp filter пока не включена в состав основного ядра, её поддержка в дистрибутивах сильно ограничена. Тем не менее, дело скоро должно сдвинуться с мёртвой точки, так как поддержка seccomp filter будет обеспечена по умолчанию в 64-разрядной сборке Ubuntu 12.04. Стимулировать интеграцию seccomp filter также должен факт обеспечения поддержки данной технологии в важнейших сетевых приложениях, таких как vsftpd и OpenSSH. Кроме того, компания Google намерена активировать seccomp filter для усиления защиты в проекте Chromium.
Принцип работы seccomp filter сводится к ограничению доступа к системным вызовам. При этом, важной особенностью является то, что логика выставляемых ограничений задаётся на уровне защищаемого приложения, а не через задание внешних ограничений, как в случае AppArmor или SELinux. В код программы добавляется структура с перечнем допустимых системных вызовов (например, ALLOW_SYSCALL) и реакции в случае несовпадения (например, KILL_PROCESS). Доступ к системным вызовам определяется в виде правил, оформленных в BPF-представлении (Berkeley Packet Filter), которое получило распространение в системах фильтрации сетевых пакетов.
Система seccomp позволяет реализовывать достаточно сложные правила доступа, учитывающие передаваемые и возвращаемые аргументы. Программа сама определяет какие системные вызовы ей необходимы и какие параметры допустимы, все остальные системные вызовы блокируются, что позволяет ограничить возможности атакующего в случае эксплуатации уязвимости в защищённом при помощи seccomp приложении. Возможность задания фильтров аргументов позволяет также защититься от большинства атак, эксплуатирующих уязвимости в системных вызовах. Например, выявленные за последние годы критические уязвимости в glibc и ядре Linux, такие как AF_CAN (Архивная копия от 17 февраля 2021 на Wayback Machine), sock_sendpage и sys_tee(недоступная ссылка), успешно блокируются при надлежащем использовании seccomp.
- В ssh-keygen добавлены дополнительные точки контроля для экранирования модулей;
- В ssh-add добавлена опция "-k" для загрузки только ключей, пропуская загрузку сертификатов;
- В sshd добавлена поддержка указания масок в опции PermitOpen. Например, теперь можно указывать такие правила, как "PermitOpen localhost:*";
- В ssh реализована возможность отмены локального или удалённого переброса портов, осуществлённого через мультиплексированный сокет, обслуживающих также другие соединения. Для отмены проброса следует использовать "ssh -O cancel -L xx:xx:xx -R yy:yy:yy user_at_host";
- Поддержка отмены локального/динамического проброса из командной строки, активируемой через "~C";
- Добавлена опциональная поддержка LDNS, библиотеки для выполнения DNS-запросов (resolver), поддерживающей DNSSEC и распространяемой под лицензией BSD;
- Устранены проблемы со сборкой во FreeBSD, при использовании варианта libutil с функцией openpty(), но без login();
- Налажена сборка на основании включённого в состав spec-файла для создания RPM-пакетов;
- Переработана проверка версии OpenSSL, что позволяет запускать исполняемые файлы OpenSSH с более новыми ветками OpenSSL, чем использовались для сборки (ранее проверялась только версия патча, т.е. если OpenSSH собран с 1.0.0h, то он работал с 1.0.0i, а теперь ещё будет работать и с 1.0.1a);
- Устранено несколько утечек памяти и файловых дескрипторов.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.