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
|