Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #95, НОЯБРЬ 2006 г.

Личная неприкосновенность для тукса

Денис «dhsilabs» Колисниченко

Хакер, номер #095, стр. 095-114-1

(dhsilabs@mail.ru)

LIDS: cистема обнаружения и защиты от вторжения

LIDS (Linux Intrusion Detection System) представляет собой мощнейшую систему обнаружения и защиты от вторжения. За счет использования LIDS у администратора появляется много новых возможностей для увеличения безопасности Linux. Эта система позволяет ограничивать доступ к файлам, памяти, блочным устройствам, сетевым интерфейсам и запущенным программам, скрывать процессы от таких утилит, как ps, top, lsof, и даже опечатывать ядро, то есть запрещать загрузку и выгрузку модулей ядра. Помимо всего прочего, в состав LIDS входят детектор сканирования портов и отличная система журналирования событий. Сегодня мы настроим эту IDS таким образом, что даже если злоумышленнику удастся воспользоваться уязвимостью в сетевом демоне и заполучить права root'а, он все равно не сможет нанести нашей системе сколько-нибудь серьезный ущерб.

Как установить систему?

Система LIDS состоит из патча ядра и набора пользовательских утилит lidstools. Все это можно скачать на сайте www.lids.org/download.html. На данный момент существуют патчи для ядер веток 2.4 и 2.6. Скачиваем соответствующий патч (в моем случае это lids-2.2.1rc2-2.6.11.6.tar.gz) и набираем следующие команды:

# cd /usr/src

# tar -zxvf lids-2.2.x-2.6.x.tar.gz

# cd linux-2.6.x

# patch -p1 < /usr/src/lids-2.2.x-2.6.x/lids-2.2.x-2.6.x.patch

# make menuconfig

Теперь приступим к конфигурированию ядра. Первым делом включаем поддержку алгоритма SHA256, необходимого для работы LIDS (меню Cryptography Options/Cryptography API). Убеждаемся, что не установлено расширенное использование возможностей (модуль capability security module) и выключена SELinux, иначе LIDS будет конфликтовать с этими механизмами. После этого устанавливаем опции самой LIDS, а именно:

* Attempt Not to Flood Logs (CONFIG_LIDS_NO_LOOD_LOG) - ограничивает частоту протоколирования идентичных сообщений.

* Allow Switching the LFS and States (CONFIG_LIDS_ALLOW_SWITCH) - LFS (LIDS-free session, о ней мы поговорим чуть позже) позволяет админу выполнять команды без ограничений со стороны LIDS (это небезопасно, но может быть полезно на начальной стадии конфигурирования). Я рекомендую включить эту опцию на первые несколько дней, пока ты экспериментируешь с LIDS, а потом, когда все будет настроено, выключить ее.

* Allow Switch Off the Linux Free Session (CONFIG_LIDS_ALLOW_LFS) - позволяет выключить LIDS во время выполнения системы (как ты понимаешь, не очень хорошая идея).

* Restrict Mode Switching to Special Terminals (CONFIG_ LIDS_RESTRICT_MODE_SWITCH) - позволяет задать терминалы, с которых разрешается LFS. Можно выбрать 3 класса терминалов: консоль (console), последовательная консоль (serial console) и PTY. Третий класс наиболее опасный, поскольку позволяет злоумышленнику удаленно запустить LFS. Выбираем первый класс, позволяющий запускать LFS только пользователям, физически работающим с машиной.

Сохраняем конфиг и компилируем ядро:

# make bzImage

# make modules

# make modules_install

# make install

Копируем свежеиспеченное ядрышко в каталог /boot:

Содержание  Вперед на стр. 095-114-2
ttfb: 2.8929710388184 ms