Все о Linux. LinuxRSP.Ru
Альт Линукс СПТ 6.0 Сертификат ФСТЭК

Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

В GIMP наконец-то появилась обработка с точностью 16 и 32 разряда на канал

В одном окне: GIMP 2.8

Релиз OpenBSD 5.1

HTML-редактор: BlueGriffon 1.5

Релиз Xfce 4.10

Команда Chromium представила кластер для автоматизации выявления уязвимостей

В Microsoft Office 15 будет обеспечена поддержка формата ODF 1.2

Анонсирован новый свободный анимационный фильм Tube

Обновление ядра: Linux 3.0.29, 3.2.16, 3.3.3

Представлен OpenSSH 6.0

Релиз графического редактора Pinta 1.2, претендующего на роль аналога Paint.NET

Вышел Firefox 12

Google прекращает поддержку Linux-версии приложения Picasa

Эмулятор приставок: Mednafen 0.9.21-wip

Линус Торвальдс получил премию Millennium Technology Prize 2012

Canonical не заинтересована в участии в разработке ядра Linux

Распределенные вычисления: BOINC 7.0

Google

 Новые статьи :

Передача снапшота ZFS по сети

Правила хорошего тона: SSH

Некоторые рассуждения о защите от ddos на примере защиты от SSL denial of service attack

Быстрый проброс портов на шлюзе во внутреннюю сеть или на другой хост. Быстро NAT'им порты. rinetd.

NAT'им отдельные порты или "а что делать, если мой веб-сервер внезапно переехал на другую машину". Проброс портов в локалке на шлюзе наружу.

Как справляться с запланированной недоступностью веб-сайта

Архитектура Google 2011

Мониторинг Nginx с помощью MRTG

Решение проблем при использовании "1c предприятие" 8.2 в Linux

25 правил .htaccess, которые должен знать каждый web-разработчик

Централизованное резервное копирование данных Windows и *nix серверов средствами Bacula

Краткое руководство по GNOME Shell в Ubuntu 11.10

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки

   Дистрибутивы и атрибутика



DeveloperWorks Россия





Rambler's Top100


 
 

Дополнение A. Версия 0.10 для 2.2.19

Как я уже упоминал, авторы не придерживаются определенного дизайна своей системы. Команды lidsadm и методы хранения данных меняются почти координально от версии к версии. У версии 0.10 есть несколько отличий от версии 0.9.8, которую я описывал.

Изменения касаются установки способностей программам. Если в версии 0.9.8 это делалось таким образом:


lidsadm -A -s программа -t -o способность -j [NO_INHERIT|INHERIT]

то в версии 0.10 это делается так:


lidsadm -A -s программа -o способность -j GRANT -i уровень_наследования

Здесь уровень наследования определяет будут ли наследовать способность программы ее потомки. Если в предыдущих версиях можно было только указать разрешение (INHERIT) или запрет (NO_INHERIT) наследования, то начиная с версии 0.9.14 можно указывать насколько далекие потомки данной программы будут обладать той же способностью, что и родитель. Команда вида -


lidsadm -A -s программа -o способность -j GRANT -i 0

запрещает для потомков программы указанную способность. Аналог команды -


lidsadm -A -s программа -t -o способность -j NO_INHERIT

для версии 0.9.8.

Команда вида -


lidsadm -A -s программа -o способность -j GRANT -i -1

разрещает наследование способности бесконечному уровню потоков, т.е. всем потомкам родительского процеса, потомкам потомков родительского процесса, потомкам потомков потомков и т.д., т.е. не только "детям", но "внукам", "правнукам", "праправнукам" и так до бесконечности.:)

Аналог команды -


lidsadm -A -s программа -t -o способность -j INHERIT

для версии 0.9.8.

Команда вида -


lidsadm -A -s программа -o способность -j GRANT -i 2

разрешает способность "детям" и "внукам" главного процесса. "Правнуки", "праправнуки" и т.д. такой способностью уже не обладают.

Если не указывать уровень наследования (не использовать опцию -i), то по умолчанию он равен 0.

Примеры:


lidsadm -A -s /usr/sbin/httpd -o CAP_HIDDEN -j GRANT -i -1
lidsadm -A -s /sbin/syslogd -t -o CAP_HIDDEN -j GRANT -i 0
lidsadm -A -s /sbin/klogd -t -o CAP_HIDDEN -j GRANT

Новым в версии 0.10 является поддержка доменов. Доменами в данном случае является набор каталогов и их подкаталогов и файлов, к которым имеет доступ указанная программа. Любые действия в других каталогах или с другими файлами программе запрещены.

Домен для программы создается указанием опции -d при установке правил доступа программе.


lidsadm -A -s программа -d -o каталог -j правило_доступа

Пример (для Apache):


# Каталог конфигурационных файлов
lidsadm -A -s /usr/sbin/httpd -d -o /etc/httpd -j READ
# Каталог с корневым сайтом
lidsadm -A -s /usr/sbin/httpd -d -o /home/httpd -j WRITE
# Каталог для записи логов
lidsadm -A -s /usr/sbin/httpd -d -o /var/log/httpd -j WRITE
# Доступ к разделяемым библиотекам
lidsadm -A -s /usr/sbin/httpd -d -o /usr/lib -j READ
lidsadm -A -s /usr/sbin/httpd -d -o /lib -j READ
lidsadm -A -s /usr/sbin/httpd -d -o /etc/ld.so.cache -j READ
# Файлы для запуска
lidsadm -A -s /usr/sbin/httpd -d -o /var/run -j WRITE

Пример (для MySQL):


# Каталог конфигурационных файлов
lidsadm -A -s /usr/sbin/mysqld -d -o /etc -j READ
# Каталог с файлами сообщений
lidsadm -A -s /usr/sbin/mysqld -d -o /usr/share/mysql -j READ
# Каталог с базами данных
lidsadm -A -s /usr/sbin/mysqld -d -o /var/lib/mysql -j WRITE
# Доступ к разделяемым библиотекам
lidsadm -A -s /usr/sbin/mysqld -d -o /usr/lib -j READ
lidsadm -A -s /usr/sbin/mysqld -d -o /lib -j READ
lidsadm -A -s /usr/sbin/mysqld -d -o /etc/ld.so.cache -j READ
# Файлы для запуска
lidsadm -A -s /usr/sbin/mysqld -d -o /var/run -j WRITE
# Доступ к базовому каталогу
lidsadm -A -s /usr/sbin/mysqld -d -o /usr -j READ

Для всех перечисленных в домене каталогов должны быть установлены правила доступа по умолчанию, даже если эти правила доступа - разрешение записи-чтения для всех.


lidsadm -A -o /var -j WRITE
lidsadm -A -o /etc -j READ
lidsadm -A -o /usr -j READ

В противном случае LIDS будет ругаться:


root@dhl ~# lidsadm -A -s /usr/sbin/mysqld -d -o /var/run -j WRITE
ADD
lidsadm: you must define the default rules for object files

и правило не будет добавлено.

Домены позволяют запускать программы в строго ограниченном пространстве без создания специального пользователя и без использования chroot.

Предыдущая

Содержание

Следующая


(c)Ерижоков А.А., 2001.
Использование данного документа разрешено только с согласия автора и с указанием первоисточника: DH's Linux Site


      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2012 LinuxRSP


Реклама: