SELinux, AppArmor и др. системы безопасности
Цитата с другой ветки, обсуждение перенесено сюда в отдельно созданную тему.
> Но безопасность в контексте браузера это фантастика, на сегодняшний день.
SELinux по идее должен защищать пользовательское пространство от уязвимостей в приложениях. Правда я пока не освоил эту технику. Может кто из знающих людей покажет пример? Предположим, нужно изолировать браузер Firefox
Вот пример создания политики для гуглохрома:
http://danwalsh.livejournal.com/32759.html
Или пример использования киоск-режима:
http://danwalsh.livejournal.com/11913.html
Но всё вменяемо работает только в Федоре (в нём ведётся официальна разработка), в других дистрах поддержка SELinux не очень хорошая (местами плачевная) и стабильно отлажена только в расчёте на запуск серверов. Многих утилит, фич просто может не быть. Особенно для юзер-приложений и иксов.
А вы уже пробовали как-то работать хотя-бы с готовыми политиками? Про всякие тонкости с "domain transition" внятно себе представляете?
По SELinux практически нет ни манов ни доков, только книжки, разрозненные описания в расчёте на опору поддержки дистростроителями готовых политик (что хорошо делается только в Федоре).
комментариев: 9796 документов: 488 редакций: 5664
комментариев: 1060 документов: 16 редакций: 32
От DMA, видимо, если речь идёт о VT-d.
Может быть, напишите на досуге раздел в FAQ по данному вопросу?
комментариев: 9796 документов: 488 редакций: 5664
Но вообще, SELinux всё ещё кривой и ужасный. По крайней мере в исполнении Debian. Приходиться использовать только стандартные политики (выучить и понять весь его синтаксис нет сил), выгружать часть глючных модулей (оставляя часть программ без защиты). Те модули, которые относительно успешно можно запустить хотя бы с глюками, есть возможность дополнять своими политиками в соответствии с тем, что выдаёт audit2allow, что есть неправильно и заведомо опасно (но лучше, чем совсем без них). И после каждого обновления есть шанс получить много геммороя с поиском причин глюков и перенастройкой. Стандартную поставку очень хреново обновляют. Иногда приходиться его полностью отключать (превращение защиты в театр). Но хоть какая-то защита (по принципу — в плане защиты SELinux не делает хуже, он может сделать "лучше, чем ничего" или ничего не сделать).
Надеюсь, что в будущем им можно будет пользоваться нормально. А так, поделиться в плане некривых и верных решений пока нечем.
Все эти замечания справедливы только в одном случае, когда отсутствует 0-day в ядре, т.е. будь-то мандатный контроль доступа и/или ролевой, он может дополнить заплатанное PAX/grsecurity ядро. Найти уязвимость наверное можно и в песочнице SELinux, а последняя представляет из себя модуль безопасности ядра, здесь об этом есть немного.
Продолжение обсуждения от /comment52970
А что ему может позволяться? Боитесь, что потрёт файлы чужих программ, или тех, с которыми работает? Если среда враждебная до такой степени исключительности, а данные настолько критичны, запускайте его от отдельного юзера, где больше ничего нет, предварительно дав ему копию файла для чтения. Если боитесь local root, запустите виртуалке, где ничего кроме него нет. И даже это, пожалуй, будет сделать намного проще и надёжней, чем самопальные правила для SELinux, собранные на коленке.
Ну обсуждалось, и что? Да, я когда-то обсуждал это с unknown'ом, теперь вы ссылаетесь в споре со мной на мой же пост, lol. Итог этих обсуждений я озвучивал в /comment38612. Раз уж на то пошло, обратите внимание и на критику SeLinux:
Были и другие посты, суть которых сводилась к тому, что SELinux настолько сложен, что обычным пользователям (даже достаточно опытным) он попросту не под силу. Скорее, это уровень коммитеров в ядро, причём хорошо понимающих, как разные системы ОС/ядра взаимосвязаны между собой.
Если говорить на языке ИБ, векторы атаки для анонимов и для TdR совершенно разные. Что касается основного детища TdR, OpenBSD, в ней на local root сквозь пальцы смотрят, да и цитата говорит о том же. Виртулаки — не панацеи, но довольно эффективны в качестве средства изоляции враждебного окружения как от сети, так и от знания реальных параметров железа. У разработчиков же OpenBSD анонимность, шифрование дисков и тому подобные вещи имеют низкий приоритет: «им нечего скрывать» на их рутерах, и уже тем более они не рассматривают получение к ним физического доступа атакующим.
Хотя, здесь похоже кроме вас с SATtva, да unknown и нет никого.
И я дал ссылку на цитату и дальнейшее обсуждение скорее, там в посте кроме неё ничего нет.
Смелое заявление. Подкрепите словами Тео? Цитата про remote holes ни о чём не говорит.
Насчёт сложности SELinux. Вы конечно же в курсе, что оно по дефолту включено в федоре? Пользователи, судя по всему, жалуются всё меньше и меньше (субъективно, конечно). Имеются подробные доки и кое-какие гуи-утилиты.
А вообще, я и не говорил, что оно простое. Но у меня больше доверия к нативной системе защиты, чем к сделанным совсем для других целей инструментам. Впрочем, в качестве quick&dirty решения — согласен, годится.