Личная неприкосновенность для тукса Денис «dhsilabs» Колисниченко Хакер, номер #095, стр. 095-114-4 -L, --list - вывести все записи; Выведи все записи и обрати внимание на правила для каталога /etc: # lidsconf -L Any file READONLY: 0 /etc Any file DENY: 0 /etc/lids Any file DENY: 0 /etc/shadow … /bin/login READONLY: 0 /etc/shadow Сначала /etc объявляется как READONLY (только чтение), затем объекты /etc/lids и /etc/shadow делаются невидимыми (DENY). Поскольку субъект не указан (Any file - любой файл), то ограничение применяется к любому процессу. Из последней строки видно, что субъекту /bin/login предоставляется доступ только для чтения к файлу /etc/shadow. Для добавления новых записей используется опция -A программы lidsconf: # lidsconf -A [тип ACL] [-s субъект] -o объект [-t с-по] \ [-i уровень] -j действие К примеру: # lidsconf -A -o /etc/hosts.conf -j READ Опция [-t с-по] позволяет установить время действия правила. Время указывается в формате ЧЧММ-ЧЧММ. Для удаления записи используется синтаксис: # lidsconf -D [тип ACL] [-s субъект] [-o объект] Здесь можно указать субъект, объект, либо тип ACL - будут удалены все совпадающие правила. Особые возможности LIDS Помимо всего прочего, LIDS предоставляет две интересные возможности: * CAP_HIDDEN: процессы с установленной возможностью CAP_HIDDEN не отображаются в /proc, что позволяет скрыть их от таких программ, как ps, top и lsof; * CAP_INIT_KILL: если эта возможность для демона выключена, то он может игнорировать сигнал SIGKILL. CAP_HIDDEN не гарантирует, что процесс будет полностью невидим. Например, сетевой демон можно обнаружить с помощью netstat или с помощью сканера портов, а также по наличию файла /var/run/название.pid. LIDS немного модифицирует возможность CAP_BIND_NET_SERVICE. Обычно эта возможность включается для процесса, которому нужно «привязаться» к привилегированному порту (с номером 0-1024). Но LIDS расширяет синтаксис этой возможности, позволяя указывать порт или диапазон портов, к которым разрешена «привязка» процесса. Ограниченный набор возможностей Ограниченный набор возможностей - это список возможностей, которые доступны процессу в системе (но необязательно установлены). Если какая-то возможность не указана в этом списке, ее нельзя назначить процессу. Соответственно, для каждого процесса можно определить свои списки возможностей. Конфигурация LIDS по умолчанию (/etc/lids.cap) разрешает все возможности, кроме следующих: * CAP_SETPCAP: возможность устанавливать возможности другого процесса (масло масляное, но это так); * CAP_SYS_MODULE: возможность загружать и выгружать модули ядра; * CAP_SYS_RAWIO: возможность прямого ввода/вывода, то есть доступа к файлам /dev/port, /dev/mem, /dev/kmem, а также прямого доступа к дискам; * CAP_KILL_PROTECTED: возможность «убивать» защищенные процессы. Например, система X.Org требует возможность CAP_SYS_RAWIO, поэтому если ты используешь графический сервер, установи ее для исполняемого файла X. Установка и модификация возможностей Установка возможностей производится с помощью все той же утилиты lidsconf. Добавить новую возможность можно точно так же, как новое правило для файла. Синтаксис аналогичен, единственное отличие - используется действие GRANT. Добавим возможность запуска X.Org: |