LINUX.ORG.RU

Первые шаги в selinux

 , , ,


4

2

Доброго времени суток.

Свежеустановленныей Debian 7.2 ( wheezy ).

Недефолт отмечен рамкой. Да, это selinux в enforcing mode. Из коробки он будет работать только на сервере, но если глаза ещё горят красным, можно чуть допилить политику selinux, чтобы можно было её использовать на ноуте.

После сборки и включения в политику собственного модуля, работают gdm3, pulseaudio, fglrx. На скриншоте minicom подключен к management module p5 520; spice консоль virt-manager'а к одной из ВМ на домашнем сервере; java консоль к kvm домашнего сервера; подмонтировал диск по sshfs и смотрю с него фильм.

Тонкий момент, который редко упоминается в руководствах по selinux: в targeted политике есть такое понятие, как unconfined, «не ограниченный». Жёстко ограничены только демоны, работающие с сетью. А большая часть ПО относятся к домену unconfined_t и в пределах unconfined доменов может делать почти всё. Ближайшая аналогия - сеть крупной организации. Отдельные домены для демонов можно сравнить с DMZ, который ограничен по самое небалуйся, а unconfined_t домен - с обычной офисной сетью в пределах одного vlan'а

Не так страшен MAC и RBAC, как те кто действительно умеют этот треш настраивать :)

>>> Просмотр (1920x1200, 701 Kb)

★★★★★

Проверено: JB ()
Последнее исправление: cetjs2 (всего исправлений: 3)

Ответ на: комментарий от Evil_Wizard

https://wiki.debian.org/SELinux/Setup

Потом всё что нужно делать, это

( cat /var/log/syslog; cat /var/log/audit/auditd.log ) | audit2allow -M local

В принципе эта команда даст уже готовый модуль local.pp, но иногда приходится править вручную, тогда правишь local.te ( который генерится audit2allow вместе с local.pp ) и собираешь его

make NAME=local -f /usr/share/doc/selinux-policy-dev/examples/Makefile

Затем

semodule -i local.pp

Пока правлю статью в локальной вики, через пару дней собираюсь перекинуть в вики ЛОРа.

Но это действительно первый этап, потом надо начать разбираться, что именно я автоматом разрешил через audit2allow

router ★★★★★
() автор топика
Последнее исправление: router (всего исправлений: 2)
Ответ на: комментарий от stave

Мне понравилось. Спецеффекты мягко говоря дешёвые, на уровне 80-х, но по крайней мере режиссёр и оператор знают своё дело и умеют пугать. Было страшно не потому что КРОВЬ, КИШКИ Р@#$%^&*()О, а из-за атмосферы. Смотрел ночью, в туалет потом было идти ссыкотно.

Ну и девочку они нашли не скажу что красивую, но интересную. См. скриншот :)

router ★★★★★
() автор топика
Ответ на: комментарий от router

audit2allow -M local

/me разрыдался кровавыми слезами

Это как я даже не знаю. Купить бронированную дверь и повесить амбарный замок. Джаст фор фан

vasily_pupkin ★★★★★
()
Ответ на: комментарий от vasily_pupkin

Ты предпочитаешь отключить всё нафиг? Я ж написал - это только первый этап, просто загрузиться в enforcing mode и чтобы работало. Потом разумеется нужно будет проверить, какие правила пришлось добавить, чтобы факинговые gdm3, fglrx и pulseaudio соизволили начать работать.

router ★★★★★
() автор топика
Ответ на: комментарий от router

На лаптопе? Уже не использую. Этим можно развлекаться джаст фор гемморой. Прежде чем пользоваться, нужно запилить нормальный генератор политик. Это дерьмище на m4 под названием референс полиси должно помереть.

vasily_pupkin ★★★★★
()
Ответ на: комментарий от asaw

Рад за шляпу, особенно если ты говоришь про десктоп

router ★★★★★
() автор топика

Из коробки он будет работать только на сервере

Потому что нужно использовать сенту или федору. Только если используется один юзер, то политику всё-равно нужно допиливать (в плане дополнительного запрещения, а не разрешения), чтобы не было театра безопасности (дефолтные политики слишком лояльные и слабо разделяют процессы внутри одно юзера).

работают gdm3, pulseaudio, fglrx

Не знаю как в плане проприетарных троянов (fglrx), но dgm3 и пульс и так нормально работают в федоре.

management module p5 520

И зачем Вам поверы?

Жёстко ограничены только демоны, работающие с сетью. А большая часть ПО относятся к домену unconfined_t и в пределах unconfined доменов может делать почти всё.

ВНЕЗАПНО!??? В федоре для большинства X11-процессов юзера также.

Не так страшен MAC и RBAC, как те кто действительно умеют этот треш настраивать :)

Ну Вы ещё ничего не настроили. То, что Вы разрешили трем приложениям через audit2allow (или скопипастили с федоры кусок политики) доступ к своим файлам, ещё не делает Вас спецом по SELinux.

ktulhu666 ☆☆☆
()
Ответ на: комментарий от router

A dark and bloody parody about a Scooby-Doo-like team of paranormal investigators and their devoted dog.

Хэх, надо посмотреть

amazpyel ★★★
()
Ответ на: комментарий от router

Правильный первый этап - это загрузиться в permissive mode и чтобы всё не работало. После чего начать читать audit.log выбирая из него по одной ошибке и разбираясь с ней.

