LIDS
Установка способностей, параметры
отправки сообщения, пароль администратора
При установке 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_SWITCH=1
- MAIL_RELAY
- Здесь указывается IP и порт удаленного или
локального smtp сервера в формате IP:ПОРТ.
Рекомендуется использовать удаленный smtp-сервер.
MAIL_RELAY=127.0.0.1:25
- MAIL_SOURCE
- Указывается имя хоста, с которого отправляется
сообщение.
MAIL_SOURCE=localhost
- MAIL_FROM
- Указывается адрес отправителя.
MAIL_FROM=LIDS@my_domain.com
- MAIL_TO
- Адрес получателя.
MAIL_TO=someone@other_domain.com
- MAIL_SUBJECT
- Тема сообщения.
MAIL_SUBJECT=SOS! I'm cracked!
Пароль администратора
Пароль администратора вводится при
запуске команды lidsadm -P. В отличие от
предыдущих версий LIDS, где пароль забивался в
ядро, в версии 0.9.8 пароль можно менять
периодически, что повышает безопасность.
# lidsadm -P
MAKE PASSWD
enter password:
Verifying enter password:
Writed password into the files
В файле /etc/lids/lids.pw появилось слово
из 32 символов - это и есть твой пароль в
зашифрованном виде.
Следующий шаг - прописывание правил
доступа.
(c)Ерижоков А.А., 2000.
Использование данного документа разрешено
только с согласия автора и с указанием
первоисточника: DH's Linux Site