Релиз FTP сервера vsftpd 3.0.0 с поддержкой нового sandbox-режима
10 апреля 2012 года
Анонсирован релиз надежного, защищенного и высокопроизводительного FTP-сервера vsftpd 3.0.0. Ключевым улучшением, появившимся в новой версии, является реализация нового sandbox-режима, изолирующего выполнение процесса с использованием seccomp-фильтра.
В настоящее время в vsftpd задействован полный спектр средств защиты, доступных в Linux, включая выполнение в chroot, capabilities, контроль файловых дескрипторов, пространства имён, rlimits и даже экспериментальный уровень изоляции на основе ptrace. Seccomp позволяет реализовать новый уровень изоляции на уровне системных вызовов, чем-то напоминая sandbox на базе ptrace, но изначально основанный на технологии для обеспечения безопасности (ptrace является отладочным инструментом), обладающий значительно более высокой производительностью и отличающийся более высокой стабильностью.
Seccomp пока не включён в состав основного ядра Linux, но будет активирован по умолчанию в 64-разрядной сборке Ubuntu 12.04. Принцип работы Seccomp сводится к ограничению доступа к системным вызовам, при том, что логика выставляемых ограничений задаётся на уровне(недоступная ссылка) защищаемого приложения. Доступ к системным вызовам определяется в виде правил, оформленных в BPF-представлении (Berkley Packet Filter), которое получило распространение в системах фильтрации сетевых пакетов. BPF позволяет реализовывать достаточно сложные правила доступа, учитывающие передаваемые и возвращаемые аргументы. В код программы добавляется структура с перечнем допустимых системных вызовов (например, ALLOW_SYSCALL) и реакции в случае несовпадения (например, KILL_PROCESS).
Программа сама определяет какие системные вызовы ей необходимы и какие параметры допустимы, все остальные системные вызовы блокируются, что позволяет ограничить возможности атакующего в случае эксплуатации уязвимости в защищённом при помощи seccomp приложении. Более того, изоляция с использованием seccomp позволяет защититься от большинства атак, эксплуатирующих уязвимости в системных вызовах. Например, выявленные за последние годы критические уязвимости в glibc и ядре Linux, такие как AF_CAN (Архивная копия от 17 февраля 2021 на Wayback Machine), sock_sendpage и sys_tee(недоступная ссылка), успешно блокируются при использовании функциональности seccomp по проверке аргументов. Кроме vsftpd, патч с поддержкой seccomp уже подготовлен (Архивная копия от 26 июня 2012 на Wayback Machine) для OpenSSH и будет включён в состав OpenSSH 6.0.
Кроме обеспечения поддержки seccomp из изменений, добавленных в vsftpd 3.0.0 можно отметить:
- По умолчанию сервер запускается в обособленном режиме, самостоятельно обрабатывающем соединения (listen). Ранее по умолчанию подразумевался запуск через inetd;
- Ранее реализованный экспериментальный sandbox на базе ptrace теперь именуется в настройках "ptrace_sandbox" вместо "sandbox". Новый sandbox "seccomp_sandbox" включен по умолчанию для систем, поддерживающих seccomp;
- Добавлены дополнительные проверки состояния в код привилегированного управляющего процесса;
- Для сборки использована подборка опций, обеспечивающих более высокий уровень безопасности (например, включаются различные рандомизаторы памяти и средства защиты от переполнения стека);
- Добавлена новая опция "allow_writeable_chroot" для управления возможностью записи в chroot-окружениях, создаваемых для аутентифицированных пользователей;
- В качестве SSL-шифра по умолчанию задействован AES128-SHA;
- Устранение проблем с работой пассивного режима FTP при высокой нагрузке на сервер;
- Решение проблем с таймаутами, в частности, возникающими при использовании SSL.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.