Компания Canonical, продвигающая AppArmor (http://apparmor.wiki.kernel.org/) в Ubuntu, в роли более простого в настройке аналога системы определения политик безопасности SELinux, предприняла (http://permalink.gmane.org/gmane.linux.kernel.lsm/10443) повторную попытку инициирования процесса интеграции AppArmor в основную ветку Linux ядра. Прошлая попытка была осуществлена в 2007 году компанией Novell, но привела лишь к критике (http://www.opennet.me/opennews/art.shtml?num=11280) со стороны некоторых авторитетных разработчиков Linux ядра.
Основные претензии сводились к недостаточной совместимости с интерфейсом LSM и излишней привязке к файловому пути, вместо реализации через ассоциированные с объектом метки (как в SELinux). Разработчики из проекта Ubuntu учли высказанные ранее замечания и подготовили улучшенный вариант AppArmor, переработанный в плане использования стандартных LSM (Linux Security Modules) хуков (задействовали security_path вместо vfs), что повышает привлекательность...URL: http://permalink.gmane.org/gmane.linux.kernel.lsm/10443
Новость: http://www.opennet.me/opennews/art.shtml?num=25506
Ну и зачем... Есть же удобнейший способ наложить патчи на ядро... При условии, что существует огромное количество полезнейших комплектов патчей отдельно от ярда, и что пользователи эти подборки любят и устанавливают, ничего удивительного в отсутствии AppArmor в основном коде ядра я не вижу. AppArmor не является очень востребованной возможностью, ядро справляется не хуже. А кому надо - те установят
Зря вы так.
Это на стоящем на шкафу стареньком пеньке, раздающем инет на маленький офис, можно один раз ядро пропатчить и забыть.
А если речь идет о полноценном промышленном применении, на первый план выходит прежде всего сопровождение ядра и устранение уязвимостей. При завязанности инфраструктуры на внешние патчи приходится сопровождать свою версию ядра, что вызывает рост накладных расходов, снижение оперативности реакции на угрозы и т.п. Очень часто бывает проще сделать что-нибудь на костылях, чем призывать этот гемор на свою задницу.
Посмотрим, как у них это пойдет.
Если инициатива провалится - лично я переживать не буду. Голова на плечах есть, поэтому SELinux настроить не проблема.Судя по тому, что говорят спецы, он все равно лучше защищает, чем AppArmor.
А как там сейчас RSBAC и прочие grsecurity поживают? В мейнстрим не просятся?
> Если инициатива провалится - лично я переживать не буду. Голова на плечах есть, поэтому SELinux настроить не проблема.А ну как нобелеевский лауреат, подымите как мне типичны офисный комплект с SELinux.
Не тужтесь. У вас это не выйдет. Разве что с правилом разрешить все.А вот с AppArmor это на раз два.
Это я не к тому, чтобы поспорить что круче, а к тому чтобы не множили мифы о простоте применения SELinux
>> Если инициатива провалится - лично я переживать не буду. Голова на плечах есть, поэтому SELinux настроить не проблема.
>А ну как нобелеевский лауреат, подымите как мне типичны офисный комплект с
>SELinux.Что есть "офисный комплект" в вашем понимании?
>Не тужтесь. У вас это не выйдет. Разве что с правилом разрешить все.
Почему такая увереность, что у НЕГО это не выйдет?
>А вот с AppArmor это на раз два.
ORLY?
>Это я не к тому, чтобы поспорить что круче, а к тому
>чтобы не множили мифы о простоте применения SELinuxЕсть просто непонимание сути SELinux. Отсюда и мифы и легенды о простоте или сложности SELinux :(
http://video.yahoo.com/watch/5673078/14869483 - извиняюсь, немного неформальный доклад получился.
Если надо - могу опубликовать материалы доклада (текстовку и презентацию).
> Если надо - могу опубликовать материалы доклада (текстовку и презентацию).Если есть такая возможность, было бы интересно почитать
>> Если надо - могу опубликовать материалы доклада (текстовку и презентацию).
>Если есть такая возможность, было бы интересно почитатьтекст: http://www.midnight-commander.org/nopaste/LVEE-2009/doklad.odt
презентация: http://www.midnight-commander.org/nopaste/LVEE-2009/doklad.odp
Благодарю!
Если кто знает, объясните нубу: AppArmor позволит реализовать что-то вроде фаервола с фильтрацией трафика в зависимости от приложения? То-есть сейчас имеем iptables - это packet filter, может фильтровать пакеты, разрешать/блокировать трафик по портам и протоколам и так далее, но понятия не имеет от каких программ исходит этот траффик; а будем иметь какой-нибудь apfilter, в котором, если указать опцию "запретить wget доступ к сети", то wget уже не сможет пробиться в сеть, даже с правами рута (но рут, при желании, может изменить это правило, как и с iptables)???
>позволит реализовать что-то вроде фаервола с фильтрацией трафика:)
> если указать опцию "запретить wget доступ к сети", то wget уже не сможет пробиться в сеть,
chmod 750 /usr/bin/wget
groupadd grwgetfor i in `cat /etc/passwd | cut -d: -f1`;
do
groupmod -A $i grwget;
done
groupmod -R baduser grwget;>но рут, при желании, может изменить это правило,
groupmod -A baduser grwget;
---
P.S. Зачем запрещать что-то делать, когда можно запретить всё.И вообще, кроме вигета есть туева хуча методов по выкачиванию файла.
Бесполезно запрещать смотреть на работе порнуху, видео и музыку методом запрещения сайтов - легче выгнать нах... сотрудника.
>Бесполезно запрещать смотреть на работе порнуху, видео и музыку методом запрещения сайтов - легче выгнать нах... сотрудника.
Это точно. А также лучшее средство от головной боли - топор.
Кстати, вы на вопрос-то так и не ответили.
AppArmor - это подсистема, которая "следит" за тем что делает приложение, точнее не дает приложению делать то что ему нельзя. Например, если огнелису будет разрешено использовать только сеть и запись в определенную директорию, то попытка совершить какое-либо действие отличное от этих двух приведет к его блокированию.
> AppArmor позволит реализовать что-то вроде фаервола с фильтрацией трафика в зависимости от приложения?тяжелое наследие ос вендоз...
Открыть хотя бы педивикию для ликбеза не судьба?На пальцах: SL, AppA - определяют разрешенный контекст, в котором ПО будет функционировать. Есть браузер, значит ему доступно ходить в сеть, только читать /usr/bin/browser, писать в /tmp, ~/.browser. А остальное - нельзя. В случае, если браузер хакнут, то ОС будет уязвима до пределов правил браузера, а не целиком.
> а будем иметь какой-нибудь apfilter, в котором, если указать опцию "запретить wget доступ к сети", то wget уже не сможет пробиться в сеть.
а зачем тогда вообще wget установлен? У него основная задача данные из сети качать.
>тяжелое наследие ос вендоз...это реальная проблема и виндовс тут не причем.
у людей и у меня в том числе есть потребность запрещать/разрешать трафик только определенным приложениям. что в этом такого? фильтрация на L3,L4 - это прошлый век, на рутерах сгодиться, но не для защиты информации.
> у меня в том числе есть потребность запрещать/разрешать трафик только определенным приложениям. что в этом такого?Что помешает пользователю написать своё приложение? perl < user.app
Вам тогда нужно запрещать всё, а разрешать только некоторым бинарным программам, причём всем интерпретаторам (perl, python, и т.д.) следует запретить. Помоему такой изврат можно сделать и через capabilities.
>>тяжелое наследие ос вендоз...
>
>это реальная проблема и виндовс тут не причем.
>у людей и у меня в том числе есть потребность запрещать/разрешать трафик
>только определенным приложениям. что в этом такого? фильтрация на L3,L4 -
>это прошлый век, на рутерах сгодиться, но не для защиты информации.
>Педивикия гласит:
"На самом деле, TCP- или UDP-пакеты всегда содержат два поля номера порта: отправителя и получателя. Тип обслуживающей программы определяется портом получателя поступающих запросов, и этот же номер является портом отправителя ответов. «Обратный» порт (порт отправителя запросов, он же порт получателя ответов) при подключении по TCP определяется клиентом произвольно (хотя номера меньше 1024 и уже занятых портов не назначаются), и для пользователя интереса не представляет. Использование обратных номеров портов в UDP зависит от реализации."Есть проблема в фильтрации UDP трафика, в остальных случаях номера порта достаточно, чтобы фильтрануть софт.
и как это поможет определить кто из программ запросил по 80 порту файл www.pupkin.org/troian.gz ?
>Если кто знает, объясните нубуСкажем так.
Это он тоже может)А дальше, не поленитесь заглянуть в википедию)
Ну или тут в теме есть ссылка не непплохую видео презентацию SElinux.
> недавно добавили в парсер AppArmor поддержку
> кэширования правил, что позволило значительно
>ускорить процесс инициализации во время загрузки.Недавно добавили большой тормоз, что бы потом
имитировать бурную деятельность, да бы всё увидели,
что они типа крутышы-бубнтушы.
есть какие-нибудь конкретные факты или просто захотелось безосновательно покакать на нелюбимый дистрибутив ?
>есть какие-нибудь конкретные факты или просто захотелось безосновательно
>покакать на нелюбимый дистрибутивФакты они сами предоставили, - Впиндюрили АА, оно начало тормозить,
решили кэшировать правила - ускорились. Стоим на месте.Толку от этого Аррармора, ... посмотреть на лог-файл, с восторгом какой я крутой
"- у меня дома работает MAC-защита"? исчо надо PAM/ACL/RBAC - что б случайно
забежавший на клаву таракан не запустил брузер, открыл доступ к счетам банке, и
не перевел, чисто случайно, все средства в GreenPeace..Ну увидел, что какой-то гад, просматривал /etc/passwd, и пытался shadow...
Что дальше-то? Будешь менять имена у всех логинов? Удалить пользователя? Так другой появится.
На серверах, АА точно бесполезная вещь.Ну и во-вторых, для Убунтушных чайников нужна, как они говорят, "интуитивно понятная" морда, так как мозга нет, одна интуиция.
Они же редактор ниасилят и впадут в депресию, после чего аппармор окончательно выкинут. :)
это вот ты зря сейчас оскорбил User294
я вот только сильно не пойму, отчего такие сильные наезды?оно тебе мешает?
тормоза тебе мешают? ну дрочи на свою слаку-федору-генту-или-что-ты-там-юзаешь-что-быстрее-убунты, не мешай это делать другим, онанизм - это ж дело такое, интимное =)люди дело делают, руководства пишут, имеют наглость достучаться до неподготовленной аудитории
синтаксис AppArmor немного проще такового в SELinux
да в конце-концов - кому как, кому проще, кому приятнееи кстати да - по поводу толка - что-то здесь пока никто не видел твоих личных изысканий на эту тему
ну а по моему личному опыту про то, что
> "интуитивно понятная" морда, так как мозга нет,обычно говорят программеры, которые ну ни разу в жизни не сделали _сами_ без удара кулака манагера толковый интерфейс к приложению (типа интуитивный)
ибо наклепать комманд-лайн опций - это да, многие могут (впрочем даже тут встречаются индивиды...)
а вот как гуй в линухе - так да, "быдлоубунтеры, закройтесь"
все, что можете чтоль?
А везде ли нужен этот гуй? Гуй не показатель качества программы. Хотя к _сожалению_, у обывателя и манагера в основном представление, что чем лучше гуй, тем лучше прога.Вот сделали компиз и что? Народ в большинстве своём поигрался и отключил его. А скока сил программёров на это ушло?
читаем хорошо?
слово "везде" где усмотрел ?и опять же, отучаемся говорить за большинство
насчет программеров, которые из сил выбивались
их, собственно, никто и не заставлял, они на себя и работали
люди так учатся писать программы, флаг им в руки
> Факты они сами предоставили, - Впиндюрили АА, оно начало тормозить, решили кэшировать правила - ускорились. Стоим на месте.Ты сам то веришь в то что сказал ? По мне так просто ругатся хочешь.
На месте никто не стоит, apparmor можно не включать/отключать.
Таким образом
1) когда он отключен - ничего не тормозит.
2) когда включен - теперь работает быстрее чем раньше. СПАСИБО Ubuntu за это! (ты не подавился когда это прочитал ?)> Толку от этого Аррармора, ... посмотреть на лог-файл, с восторгом какой я крутой
нет, ограничить доступ, а не смотреть в лог файл. Может ты вообще не понимаешь что это такое ?
>Может ты вообще не понимаешь что это такое ?Слухай, а ты правильно сказал... Я действительно не понимаю что это такое.
1.
4 можно получить, как 2 + 2, 2*2, 2^2, 2*exp(ln(2)),...
Аpparrmor это наверно вариант 4-ки, через int(8*x*exp(-x^2), x = 0 .. infinity);2.
Мне не нужен AutoCAD чтоб начертить 17-угольник вписанный в окружность,
и тем более он не нужен, если эту операцию производить каждый день.3.
Единственное применение AA - это общественное SSH/Telnet/rsh/rlogin пастбище,4.
Приведите пример конфигурации, где такое пастбище является единственным выходом,
для решения проблемы. Любительские междусобойчики не считается - это развлекуха.5.
1-й Закон Амерекосского бизнеса - для того чтобы товар покупали, надо создать проблему, которую можно решить с помощью данного товара.6. Как вы раньше жили без АА? Плохо? Нет! Так какого х..я он вдруг стал нужен?
И так далее, по нисходяшей, до колеса и каменного топора.
> 2*exp(ln(2))Опа, и правда четверка ... :)
4. Видимо, есть еще публичные веб-серверы, 0day уязвимости, и целая тонна быдлопрограммеров. К слову, единственным выходом для решения любой проблемы является виселица. А в системе безопасности RBAC - не выход а дополнительная ступень защиты.5. Вообще в принципе применимо ко всему, даже к твоей непосредственной работе (и я это говорю, даже не задумываясь о том, кем ты работаешь).
6. Мы и раньше использовали, никто же не виноват, что ты об этом не знал.
>4. Видимо, есть еще публичные веб-серверы, 0day уязвимости, и целая тонна быдлопрограммеров.
>К слову, единственным выходом для решения любой проблемы является виселица. А
>в системе безопасности RBAC - не выход а дополнительная ступень защиты.AppArrmor не Role Based, а Mandatory
>>4. Видимо, есть еще публичные веб-серверы, 0day уязвимости, и целая тонна быдлопрограммеров.
>>К слову, единственным выходом для решения любой проблемы является виселица. А
>>в системе безопасности RBAC - не выход а дополнительная ступень защиты.
>
>AppArrmor не Role Based, а Mandatory
>и это, я бы сказал, отнюдь не минус... но не суть...
оно живет, _отличается_, а значит - в войне стандартов будут игроки, а не диктатор
> 1) 4 можно получить, как 2 + 2, 2*2, 2^2, 2*exp(ln(2)), Аpparrmor это наверно вариантАппармор к этим твоим мат упражнениям отношения не имеет
> 2 Мне не нужен AutoCAD чтоб начертить 17-угольник вписанный в окружность, и тем более он не нужен, если эту операцию производить каждый день.
не нужен - не используй. Тебя не заставляют. Даже в убунту.
> 3 Единственное применение AA - это общественное SSH/Telnet/rsh/rlogin пастбище,
применений технологий такого типа миллион.
> 4 Приведите пример конфигурации, где такое пастбище является единственным выходом, для решения проблемы.
Для чего? Почему единственным ?
> 5. 1-й Закон Амерекосского бизнеса - для того чтобы товар покупали, надо создать проблему, которую можно решить с помощью данного товара.
Аппармор не имеет отношения к рассуждениям в стиле задорнова. Аппармор - это технология решающая существующие проблемы безопасности которые были за много лет до появления Аппармор.
> 6. Как вы раньше жили без АА? Плохо? Нет! Так какого х..я он вдруг стал нужен?
Как вы раньше жили без компьютера? Плохо? Нет! Так какого х..я он вдруг стал нужен?
>> 1) 4 можно получить, как 2 + 2, 2*2, 2^2, 2*exp(ln(2)), Аpparrmor это наверно вариант
>Аппармор к этим твоим мат упражнениям отношения не имеет
>не нужен - не используй. Тебя не заставляют. Даже в убунту.
>Аппармор не имеет отношения к рассуждениям в стиле задорнова.
>Как вы раньше жили без компьютера?А кроме как, "к твоим, тебя, в твоём, вы, тебе" есть что сказать? :)
я отвечаю на твой пост наполненный неверными ассоциациациями и утверждениями. Ожидаешь в ответ лекцию ?Повторюсь:
1) применений технологий такого типа миллион.
2) Аппармор - это технология решающая существующие проблемы безопасности которые были за много лет до появления Аппармор.
в Canonical проспали интеграцию Tomoyo в 2.6.30 и выше ?
или чем-то им полюбилась deprecated реализация SELinux, aka AppArmor ?
> или чем-то им полюбилась deprecated реализация SELinux, aka AppArmor ?разберись о чем рассуждаешь.
кто здесь грамотный - разжуйте, как конкретному бинарнику запретить или разрешить доступ по сети к конкретному адресу и порту независимо от имени пользователя?
>кто здесь грамотный - разжуйте, как конкретному бинарнику запретить или разрешить доступ
>по сети к конкретному адресу и порту независимо от имени пользователя?
>http://www.tresys.com/brickwall.php
>кто здесь грамотный - разжуйте, как конкретному бинарнику запретить или разрешить доступ
>по сети к конкретному адресу и порту независимо от имени пользователя?А вариант на бинарник guid бит и проверять в файрволе группу процесса не подходит?
>А вариант на бинарник guid бит и проверять в файрволе группу процесса
>не подходит?Этот вариант плох тем, что после первого же обновления бинарника ограничение перестаёт работать. Нужно либо всё время следить за guid-битами (за полгода вы с этим точно запаритесь), либо вообще ставить свою сборку пакета, в которую добалено выставление нужного бита, что ещё хуже.
Или по другому: зачем распылять усилия и создавать помойку? Есть уже решения, которые по тем или иным параметрам разработчиков больше устроили. Либо вы поддерживаете это, тогда не изобретаетет свое колесо, либо делаете свое, но тогда не проситесь в майнстрим, т.к. там и так много чего есть. Реально хлам создают.
> Есть уже решения, которые по тем или иным параметрам разработчиков больше устроили.подмена понятий. Кто такие разработчики ?
Разработчиков НЕустроили существующие решения, и они сделали подходящее, и хотят в мейнстрим.
> Реально хлам создают.
и где обоснование ? реально хлам, а не критика.
это чо тогда надо выкинуть все планирофщики и все фс из ядра, и оставить одну на ваш взгляд православную? Нет уж нам нужен выбор, нам нужно много выбора.
уж лучше бы в основное ядру интегрировали PAX и Grsec
Я не пойму кое-что иное: почему в Linux всё нужно пихать в kernel?
А что, держать в патчсетах, которые никто не поддерживает и которые ломаются с каждым новым ядром? И, да будет тебе известно, Linux и есть kernel.
Банальная оптимизация ресурсов, меньше переключений контекста, блокировок.Ваш К.О.