The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Релиз FTP сервера vsftpd 3.0.0 с поддержкой нового sandbox-режима

10.04.2012 13:49

Анонсирован релиз надежного, защищенного и высокопроизводительного 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, sock_sendpage и sys_tee, успешно блокируются при использовании функциональности seccomp по проверке аргументов. Кроме vsftpd, патч с поддержкой seccomp уже подготовлен для 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.

  1. Главная ссылка к новости (http://scarybeastsecurity.blog...)
  2. OpenNews: Вышел релиз FTP-сервера vsftpd 2.3.5
  3. OpenNews: Концептуальная атака против vsftpd, не представляющая реальной угрозы
  4. OpenNews: В доступный на официальном сайте архив исходных текстов FTP-сервера vsftpd был внедрен бэкдор
  5. OpenNews: Вышел vsftpd 2.3.4 с устранением DoS-уязвимости
  6. OpenNews: Выпущен релиз FTP сервера vsftpd 2.3.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/33569-vsftpd
Ключевые слова: vsftpd, ftp
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (36) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 15:10, 10/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > В настоящее время в vsftpd задействован полный спектр средств защиты, доступных в Linux, включая выполнение в chroot, capabilities, контроль файловых дескрипторов, пространства имён, rlimits и даже экспериментальный уровень изоляции на основе ptrace.

    Прекрасно, молодцы ребята.
    А в федоре/сусе/мендриве эти средства защиты можно легко задействовать для любой службы, вне зависимости от их поддержки разработчиками. Но федора/мандрива/суся отнюдь не позиционируют себя как супер-пупер защищенные системы.

     
     
  • 2.3, Алексей (??), 15:13, 10/04/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Т.е. правила напишуться сами? Или вы настолько хорошо знаете все сервисы, что для каждого можете написать такие правила? Может тогда напишете?
     
     
  • 3.21, Аноним (-), 01:32, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А правила по хорошему должны писать разработчики.
     

  • 1.2, Аноним (-), 15:12, 10/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Seccomp пока не включён в состав основного ядра Linux

    А почему? Проблемы со стабильностью?

     
     
  • 2.13, szh (ok), 17:24, 10/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    если включат, потом нельзя ни выключить ни userspace API поменять
     
     
  • 3.17, Аноним (-), 19:00, 10/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    смотря как ломают API в ядре - это уж за запросто.
     
     
  • 4.20, szh (ok), 21:38, 10/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    API эволюционируют внутри ядра оставаясь неизменным в syscalls для юзерспейса. Слово "ломают" неверно по отношению к тому, что не предполагалось быть неизменным.
     

  • 1.4, Vasily Pupkin (?), 15:15, 10/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Да ёлки же ты палки. Вместо того, что бы всем миром писать нормальные политики к SELinux, занимаются ерундой какой то
     
     
  • 2.22, Аноним (-), 01:35, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > нормальные политики к SELinux,

    Не, пусть это такие как ты пишут. И всякие хрены из FBI у которых регламент, так что по регламенту положено так сношаться.


     
     
  • 3.25, Другой Аноним (?), 03:30, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вы похожу не представляете что за зверь этот SELinux и в чем его . Его хватит на все. Ну а проблема восприятия процесса настройки политика как (не)приятного акта некоторой деятельности - это сугубо ваша личная проблема, не правда ли?
     
     
  • 4.27, Аноним (-), 11:10, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Да с кем ты споришь? С этим хренкиным? Он никогда в жизни в заведении крупнее Рогов и Копыт не работал. А строем тем более не ходил, ибо кривой-косой-хромой или просто откосил.
     

  • 1.8, Аноним (8), 15:46, 10/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    100500 ФС, 100500 планировщиков, 100500 систем безопасности: SELinux, теперь Seccomp.

    Зачем все это плодить, а не продумать один раз наперед?

     
     
  • 2.11, Andrey Mitrofanov (?), 16:14, 10/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Зачем все это плодить, а не продумать один раз наперед?

    Гугль не осилил selinux, пользователи хрома не осилили selinux, никто не осилил selinux. Аноним не осилил подумать наперёд. Ситуэйшн нормал.

     
  • 2.12, ононим (?), 16:42, 10/04/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    SELinux, seccomp, tomoyo, yama, apparmor. действительно, не много ли всего?
     
     
  • 3.14, Andrey Mitrofanov (?), 17:28, 10/04/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Много-не много, не важно. Главное, что _не _достаточно!:D
     
     
  • 4.15, deadless (ok), 18:20, 10/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    дистрибутивов тоже как-то недостаточно, вообще очень мало
     
     
  • 5.23, Аноним (-), 01:36, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > дистрибутивов тоже как-то недостаточно, вообще очень мало

    Да, то-ли дело винды. Там MS железной рукой за всех решил что сегодня бум жрать вот эти вот кактусы и все тут. И фиг оспоришь. Наверное так лучше по вашему мнению, да? :)

     
     
  • 6.31, Аноним (-), 11:14, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> дистрибутивов тоже как-то недостаточно, вообще очень мало
    > Да, то-ли дело винды. Там MS железной рукой за всех решил что
    > сегодня бум жрать вот эти вот кактусы и все тут. И
    > фиг оспоришь. Наверное так лучше по вашему мнению, да? :)

    Прикинь - это много лучше чем 1024 дистра, отличающихся друг от друга лишь обоями. И причем среди них нет нужного мне - дистра черниговских венерологов с гениталиями крупным планом на обоях в разрешении 1280x1024!

     
  • 2.16, umbr (ok), 18:33, 10/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    100500 вариантов фичи хороший признак, говорит о её востребованности, и в то же время о незрелости решений.
    Так что запасаемся попкорном или коммитим патчи в апстримы - до полного созревания.
     
     
  • 3.28, Аноним (-), 11:11, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > 100500 вариантов фичи хороший признак, говорит о её востребованности, и в то
    > же время о незрелости решений.
    > Так что запасаемся попкорном или коммитим патчи в апстримы - до полного
    > созревания.

    Вряд ли ты при жизни это увидишь. Примерно как метро в Зимбабве.

     
  • 2.18, filosofem (ok), 19:51, 10/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > 100500 ФС, 100500 планировщиков, 100500 систем безопасности: SELinux, теперь Seccomp.
    > Зачем все это плодить, а не продумать один раз наперед?

    Именно так и рассуждает каждый изобретатель нового стопицотпервого велосипеда.


     

  • 1.19, anonymous (??), 20:03, 10/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как его подружить с sqlite? В плане, виртуальных пользователей авторизовывать через БД, хранящуюся в sqlite? Гугель намекает на модуль pam-sqlite, но я такого не обнаружил, только эти туманные намеки...
     
     
  • 2.24, Stax (ok), 02:23, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ох. А sqlite это так принципиально? Если вам "на месте просто править", можно взять текстовый файл, хэшируемый средствами dbm - такое поддерживается, если в SQL хранить важно - можно в mysql.

    sqlite, он весьма неэффективен под данную задачу - он рассчитан на то, что из приложения будет идти вся работа, а тут вы хотите извне изменять, а он чтобы подтягивал. Это постоянно переоткрывать файл и т.д., в том же dbm это намного эффективнее будет. Поэтому на тему sqlite никто особо и не заморачивается.

     
     
  • 3.26, bav (ok), 10:56, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > sqlite, он весьма неэффективен под данную задачу

    Ню-ню, тут даже pam-модуль на питоне, который каждый раз парсит xml на предмет аутентификационных данных, справится.

     
     
  • 4.30, Аноним (-), 11:12, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> sqlite, он весьма неэффективен под данную задачу
    > Ню-ню, тут даже pam-модуль на питоне, который каждый раз парсит xml на
    > предмет аутентификационных данных, справится.

    Тю! А потом семейка велосипедистов изойдет на гогно, говоря, какой питон тормоз горный.

     
     
  • 5.35, Аноним (-), 15:32, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > какой питон тормоз горный.

    Насколько он горный - хрен знает, но тормозит отменно :P

     
  • 3.29, Аноним (-), 11:12, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Ох. А sqlite это так принципиально? Если вам "на месте просто править",
    > можно взять текстовый файл, хэшируемый средствами dbm - такое поддерживается, если
    > в SQL хранить важно - можно в mysql.
    > sqlite, он весьма неэффективен под данную задачу - он рассчитан на то,
    > что из приложения будет идти вся работа, а тут вы хотите
    > извне изменять, а он чтобы подтягивал. Это постоянно переоткрывать файл и
    > т.д., в том же dbm это намного эффективнее будет. Поэтому на
    > тему sqlite никто особо и не заморачивается.

    Дятло, а почему бы, чтобы карандаш очинить, не взять сразу мельничный жернов? Оракель, например?

     
     
  • 4.39, Stax (ok), 20:38, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> Ох. А sqlite это так принципиально? Если вам "на месте просто править",
    >> можно взять текстовый файл, хэшируемый средствами dbm - такое поддерживается, если
    >> в SQL хранить важно - можно в mysql.
    >> sqlite, он весьма неэффективен под данную задачу - он рассчитан на то,
    >> что из приложения будет идти вся работа, а тут вы хотите
    >> извне изменять, а он чтобы подтягивал. Это постоянно переоткрывать файл и
    >> т.д., в том же dbm это намного эффективнее будет. Поэтому на
    >> тему sqlite никто особо и не заморачивается.
    > Дятло, а почему бы, чтобы карандаш очинить, не взять сразу мельничный жернов?
    > Оракель, например?

    А что плохого в том, чтобы держать пользователей в БД? Например, виртуальных пользователей для почты, ftp и так далее. Есть много причин, по которым sql тут удобнее, чем файлик; но sqlite это совершенно некорректный sql под данную задачу, нужно клиент-серверный.

    Конечно, с точки зрения корректности правильнее хранить пользователей в ldap, но предлагать городить ldap на пустом месте это как раз будет мельничным жерновом, пожалуй. А вот перейти на более правильный sql - по-моему нормальное предложение.

     
  • 3.33, anonymous (??), 14:25, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Ох. А sqlite это так принципиально? Если вам "на месте просто править",
    > можно взять текстовый файл, хэшируемый средствами dbm - такое поддерживается, если
    > в SQL хранить важно - можно в mysql.
    > sqlite, он весьма неэффективен под данную задачу - он рассчитан на то,
    > что из приложения будет идти вся работа, а тут вы хотите
    > извне изменять, а он чтобы подтягивал. Это постоянно переоткрывать файл и
    > т.д., в том же dbm это намного эффективнее будет. Поэтому на
    > тему sqlite никто особо и не заморачивается.

    У меня просто уже есть БД пользователей в sqlite, и хочется держать это централизованно. Может, какой-то другой ftpd это умеет? Я не нашел.

     
     
  • 4.38, Stax (ok), 20:36, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема тут в том, что sqlite по дизайну "под одно приложение", на другое применение он не рассчитан - поэтому и работает плохо. Если вам нужно хранить пользователей в sql, то просто нужно сделать маленький шаг и хранить в клиент-серверном mysql, а не "файлике" sqlite, и такой проблемы возникать не будет.
     
     
  • 5.41, 1 (??), 23:48, 12/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    tactical facepalm, when simple facepalm is just not enough.
     

  • 1.32, Kibab (ok), 12:36, 11/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Осталось Capsicum добавить и можно юзать на последней фре :-)
     
  • 1.34, Аноним (-), 15:29, 11/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > полный спектр средств защиты, доступных в Linux, включая выполнение в chroot,
    > capabilities, контроль файловых дескрипторов, пространства имён, rlimits и даже
    > экспериментальный уровень изоляции на основе ptrace.

    А LXC где? Чрут галимый - есть, а куда как более дуракозащищенный LXC - оно где?

     
     
  • 2.36, Kibab (ok), 17:58, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Какую поддержку на уровне приложения вы ожидаете? :-)

    >> полный спектр средств защиты, доступных в Linux, включая выполнение в chroot,
    >> capabilities, контроль файловых дескрипторов, пространства имён, rlimits и даже
    >> экспериментальный уровень изоляции на основе ptrace.
    > А LXC где? Чрут галимый - есть, а куда как более дуракозащищенный
    > LXC - оно где?

     
  • 2.37, Аноним (-), 19:00, 11/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    напиши. Это же опенсорс
     

  • 1.40, XoRe (ok), 00:15, 12/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > По умолчанию сервер запускается в обособленном режиме, самостоятельно обрабатывающем соединения (listen). Ранее по умолчанию подразумевался запуск через inetd;

    Порадовало.
    Я так понимаю, все современные дистрибутивы ещё при инсталляции переделывают конфиг на использование listen.
    А то уже лет 5 vsftpd+inetd не то что, на серверах не видел, а даже статей про такую настройку не встречал.

    > Добавлена новая опция "allow_writeable_chroot" для управления возможностью записи в chroot-окружениях, создаваемых для аутентифицированных пользователей;

    А вот это удобная фича.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру