This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
модули_mac [2015/05/13 09:32] val [Включение множественных меток на файловой системе] |
модули_mac [2018/02/08 14:44] (current) val [Вариант использования пользователями] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Модули MAC ====== | ====== Модули MAC ====== | ||
| - | * [[http://www.freebsd.org/doc/ru/books/handbook/mac.html|Принудительный контроль доступа (MAC)]] | + | * [[https://www.freebsd.org/doc/ru/books/handbook/mac.html|Принудительный контроль доступа (MAC)]] |
| + | * [[https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/mac.html|Mandatory Access Control]] | ||
| * [[http://www.lissyara.su/?id=2215|Повышение уровня безопасности apache с использованием МАС]] | * [[http://www.lissyara.su/?id=2215|Повышение уровня безопасности apache с использованием МАС]] | ||
| + | * [[https://en.wikipedia.org/wiki/Biba_Model|Biba Model]] | ||
| + | * [[https://en.wikipedia.org/wiki/Multilevel_security|Multilevel security]] | ||
| + | |||
| + | ===== Вариант использования пользователями ===== | ||
| + | |||
| + | * Попробовать добавить [[https://www.freebsd.org/doc/ru_RU.KOI8-R/books/faq/security.html#idp71191528|уровень защиты (securelevel)]] для запрета изменения меток пользователям root | ||
| + | |||
| + | <code> | ||
| + | # cat /etc/login.conf | ||
| + | ... | ||
| + | russian|Russian Users Accounts:\ | ||
| + | :charset=UTF-8:\ | ||
| + | :lang=ru_RU.UTF-8:\ | ||
| + | :tc=default:\ | ||
| + | :label=mls/5,biba/5: | ||
| + | ... | ||
| + | |||
| + | # cap_mkdb /etc/login.conf | ||
| + | |||
| + | # pw usermod user1 -L russian | ||
| + | |||
| + | # mkdir ~user1/doc | ||
| + | |||
| + | # chown user1:user1 ~user1/doc | ||
| + | |||
| + | # setfmac 'biba/5,mls/5' ~user1/doc | ||
| + | |||
| + | # ls ~user1/doc | ||
| + | |||
| + | # setfmac 'biba/high,mls/low' ~user1/doc | ||
| + | |||
| + | # setpmac 'biba/5,mls/5' setfmac 'biba/high,mls/low' ~user1/doc | ||
| + | </code> | ||
| ===== Вариант использования как AppArmor ===== | ===== Вариант использования как AppArmor ===== | ||
| Line 8: | Line 42: | ||
| ==== Выбор приложения ==== | ==== Выбор приложения ==== | ||
| - | * [[Средства программирования shell#Web свервер на shell]] | + | * [[Средства программирования shell#Web сервер на shell]] |
| * [[Сервис INETD]] | * [[Сервис INETD]] | ||
| Line 22: | Line 56: | ||
| Идея: все процессы будут работать с меткой equal по умолчанию | Идея: все процессы будут работать с меткой equal по умолчанию | ||
| + | |||
| + | * [[Управление ядром и модулями в FreeBSD#Установка исходных текстов ядра]] | ||
| + | |||
| <code> | <code> | ||
| # rcsdiff /usr/src/sys/security/mac_mls/mac_mls.c | # rcsdiff /usr/src/sys/security/mac_mls/mac_mls.c | ||
| Line 38: | Line 75: | ||
| </code> | </code> | ||
| - | * [[Управление ядром и модулями в FreeBSD#Сборка ядра]] | + | * [[Управление ядром и модулями в FreeBSD#Компиляция и инсталяция ядра]] |
| ==== Включение модулей при загрузке ==== | ==== Включение модулей при загрузке ==== | ||
| Line 55: | Line 92: | ||
| ==== Включение множественных меток на файловой системе ==== | ==== Включение множественных меток на файловой системе ==== | ||
| - | [[http://www.freebsd.org/doc/ru/books/handbook/mac-troubleshoot.html]] | + | * [[https://www.freebsd.org/doc/ru/books/handbook/mac-troubleshoot.html|Решение проблем с инфраструктурой MAC]] |
| - | + | * В однопользовательский режим выполняем: | |
| - | <code> | + | |
| - | # cat /etc/fstab | + | |
| - | </code><code> | + | |
| - | ... | + | |
| - | /dev/ad0s1a / ufs ro 1 | + | |
| - | ... | + | |
| - | </code> | + | |
| - | + | ||
| - | Reboot in single mode (4) | + | |
| <code> | <code> | ||
| Line 73: | Line 101: | ||
| </code> | </code> | ||
| - | Reboot in multiuser mode (Не обращаем внимания на ругательства при запуске системы с корневым разделом смонтированным только на чтение) | + | * Проверки: |
| - | + | ||
| - | <code> | + | |
| - | # mount -urw / | + | |
| - | + | ||
| - | # cat /etc/fstab | + | |
| - | </code><code> | + | |
| - | ... | + | |
| - | /dev/ad0s1a / ufs rw 1 | + | |
| - | ... | + | |
| - | </code><code> | + | |
| - | # init 6 | + | |
| - | </code> | + | |
| - | + | ||
| - | Reboot in multiuser mode | + | |
| <code> | <code> | ||
| Line 97: | Line 111: | ||
| # getfmac /etc/passwd | # getfmac /etc/passwd | ||
| - | # setfmac 'biba/high,mls/high' /etc/passwd | + | # ls -Zl /etc/passwd |
| </code> | </code> | ||
| ==== Установка меток на файловую систему ==== | ==== Установка меток на файловую систему ==== | ||
| - | !!! Процесс занимает 15-20 минут !!! | + | !!! Процесс занимает 2-5 минут !!! |
| <code> | <code> | ||
| + | # setfmac 'biba/high,mls/high' /etc/passwd | ||
| + | |||
| # ldd /bin/sh | # ldd /bin/sh | ||
| # ldd /bin/cat | # ldd /bin/cat | ||
| Line 126: | Line 142: | ||
| /lib biba/equal,mls/equal | /lib biba/equal,mls/equal | ||
| /lib/libedit.so.7 biba/equal,mls/equal | /lib/libedit.so.7 biba/equal,mls/equal | ||
| - | /lib/libncurses.so.8 biba/equal,mls/equal | + | /lib/libncursesw.so.8 biba/equal,mls/equal |
| /lib/libc.so.7 biba/equal,mls/equal | /lib/libc.so.7 biba/equal,mls/equal | ||
| /usr biba/equal,mls/equal | /usr biba/equal,mls/equal | ||
| /usr/bin biba/equal,mls/equal | /usr/bin biba/equal,mls/equal | ||
| /usr/bin/file biba/equal,mls/equal | /usr/bin/file biba/equal,mls/equal | ||
| - | /lib/libz.so.5 biba/equal,mls/equal | + | /lib/libz.so.6 biba/equal,mls/equal |
| /usr/lib biba/equal,mls/equal | /usr/lib biba/equal,mls/equal | ||
| /usr/lib/libmagic.so.4 biba/equal,mls/equal | /usr/lib/libmagic.so.4 biba/equal,mls/equal | ||