Личный блог Suvan`a.

Работая и играя с Linux... И что из этого иногда получается.

LIDS

Обнаружение вторжений. Установка snort.

Рубрики: Безопасность | Профилактика
Метки: |
Дата: 06/04/2011 10:49:26
Подписаться на комментарии по RSS

     Системы обнаружения вторжения (Intrusion Detection System) выполняют мониторинг сети, что позволяет обнаружить различные атаки. Большинство IDS используют два метода обнаружения вторжения: на основании сигнатуры (IDS «знает» сигнатуру многих эксплоитов) и метод обнаружения аномалий (система сначала «изучает» типичные образцы сетевого трафика сети, а затем выявляет все отклонения от образца).

     Многие IDS позволяют блокировать подозрительный трафик, по умолчанию эта функция выключена — считается, что IDS должна просто обнаруживать вторжение, а не блокировать его.

Далее...

Сравнение технологий.

Рубрики: Безопасность | Управление доступом
Метки: | | | | |
Дата: 15/07/2009 10:09:39
Подписаться на комментарии по RSS

Учитывая популярность вышеописанных систем, можно сказать, какая наиболее подходит для защиты конкретной системы. DTE является наименее распространенной, поэтому можно скон­центрировать все внимание на хорошо опробованных технологиях - SE­Linux, Grsecurity, LIDS и RSBAC.

     SELinux - самая сложная в настройке системы. Чтобы понять, как работа­ет SELinux, надо заново воспринять фундаментальные Unix-концепции пользователей, групп и прав доступа. Масла в огонь добавляет язык опи­сания правил - он очень сложен, хотя таким он кажется на первый взгляд, пока не разберешся с ним. Однако, несмотря на сложность настройки, SELinux - наверное, самая мощная и защищенная реализация МАС-модели.

     LIDS, RSBAC и Grsecurity основаны на ACL, благодаря чему данные системы заметно проще изучать, чем SELinux. Кроме данного, они содержат много дополнительных функций, к примеру определение сканирования портов (LIDS), защиту памяти РаХ (Grsecurity и RSBAC), и «укрепление» chroot (Grsecurity).

Далее...

Пример ACL для DNS-cepвepa.

Рубрики: Безопасность | Управление доступом
Метки: | | |
Дата: 15/07/2009 09:02:50
Подписаться на комментарии по RSS

Рассмотрим пример ACL, который позволяет работать DNS-серверу на машине. ACL будет состоять из двух частей. Первая часть будет содержать общий набор правил, предоставляющих базовый доступ. Эта часть универсальна - она подойдет не только для DNS-сервера, но и для разных остальных приложений, запущенных в Linux-системе.

     Во второй части будут описаны специфические для DNS-сервера правила, ограничивающие доступ к файлам, и определяющие возможности DNS-сервера. Как было написано ранее, набор правил будет представлен в виде shell-сценария, который содержит серию команд lidsconf.

     Сначала надо сделать системные исполнимые файлы и библиотеки доступными только для чтения. Обойти данное ограничение нужно только в LFS-оболочке. Итак, надо защитить каталоги /bin, /sbin, /usr и /opt:

Далее...

Реализация LIDS.

Рубрики: Безопасность | Управление доступом
Метки: | |
Дата: 10/07/2009 14:45:04
Подписаться на комментарии по RSS

Теперь, когда известно, как работает LIDS, и знакомы ее основные опции, нужно приступить к практической реализации LIDS в системе.

     Нужно помнить, что написание ACL для всей системы - очень трудоемкая задача, поэтому, как и в случае с iptables, рекомендуется создать shell-сценарий, содержащий директивы lidsconf. Первой директивой будет lidsconf -Z - эта директива удаляет все ранее существующие ACL. Этот сценарий надо поместить в /etc/lids, что сделает его невидимым за пределами LFS-сессии.

Далее...

ACL возможностей в LIDS.

Рубрики: Безопасность | Управление доступом
Метки: | | |
Дата: 10/07/2009 14:14:57
Подписаться на комментарии по RSS

Возможности.

     В ACL из предыдущей статье описано действие GRANT, предостав­ляющее возможность CAP SETUID. А возможности до этого и не рассматривались, поэтому самое время их рассмотреть.

     LIDS предоставляет расширенное применение возможностей (однако, как было отмечено до этого, модуль возможностей (capability security module) нужно отключить в ядре). Кроме стандартных возможностей Linux, LIDS дает две собственные возможности:

  • CAP_HIDDEN — процессы с установленной возможностью CAPHIDDEN не будут отображаться в /рrос, что позволяет скрыть процесс от программы ps, lsof и top.
  • CAP_INIT_KILL — если эта возможность выключена для демона, то он не будет получать KILL-сигналы.

Далее...

ACL файлов в LIDS.

Рубрики: Безопасность | Управление доступом
Метки: | | |
Дата: 09/07/2009 15:20:11
Подписаться на комментарии по RSS

В LIDS есть два типа ACL:

  • ACL файлов — контролирует доступ к файлам и каталогам.
  • ACL возможностей — регулирует возможности исполнимых файлов.

     ACL файлов.

     LIDS определяет четыре режима для объектов:

  • DENY - доступ к файлу запрещен. При обращении приложения (к примеру, Is или cat) к этому файлу, оно получит сообщение об ошибке "No such file or directory" (ENOET) - «Нет такого файла или каталога». Внешне будет выглядеть так, как будто файла не сущест­вует.
  • READ - объект может быть открыт исключительно в режиме «толь­ко чтение», запись запрещена.
  • WRITE — чтение и запись не ограничивается. LIDS не защищает этот файл.

Далее...

Администрирование LIDS.

Рубрики: Безопасность | Управление доступом
Метки: | |
Дата: 09/07/2009 14:18:24
Подписаться на комментарии по RSS

     Так как конфигурирование ядра уже было рассмотрено ранее, теперь можно заняться конфигурированием пользовательского уровня. Как и Grsecurity, LIDS позволяет управлять тем, как файлы и процессы будут взаимодействовать в системе. Кроме данного, LIDS предоставляет две очень полезные функции: LFS и «опечатывание» ядра.

     «Опечатывание» ядра (sealing the kernel).

     Загружаемые модули бывают полезны, так как они позволяют добавлять код в ядро во время выполнения ядра и без его перекомпиляции. Но, как было показано в главе 2, крекер может добавлять в ядро свои собственные модули, что крайне нежелательно. Особенно, самое лучшее решение - включить нужный код в состав ядра и отключить совсем поддержку загружаемых модулей, но вряд ли это решение будет удоб­ным.

     LIDS предлагает концепцию «опечатывания» ядра. В отдельных случаях ядро «опечатано», никто не может загрузить или выгрузить модуль. Опечатать ядро нужно с помощью команды lidsadm -I. Данную команду надо поместить в сце­нарии загрузки системы, только нужно убедиться, что до команды lidsadm -I все важные модули загружены.

Далее...