При
установке LIDSadm в каталоге /etc появляется каталог LIDS, содержащий
четыре файла с параметрами настройки LIDS:
LIDS.cap
В
этом файле хранятся текущие значения установок способностей.
LIDS.net
Этот
файл содержит настройки отправки сообщения на удаленный почтовый аккаунт.
LIDS.pw
Здесь
записан в зашифрованном методом RipeMD-160 виде пароль администратора.
Изменять этот файл можно только с помощью LIDSadm!
LIDS.conf
Текущие
установки правил доступа. Изменять этот файл можно только с помощью
LIDSadm!
Способности
(capabilities) - это привилегии программ совершать какие-либо действия.
LIDS позволяет устанавливать и отменять большое количество способностей.
LIDS поддерживает способность перезагружать компьютер (CAP_SYS_BOOT),
изменять владельца файла (CAP_CHOWN), загружать/выгружать модули ядра
(CAP_SYS_MODULE) и многие другие.
Текущие
установки способностей хранятся в файле /etc/LIDS/LIDS.cap в формате:
[+|-] Номер:Способность. + включает способность, - - отключает, например
+22:CAP_SYS_BOOT разрешает перезагрузку, -22:CAP_SYS_BOOT - запрещает.
Изменять его можно (да и нужно) с помощью любого текстового редактора.
Выключение способности влияет на все программы, кроме тех, которым напрямую
указана данная способность с помощью правил доступа LIDSadm. Включение
способности влияет на все программы без исключения. Нельзя включить
способность у всех программ, а у нескольких выключить. Первоначальное
содержимое файла такое:
+0:CAP_CHOWN
+1:CAP_DAC_OVERRIDE
+2:CAP_DAC_READ_SEARCH
+3:CAP_FOWNER
+4:CAP_FSETID
+5:CAP_KILL
+6:CAP_SETGID
+7:CAP_SETUID
+8:CAP_SETPCAP
-9:CAP_LINUX_IMMUTABLE
-10:CAP_NET_BIND_SERVICE
+11:CAP_NET_BROADCAST
-12:CAP_NET_ADMIN
-13:CAP_NET_RAW
+14:CAP_IPC_LOCK
+15:CAP_IPC_OWNER
-16:CAP_SYS_MODULE
-17:CAP_SYS_RAWIO
-18:CAP_SYS_CHROOT
+19:CAP_SYS_PTRACE
+20:CAP_SYS_PACCT
-21:CAP_SYS_ADMIN
+22:CAP_SYS_BOOT
+23:CAP_SYS_NICE
+24:CAP_SYS_RESOURCE
+25:CAP_SYS_TIME
+26:CAP_SYS_TTY_CONFIG
+27:CAP_HIDDEN
+28:CAP_INIT_KILL
Остановлюсь
поподробней на каждой из них:
CAP_CHOWN
С
помощью этого параметра устанавливается способность программ изменять
владельца и группу владельца файла.
CAP_DAC_OVERRIDE
Включает/отключает
способность программ, запускаемых под root'ом, не принимать во внимание
режимы доступа к файлам. Например, при включенной данной способности
root может открыть и изменить файл, который принадлежит dh и имеет
режим доступа 0600, при отключенной данной опции, root не в состоянии
будет даже открыть данный файл. Короче говоря, root при отключении
данной способности приравнивается к обыкновенному пользователю при
доступе к файлам.:)
CAP_DAC_READ_SEARCH
Включает/отключает
способность программ, запускаемых под root'ом, не принимать во внимание
режимы доступа к каталогам (чтение и поиск).
CAP_FOWNER
Запрещает/разрешает
операции с файлами, когда владелец файла должен совпадать с пользователем,
совершающим операцию. Например, изменение режима доступа к файлу (chmod).
Режим доступа может изменять либо владелец файла, либо root. При отключении
этой способности, root уже будет не в состоянии изменить режим доступа.:)
То же относится к изменению атрибутов файлов (chattr).
CAP_FSETID
Запрещает/разрешает
установку SUID'ного или SGID'ного бита на чужих файлах (не принадлежащих
root'у).
CAP_KILL
Включает/отключает способность root'овых процессов убивать чужие процессы.
CAP_SETGID
Управляет способностью root'овых программ сменять группу, под которой
работает программа. Так работает, например, httpd, sendmail, postfix,
ftpd, safe_finger и т.д.
CAP_SETUID
Управляет
способностью root'овых программ сменять пользователя, под которым
работает программа.
CAP_SETPCAP
Включает/отключает
способность программ менять способности.
CAP_LINUX_IMMUTABLE
Управляет
способностью снимать атрибуты S_IMMUTABLE (chattr -i) и S_APPEND (chattr
-a) с файлов. Рекомендуется отключить данную способность.
CAP_NET_BIND_SERVICE
Включает/отключает
способность программ привязываться к порту с номером <1024.
CAP_NET_BROADCAST
Управляет
способностью программ рассылать широковещательные пакеты.
CAP_NET_ADMIN
Этот
параметр управляет большим количеством различных способностей: конфигурирование
сетевых интерфейсов, изменение правил firewall'а, изменение таблиц
routing'а и многих других, связанных с сетевыми настройками Linux.
Рекомендуется отключить данную способность.
CAP_NET_RAW
Управляет
способностью программ использовать сокет-соединения.
CAP_IPC_LOCK
Управляет
способностью root'овых процессов блокировать сегменты разделяемой
памяти.
CAP_IPC_OWNER
Управляет
доступом root'овых программ к ресурсам межпроцессорного взаимодействия
чужих процессов.
CAP_SYS_MODULE
Управляет
способностью загружать/выгружать модули ядра. Рекомендуется отключить
данную способность.
CAP_SYS_RAWIO
Управляет
доступом на чтение-запись к таким устройствам, как /dev/mem,/dev/kmem,/dev/port,
/dev/hd??, /dev/sd??. Рекомендуется отключить данную способность.
CAP_SYS_CHROOT
Управляет
способностью устанавливать корневой каталог для текущего shell'а.
Рекомендуется отключить данную способность.
CAP_SYS_PTRACE
Данный
параметр включает/отключает способность программ использовать вызов
функции ptrace(), которая позволяет управлять выполнением процессов-потомков
процессу-родителю. Для более подробной информации смотри man ptrace.
CAP_SYS_PACCT
Управляет
способностью конфигурировать учет процессов. Для более подробной информации
смотри man ac, man lastcomm, man accton, man sa. Рекомендуется отключить
данную способность.
CAP_SYS_ADMIN
Управляет
множеством способностей: управление /dev/random, создание новых устройств,
конфигурирование дисковых квот, настройка работы klogd, установка
имени домена, установка имени хоста, сброс кэша, монтирование/размонтирование
дисков, включение/отключение swap-партиции, установка параметров последовательных
портов и др. Рекомендуется отключить данную способность.
CAP_SYS_BOOT
Данный
параметр управляет способностью перегружать систему.
CAP_SYS_NICE
Управляет
способностью изменять приоритет чужих процессов. Рекомендуется выключить
данную способность.
CAP_SYS_RESOURCE
Способность
изменять лимиты использования ресурсов системы: дисковые квоты, зарезервированное
пространство на ext2-партициях, максимальное количество консолей и
т.д. Рекомендуется выключить данную способность.
CAP_SYS_TIME
Управляет
способностью изменять системное время. Рекомендуется выключить данную
способность.
CAP_SYS_TTY_CONFIG
Способность
изменять настройки tty-устройств.
CAP_HIDDEN
Способность
программ делаться невидимыми в списке процессов. Не влияет на все
программы. Рекомендуется включить данную опцию.
CAP_INIT_KILL
Способность
убивать процессы-потомки процесса init. К таким процессам относятся
практически все демоны.
Первоначально
можно установить следующие настройки:
+0:CAP_CHOWN
+1:CAP_DAC_OVERRIDE
+2:CAP_DAC_READ_SEARCH
+3:CAP_FOWNER
+4:CAP_FSETID
+5:CAP_KILL
+6:CAP_SETGID
+7:CAP_SETUID
+8:CAP_SETPCAP
+9:CAP_LINUX_IMMUTABLE
+10:CAP_NET_BIND_SERVICE
+11:CAP_NET_BROADCAST
+12:CAP_NET_ADMIN
+13:CAP_NET_RAW
+14:CAP_IPC_LOCK
+15:CAP_IPC_OWNER
-16:CAP_SYS_MODULE
-17:CAP_SYS_RAWIO
+18:CAP_SYS_CHROOT
+19:CAP_SYS_PTRACE
+20:CAP_SYS_PACCT
-21:CAP_SYS_ADMIN
+22:CAP_SYS_BOOT
+23:CAP_SYS_NICE
+24:CAP_SYS_RESOURCE
+25:CAP_SYS_TIME
+26:CAP_SYS_TTY_CONFIG
+27:CAP_HIDDEN
+28:CAP_INIT_KILL
Это
защитит систему от простейших атак, а остальное меняй на свое усмотрение.
Для
первоначальной (в процессе загрузки) инициализации параметров способностей
используется команда LIDSadm -I. Обычно ее ставят в какой-нибудь rc-скрипт,
после запуска всех демонов. Можно поставить ее в конце /etc/rc.d/rc.local.
Таким образом, отключение способностей сработает только после запуска
всех необходимых для работы сервера программ. Например, если ты отключил
CAP_NET_ADMIN - это никак не повлияет на инициализацию твоих сетевых
интерфейсов lo, ethX, pppX и т.д. при начальной загрузке.
Файл
/etc/LIDS/LIDS.net, отвечающий за параметры отправки сообщения о нарушении
безопасности, состоит из строк, имеющих следующий формат:
ПАРАМЕТР=ЗНАЧЕНИЕ_ПАРАМЕТРА
Параметры
могут быть следующие:
MAIL_SWITCH
Данный
параметр показывает, включена (значение 1) или отключена (значение
0) функция отправки сообщения.
MAIL_RELAY
Здесь
указывается IP и порт удаленного или локального smtp сервера в формате
IP:ПОРТ. Рекомендуется использовать удаленный smtp-сервер.
MAIL_SOURCE
Указывается
имя хоста, с которого отправляется сообщение.
MAIL_FROM
Указывается
адрес отправителя.
MAIL_FROM=LIDS@my_domain.com
MAIL_TO
Адрес
получателя.
MAIL_TO=someone@other_domain.com
|