Linux - Алексей Стахнов
Шрифт:
Интервал:
Закладка:
В отличие от других средств защиты операционной системы Linux, эту систему невозможно отключить, не зная пароля администратора LIDS, который в зашифрованном виде хранится в специальном файле, видимом только программой администрирования LIDS. Точно так же защищены и конфигурационные файлы LIDS. Даже узнав каким-то образом пароль администратора LIDS, отключить систему можно, только находясь за консолью компьютера.
LIDS позволяет распределять права доступа к файлам на уровне программ, а не на уровне пользователей, а также запретить перезапуск операционной системы, загрузку/выгрузку модулей ядра и многое другое.
Информация о всех действиях, имеющих отношение к защищаемым объектам, помимо записи в log-файлах может немедленно отправляться по электронной почте.
Помимо всего прочего, в LIDS присутствует встроенный детектор сканирования сетевых портов.
Установка
После получения пакета LIDS необходимо разархивировать его и наложить патч на исходники ядра операционной системы Linux. После этого следуйте инструкции – там все понятно – компилируем, устанавливаем.
Далее, нам необходимо перекомпилировать ядро операционной системы Linux с поддержкой LIDS. Для этого в пункте меню конфигурации ядра Code maturity level options необходимо включить опцию Prompt for development and/or incomplete code/drivers .
После этого в пункте меню General setup необходимо включить опцию Sysctl support .
Далее необходимо зайти в меню Linux Intrusion Detection System. Это меню полностью относится к конфигурированию LIDS. Первым идет включение поддержки LIDS в ядре:[*] Linux Intrusion Detection System support (EXPERIMENTAL)
После включения поддержки LIDS станет доступным список опций настройки LIDS:
• Maximum protected objects to manage – этот пункт позволяет установить максимальное количество защищаемых объектов;
• Maximum ACL subjects to manage – позволяет установить максимальное количество субъектов правил доступа LIDS;
• Maximum ACL objects to manage – позволяет установить максимальное количество объектов правил доступа LIDS;
• Maximum protected proceeds – позволяет установить максимальное количество защищаемых процессов;
• Hang up console when raising securit alert – разрешает закрытие консоли, с которой произошло нарушение безопасности;
• Security alert when execing unprotected programs before sealing LIDS – разрешает вывод сообщения о нарушении безопасности при запуске незащищенных программ;
• Do not execute unprotected programs before sealing LIDS – включает запрет на запуск незащищенных программ до установки способностей;
• Try not to flood logs – при включении этой опции LIDS не будет записывать в log-файлы дублирующиеся сообщения об одном и том же нарушении защиты;
• Autorized time between two identic logs (seconds) – устанавливается время в секундах, в течение которых проверяется появление двух идентичных сообщений, чтобы не записывать одинаковые сообщения в log-файлы;
• Allow switching LIDS protections – включает возможность отключения и включения LIDS в процессе работы системы после ввода пароля. При включении данной опции появляется возможность поменять любые параметры работы без перезагрузки операционной системы;
• Numbers of attempts to submit password – определяет количество попыток ввода пароля, по истечении которых отключение LIDS становится невозможным на заданный далее промежуток времени;
• Time to wait after fail (seconds) – время в секундах, в течение которого после ввода неправильного пароля указанное количество раз, отключение LIDS становится невозможным;
• Allow remote users to switch LIDS protections – дает возможность удаленным пользователям отключать LIDS. С целью увеличения безопасности вашей операционной системы не включайте эту опцию;
• Allow any program to switch LIDS protections – позволяет любой программе отключать LIDS. Не включайте эту опцию;
• Allow reloading config. File – разрешает переконфигурирование LIDS без перезагрузки компьютера;
• Port Scanner Detector in kernel – позволяет в ядро операционной системы добавить детектор сканирования портов;
• Send security alerts through network – разрешает отправку электронной почты при нарушении безопасности на указанный электронный адрес с информацией о нарушении. Письмо отправляется незамедлительно при попытке совершения несанкционированных действий;
• Hide klids network threads – позволяет скрывать сетевые соединения LIDS;
• Number of connection tries before giving up – задается количество попыток соединения с SMTP-сервером;
• Sleep time after a failed connection – задает время в секундах между попытками соединения с почтовым сервером;
• Message queue size – определяет максимальное количество почтовых сообщений в очереди. При превышении данного количества самое старое неотправленное сообщение удаляется из очереди;
• LIDS debug – используется для включения вывода отладочных сообщений LIDS.
После конфигурирования можно компилировать и устанавливать ядро операционной системы.
Конфигурирование LIDS
После установки LIDS в каталоге /etc появляется каталог lids, содержащий следующие конфигурационные файлы:
• lids.cap – предназначен для хранения текущих значений установок способностей;
• lids.net – предназначен для настройки отправки электронных сообщений системой LIDS;
• lids.pw – в этом файле записан в зашифрованном виде пароль администратора. Изменять этот файл можно только с помощью lidsadm;
• lids.conf – файл содержит текущие установки правил доступа. Изменять этот файл можно только с помощью lidsadm.
СпособностиСпособности (capabilities) – определяют возможность программ совершать какие-либо действия. LIDS позволяет использовать по отношению к программам большое количество способностей. В частности, LIDS поддерживает способность перезагружать компьютер, изменять владельца файла, загружать или выгружать модули ядра и многое другое.
Текущие установки способностей хранятся в файле lids.cap в формате:
[+I-] Номер: Способность
Здесь:
• + – включает способность;
• – – отключает способность.
Редактировать файл lids.cap можно с помощью любого текстового редактора.
Включение способности влияет на все программы без исключения, а выключение влияет на все программы, кроме тех, которым напрямую указана данная способность с помощью правил доступа lidsadm.
Сразу после установки LIDS файл lids.cap содержит включенными следующие способности:
• CAP_CHOWN – устанавливает способность программ изменять владельца и группу владельца файла;
• CAP_DAC_OVERRIDE – разрешает программам, запускаемым пользователем root, не принимать во внимание режимы доступа к файлам. При отключении этой способности пользователь root теряет возможность изменять любые файлы, невзирая на права доступа;
• CAP_DAC_READ_SEARCH – то же самое, что и предыдущая способность, только по отношению к каталогам;
• CAP_FOWNER – разрешает операции с файлами, когда владелец файла должен совпадать с пользователем, совершающим операцию;
• CAP_FSETID – разрешает установку SUID– или SGID-бита на файлах, не принадлежащих пользователю root;
• CAP_KILL – разрешает процессам пользователя root «убивать» чужие процессы;
• CAP_SETGID – управляет способностью программ пользователя root изменять группу, под которой работает программа;
• CAP_SETUID – управляет способностью программ пользователя root изменять пользователя, под которым работает программа;
• CAP_SETPCAP – разрешает программам менять способности;
• CAP_LINUX_IMMUTABLE – управляет способностью снимать атрибуты S_IMMUTABLE и S_APPEND с файлов;
• CAP_NET_BIND_SERVICE – разрешает программам использовать сетевой порт, меньший чем 1024;
• CAP_NET_BROADCAST – управляет способностью программ рассылать широковещательные пакеты;
• CAP_NET_ADMIN – параметр управляет большим количеством различных способностей: конфигурирование сетевых интерфейсов, изменение правил брандмауэра, изменение таблиц маршрутизации и многих других, связанных с сетевыми настройками Linux;
• CAP_NET_RAW – управляет способностью программ использовать сокеты;
• CAP_IPC_LOCK – управляет способностью процессов пользователя root блокировать сегменты разделяемой памяти;
• CAP_IPC_OWNER – управляет доступом программ пользователя root к ресурсам межпроцессорного взаимодействия процессов, не принадлежащих пользователю root;
• CAP_SYS_MODULE – управляет способностью загружать модули ядра;
• CAP_SYS_RAWIO – управляет доступом на чтение/запись к таким устройствам, как /dev/mem, /dev/kmem, /dev/port, /dev/hdXX, /dev/sdXX;
• CAP_SYS_CHROOT – управляет способностью устанавливать корневой каталог для текущей командной оболочки;
• CAP_SYS_PTRACE – этот параметр включает способность программ использовать вызов функции ptrace (), которая позволяет управлять выполнением процессов-потомков процессу-родителю;
• CAP_SYS_PACCT – управляет способностью конфигурировать учет процессов;
• CAP_SYS_ADMIN – управляет множеством способностей: управление устройством /dev/random, создание новых устройств, конфигурирование дисковых квот, настройка работы klogd, установка имени домена, установка имени хоста, сброс кэша, монтирование и размонтирование дисков, включение/отключение swap-раздела, установка параметров последовательных портов и многое другое;