Но вообще в Fedora SELinux в enforcing-режиме из коробки уже очень давно. Ругается он только на skype, wine и google-chrome, что в общем понятно и оптимальным образом решается неустановкой их в нормальную систему. Так что особого достижения в загрузке в enforcing тут никакого нет.

alpha ★★★★★
()
Ответ на: комментарий от ktulhu666

Потому что нужно использовать сенту или федору

Давайте Вы не будете указывать, что мне делать, а я не скажу, куда Вам пойти ;)

Ну Вы ещё ничего не настроили. То, что Вы разрешили трем приложениям через audit2allow (или скопипастили с федоры кусок политики) доступ к своим файлам, ещё не делает Вас спецом по SELinux.

А почему вы решили, что в

Не так страшен MAC и RBAC, как те кто действительно умеют этот треш настраивать :)

я говорил о себе?

router ★★★★★
() автор топика
Ответ на: комментарий от alpha

Так что особого достижения в загрузке в enforcing тут никакого нет.

Если есть доки, по которым можно повторить это в debian - тогда нет.

router ★★★★★
() автор топика
Ответ на: комментарий от alpha

А я захотел selinux на своём десктопе, и на мой взгляд это не причина для смены дистрибутива. Сходу включить enforcing mode не получилось ( gdm3 не доходил до отображения окна логина, чёрный экран с мышкой ), поэтому пару дней читал доки и гуглил.

Да, разумеется это лишь первый этап. Да, мне необходимо будет проверять правила, который я добавил через audit2allow. Но для начала изучения selinux для меня это был серьёзный шаг, ИМХО.

router ★★★★★
() автор топика
Ответ на: комментарий от ktulhu666

И зачем Вам поверы?

На скриншоте - так же как и видеоплеер, показать что с включенным selinux вполне можно жить.

Вообще - для практики перед сдачей экзамена ibm

router ★★★★★
() автор топика
Ответ на: комментарий от router

Вообще - для практики перед сдачей экзамена ibm

Зачем? Как плюс к своей ЗП планируете от этого получить?

А я захотел selinux на своём десктопе, и на мой взгляд это не причина для смены дистрибутива.

Разумеет. Но только если Вы харденед генту используете. А в случае казуальной бинарщины - даже встроенные в основные репы пакеты и их количество может иметь смысл, не то что поддержка референсной политики на уровне.

ktulhu666 ☆☆☆
()
Ответ на: комментарий от router

Но для начала изучения selinux для меня это был серьёзный шаг, ИМХО.

audit2allow я использовал ещё 4 года тому назад, ничего такого в этом не вижу.

ktulhu666 ☆☆☆
()
Ответ на: комментарий от alpha

alpha> SELinux на десктопах - это работает.

ktulhu666> дефолтные политики слишком лояльные

Вопрос о пользе этой работы уже кто-нибудь задавал? Если нет, то я первый.

tailgunner ★★★★★
()
Ответ на: комментарий от router

Я и в самом деле раньше не работал с selinux.

Да я знаю. Это комплимент был.

tazhate ★★★★★
()
Ответ на: комментарий от tailgunner

Вопрос о пользе этой работы уже кто-нибудь задавал?

«Ругается на skype, wine и google-chrome», ещё помнится ловил add-on Яндекс.Фотки для firefox-а на попытке отправки не «своих» данных.

Я расцениваю это как полезные проявления. К примеру приватные ssh-ключи при установке левого аддона в FF никуда не утекут.

alpha ★★★★★
()
Ответ на: комментарий от alpha

«Ругается на skype, wine и google-chrome», ещё помнится ловил add-on Яндекс.Фотки для firefox-а на попытке отправки не «своих» данных.

«Ругается» и «ловил» или «не дает работать» и «предотвратил доступ»?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Ругается в enforcing-режиме = предотвратил доступ, разумеется.

В случае skype и wine там был низкоуровневый запрет доступа к памяти. И, что интересно, и то, и другое при этом продолжает работу, ещё и лучше, поскольку skype ест памяти меньше.

В случае яндекс.фоток — не дал загрузить картинку на хостинг.

alpha ★★★★★
()

minicom подключен к management module p5 520

Но зачем?) Не проще взять нормальную HMC? Да и зачем вообще дома может повер понадобиться?

user_undefined
()

Дэн Уолш одобряет :)

carasin ★★★★★
()
Ответ на: комментарий от CYB3R

Я думал, что IMPI и KVM — очень интеллоспецифичные фичи

Они специфичны для производителей серверов или системных плат для серверов, а процессор вообще роли не играет. ipmi реализован на отдельном чипе и работает даже когда процессоры обесточены.

router ★★★★★
() автор топика
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от user_undefined

Не проще взять нормальную HMC?

установлена в виртуалке

Да и зачем вообще дома может повер понадобиться?

Для практики. Эмуляторов под x86 нет.

router ★★★★★
() автор топика
Ответ на: комментарий от router

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

Это я знаю, имел дело. Просто думал, что всё же всё завязано на intel-чипсет.

CYB3R ★★★★★
()

Не так страшен MAC

Просто для информации - есть AppArmor, процесс настройки которого в разы проще.

Falcon-peregrinus ★★★★★
()

слоупок мод

Вопрос у меня возник, нужен ли так сильно будет селинукс если в upstart\openrc\systemd запихнут запуск сервисов в контейнерах cgroup\namespace ? Суть же та же получится - отдельные домены для приложений

Khades ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.