Личная неприкосновенность для тукса Денис «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: |