Реализация LIDS.
Теперь, когда известно, как работает LIDS, и знакомы ее основные опции, нужно приступить к практической реализации LIDS в системе.
Нужно помнить, что написание ACL для всей системы - очень трудоемкая задача, поэтому, как и в случае с iptables, рекомендуется создать shell-сценарий, содержащий директивы lidsconf. Первой директивой будет lidsconf -Z - эта директива удаляет все ранее существующие ACL. Этот сценарий надо поместить в /etc/lids, что сделает его невидимым за пределами LFS-сессии.
ACL возможностей в LIDS.
Рубрика: Безопасность -> Управление доступом
Метки: ACL | Apache | LIDS | Lidsconf
Возможности.
В ACL из предыдущей статье описано действие GRANT, предоставляющее возможность CAP SETUID. А возможности до этого и не рассматривались, поэтому самое время их рассмотреть.
LIDS предоставляет расширенное применение возможностей (однако, как было отмечено до этого, модуль возможностей (capability security module) нужно отключить в ядре). Кроме стандартных возможностей Linux, LIDS дает две собственные возможности:
- CAP_HIDDEN — процессы с установленной возможностью CAPHIDDEN не будут отображаться в /рrос, что позволяет скрыть процесс от программы ps, lsof и top.
- CAP_INIT_KILL — если эта возможность выключена для демона, то он не будет получать KILL-сигналы.
ACL файлов в LIDS.
Рубрика: Безопасность -> Управление доступом
Метки: ACL | LIDS | lidsadm | Lidsconf
В LIDS есть два типа ACL:
- ACL файлов — контролирует доступ к файлам и каталогам.
- ACL возможностей — регулирует возможности исполнимых файлов.
ACL файлов.
LIDS определяет четыре режима для объектов:
- DENY - доступ к файлу запрещен. При обращении приложения (к примеру, Is или cat) к этому файлу, оно получит сообщение об ошибке "No such file or directory" (ENOET) - «Нет такого файла или каталога». Внешне будет выглядеть так, как будто файла не существует.
- READ - объект может быть открыт исключительно в режиме «только чтение», запись запрещена.
- WRITE — чтение и запись не ограничивается. LIDS не защищает этот файл.
Администрирование LIDS.
Так как конфигурирование ядра уже было рассмотрено ранее, теперь можно заняться конфигурированием пользовательского уровня. Как и Grsecurity, LIDS позволяет управлять тем, как файлы и процессы будут взаимодействовать в системе. Кроме данного, LIDS предоставляет две очень полезные функции: LFS и «опечатывание» ядра.
«Опечатывание» ядра (sealing the kernel).
Загружаемые модули бывают полезны, так как они позволяют добавлять код в ядро во время выполнения ядра и без его перекомпиляции. Но, как было показано в главе 2, крекер может добавлять в ядро свои собственные модули, что крайне нежелательно. Особенно, самое лучшее решение - включить нужный код в состав ядра и отключить совсем поддержку загружаемых модулей, но вряд ли это решение будет удобным.
LIDS предлагает концепцию «опечатывания» ядра. В отдельных случаях ядро «опечатано», никто не может загрузить или выгрузить модуль. Опечатать ядро нужно с помощью команды lidsadm -I. Данную команду надо поместить в сценарии загрузки системы, только нужно убедиться, что до команды lidsadm -I все важные модули загружены.
Установка LIDS: системы обнаружения и защиты от вторжений.
Начально LIDS была несложной системой обнаружения вторжения, но с годами процесс улучшался и трансформировался в комплексную систему обеспечения безопасности Linux-машины.
Сейчас LIDS «доросла» до уровня Grsecurity и кое в чем даже превосходит ее. Преимуществом второй версии LIDS представляется поддержка LSM (загружаемых модулей безопасности), в ранних версиях такой поддержки не было, что затрудняло установку системы и работу с ней.