Установка способностей, параметры отправки сообщения, пароль администратора

При установке 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