Исследование уровня безопасности операционной системы Linux
игурационные файлы
LIDS. Помимо этого система имеет одно очень существенное преимущество: зная
пароль администратора LIDS, систему можно отключить только с локальной
консоли компьютера.
Для того, чтобы установить LIDS, необходимо включить поддержку этой
системы в ядре, что требует наложения заплаток на исходные файлы ядра и
включение возможностей LIDS при конфигурировании ядра до его сборки. После
включения в ядре поддержки LIDS станет доступным список параметров LIDS.
Также пакет LIDS включает программы для настройки этой системы.
После установки LIDS в каталоге /etc появится каталог lids, содержащий
следующие конфигурационные файлы:
lids.cap – этот файл предназначен для хранения текущих значений
установок способностей.
lids.net – файл предназначен для настройки отправки электронных
сообщений системой LIDS.
lids.pw – в этом файле записан в зашифрованном виде пароль
администратора. Изменять этот файл можно только с помощью программы lidsadm
пакета LIDS.
lids.conf – этот файл содержит текущие установки правил доступа.
Изменять этот файл может только программа lidsadm.
При установке различных ограничений LIDS использует так называемые
способности.
Способность – это возможность программ совершать какие-либо действия.
Все способности устанавливаются в файле /etc/lids/lids.cap. Этот файл
имеет следующий формат:
[ + | - ] <номер>:<способность>
“+” включает соответствующую способность, а “–“ выключает ее.
номер – порядковый номер способности.
способность – наименование способности.
Редактирование файла /etc/lids/lids.cap можно производить с помощью
любого текстового редактора. Включение способностей влияет на все программы
без исключения, а выключение влияет на все программы, кроме тех, которым
напрямую указана данная способность с помощью правил доступа lidsadm.
После установки файл /etc/lids/lids.cap содержит включенными следующие
способности:
. CAP_CHOWN – устанавливает способность программ изменять владельца и
группу-владельца файла;
. CAP_DAC_OVERRIDE – разрешает программам, запускаемым привилегированным
пользователем, не принимать во внимание режимы доступа к файлам. При
отключении этой способности пользователь root теряет возможность изменять
файлы, если ему напрямую не заданы права доступа;
. CAP_DAC_READ_SEARCH – определяет то же самое, что и CAP_DAC_OVERRIDE,
только в данном случае ограничение распространяется только на каталоги;
. CAP_FOWNER – разрешает операции с файлами, когда владелец файла должен
совпадать с пользователем, совершающим операцию;
. CAP_FSETID – разрешает установку бит SUID и SGID на файлах, не
принадлежащих пользователю root;
. CAP_KILL – разрешает процессам привилегированного пользователя уничтожать
другие процессы;
. CAP_SETGID, CAP_SETUID – управляет способностью программ
привилегированного пользователя изменять группу и пользователя, под
которыми работает программа;
. CAP_SETPCAP – позволяет программам менять способности;
. CAP_LINUX_IMMUTABLE – управляет способностью снимать расширенные атрибуты
immutable и append с файлов;
. CAP_NET_BIND_SERVICE – разрешает программам, выполняющимся не от имени
пользователя root, использовать сетевой порт ниже 1024;
. CAP_NET_BROADCAST – управляет способностью программ рассылать
широковещательные пакеты;
. CAP_NET_ADMIN – параметр управляет большим количеством различных
способностей: конфигурирование сетевых интерфейсов, изменение правил
брандмауэра, изменение таблиц маршрутизации и других способностей,
связанных с сетевыми настройками Linux;
. CAP_NET_RAW – управляет способностью программ использовать гнезда;
. CAP_IPC_LOCK – управляет способностью процессов привилегированного
пользователя блокировать сегменты разделяемой памяти;
. CAP_IPC_OWNER – управляет доступом программ пользователя root к ресурсам
межпроцессорного взаимодействия процессов, не принадлежащих пользователю
root;
. CAP_SYS_MODULE – управляет способностью загружать модули ядра;
. CAP_SYS_RAWIO – управляет низкоуровневым доступом на чтение/запись к
таким устройствам, как /dev/mem, /dev/kmem, /dev/port, /dev/hd*,
/dev/sd*;
. CAP_SYS_CHROOT – управляет способностью устанавливать корневой каталог
для текущей командной оболочки;
. CAP_SYS_PTRACE – позволяет программам использовать вызов функции
ptrace(), которая позволяет процессу-родителю управлять выполнением
процессов-потомков;
. CAP_SYS_PACCT – управляет способностью конфигурировать учет процессов;
. CAP_SYS_ADMIN – управляет множеством способностей: управление устройством
/dev/random, создание новых устройств, конфигурирование дисковых квот,
настройка работы klogd, установка доменного имени компьютера, сброс кэша,
монтирование и размонтирование дисков, включение и отключение раздела
виртуальной памяти, установка параметров последовательных портов и многое
другое;
. CAP_SYS_BOOT – управляет способностью перезагружать систему;
. CAP_SYS_NICE – управляет способностью изменять приоритет процессов, не
принадлежащих привилегированному пользователю;
. CAP_SYS_RESOURCE – управляет способностью изменять предельные значения
использования ресурсов системы: дисковые квоты, зарезервированное
пространство на разделах с файловой системой ext2, максимальное
количество консольных программ и так далее;
. CAP_SYS_TIME – управляет способностью изменять системное время;
. CAP_SYS_TTY_CONFIG – управляет способностью изменять настройки устройств
tty;
. CAP_HIDDEN – управляет способностью программ становится невидимыми в
списке выполняемых процессов. Не влияет на все программы;
. CAP_INIT_KILL – управляет способностью уничтожать процессы-потомки
процесса init;
Для вступления в действие способностей, необходимо сразу после загрузки
системы и запуска всех сервисов выполнить команду
lidsadm –I
Эта команда обычно записывается в один из файлов сценариев, выполняемых
при загрузке системы.
Помимо способностей система LIDS позволяет задавать правила доступа к
дисковым ресурсам. Все управление LIDS осуществляется с помощью программы
lidsadm. Эта программа способна работать в двух режимах: режиме настройки
правил доступа и режиме ввода команд администрирования. Все установки
правил доступа находятся в файле /etc/lids/lids.conf. Для их просмотра
необходимо запустить программу lidsadm с параметром –L.
[root@app /]# lidsadm –L
LIST
Subject ACCESS TYPE Object
-------------------------------------------------------------
Any File READ /sbin
Any File READ /bin
Any File READ /boot
Any File READ /lib
Any File READ /usr
Any File DENY /etc/shadow
/bin/login READ /etc/shadow
/bin/su READ /etc/shadow
Any File APPEND /var/log
Any File WRITE /var/log/wtmp
…
Правила доступа состоят из трех элементов: субъекта, объекта и цели.
Объектом является любой файл или каталог, на который должны действовать
правила доступа и защита LIDS. Если в качестве объекта указан каталог, то
все файлы в нем и вложенные подкаталоги с их файлами автоматически
становятся объектами.
Субъектом является любая защищенная программа, которой дают доступ к
защищаемому объекту. Поэтому, прежде чем использовать программу в качестве
субъекта, ее саму надо защитить средствами LIDS, применив к ней правила
доступа как к объекту. Если субъект не указан, субъектом является любая
программа.
Целью является тип доступа субъекта к объекту. Существуют следующие
типы доступа:
. READ – доступ на чтение;
. WRITE – доступ на запись;
. DENY – запрет на какой-либо доступ вообще;
. APPEND – открытие только для записи в конец файла;
. IGNORE – игнорирование защиты.
Построение прав доступа подробно описано в соответствующих файлах
документации и man-руководствах.
3.3. AIDE
AIDE (Advanced Intrusion Detection Environment) – расширенное окружение
обнаружения вторжений. Основное назначение программного продукта AIDE –
обнаружения изменения файлов, их атрибутов, прав доступа, пользователей
владельцев, размера, количества ссылок на файл и других параметров, которые
присущи файлу в Linux.
Программный пакет AIDE создает базу данных всех файлов, перечисленных в
основном конфигурационном файле программы aide.conf. В базу помимо
стандартных атрибутов файла записывается также криптографическая
контрольная сумма или хэш каждого файла, вычисленных с использованием
одного или комбинации следующих алгоритмов шифрования: SHA1, MD5, RMD160,
TIGER.
Сразу после установки и настройки необходимых сервисов и программ, но
перед подключением системы к сети, администратор должен создать базу AIDE.
Это база будет содержать информацию о файлах в их первоначальном виде.
Обычно к контролируемым файлам относятся все бинарные файлы, исполняемые
файлы, конфигурационные файлы системы и программ, заголовочные файлы, файлы
исходного кода и другие файлы, изменение которых после установки
практически не производится.
Для создания базы данных программа aide запускается с параметром –ini
| | скачать работу |
Исследование уровня безопасности операционной системы Linux |