RUSSIAN

Администрирование системы защиты SELinux

Book information

Publisher
ДМК Пресс
Year
2020
ISBN
9785970605578, 9781787126954
Language
russian
Format
PDF
Filesize
2 MB (2519294 bytes)
Pages
300\300
Time added
2021-03-15 14:27:40

Description

Эта книга показывает, как значительно усилить безопасность операционной системы Linux и устранить имеющиеся уязвимости установленных приложений. Вы узнаете, как работает SELinux, как можно настроить ее под свои нужды и усилить с ее помощью защиту систем виртуализации, включающих технологию libvirt (sVirt) и контейнеризацию Docker. Также рассказывается об управляющих действиях, позволяющих улучшить безопасность конкретной системы с помощью принудительного контроля доступа – стратегии защиты, определяющей безопасность Linux уже много лет. Большинство возможностей системы защиты рассматривается на реальных примерах. Книга предназначена для администраторов операционной системы Linux, в задачу которых входит управление ее защищенностью. Администрирование SELinux_10-03-2020.pdf Об авторе О рецензентах Предисловие Фундаментальные концепции SELINUX 1.1. Предоставление большей безопасности в Linux 1.1.1. Использование модулей безопасности Linux 1.1.2. Расширение возможностей стандартного дискреционного разграничения доступа 1.1.3. Ограничение привилегий пользователя root 1.1.4. Сокращение воздействия уязвимостей 1.1.5. Включение возможностей SELi­nux в операционной системе 1.2. Маркировка всех ресурсов и объектов 1.2.1. Описание параметров безопасности 1.2.2. Принудительный доступ посредством типов функциональных ограничений 1.2.3. Распределение по ролям наборов функциональных ограничений 1.2.4. Разделение пользователей по ролям 1.2.5. Контроль информационных потоков посредством мандатного механизма 1.3. Формирование и распределение политик 1.3.1. Создание политик SELi­nux 1.3.2. Распределение политик в виде модулей 1.3.3. Комплектация модулей в хранилище политик 1.4. Различия между политиками 1.4.1. Поддержка многоуровневой защиты (MLS) 1.4.2. Манера поведения с неизвестными разрешениями 1.4.3. Поддержка неограниченных доменов 1.4.4. Ограничение межпользовательского обмена 1.4.5. Последовательные изменения версий политик 1.4.6. Качественное изменение версий политик 1.5. Заключение Режимы работы и регистрация событий 2.1. Включение и выключение защиты SELi­nux 2.1.1. Установка глобального состояния защиты 2.1.2. Переключение в рекомендательный и принудительный режимы 2.1.3. Использование параметров загрузки ядра 2.1.4. Отключение защиты SELi­nux для отдельно взятого сервиса 2.1.5. Определение приложений, активно взаимодействующих с SELi­nux 2.2. Регистрация событий и аудит в SELi­nux 2.2.1. Последовательность контроля событий о нарушениях безопасности 2.2.2. Исключение конкретных отказов в доступе из числа регистрируемых 2.2.3. Конфигурирование подсистемы контроля событий безопасности Linux 2.2.4. Настройка локального системного регистратора событий 2.2.5. Разбор информации об отказах SELi­nux 2.2.6. Другие типы событий, связанные с SELi­nux 2.2.7. Использование команды ausearch 2.3. Получение помощи при отказах 2.3.1. Диагностика неисправности с помощью службы setroubleshoot 2.3.2. Отправка электронной почты, когда случился отказ SELi­nux 2.3.3. Использование утилиты audit2why 2.3.4. Взаимодействие с журналом system 2.3.5. Использование здравого смысла 2.4. Заключение Управление учетными записями пользователей 3.1. Параметры безопасности пользователей 3.1.1. Сложность допустимого набора функций 3.1.2. Определение неограниченных доменов 3.2. Пользователи SELi­nux и их роли 3.2.1. Перечень сопоставлений пользователей с пользовательскими типами SELi­nux 3.2.2. Сопоставление учетных записей с пользовательскими типами 3.2.3. Настройка учетных записей относительно служб 3.2.4. Создание типов пользователей SELi­nux 3.2.5. Перечень типов допустимого набора функций у ролей 3.2.6. Управление категориями 3.3. Управление ролями SELi­nux 3.3.1. Настройки присвоения допустимых ролей пользователю 3.3.2. Проверка параметров безопасности при помощи утилиты getseuser 3.3.3. Подключение ролей с помощью команды newrole 3.3.4. Управление доступом к роли с помощью команды sudo 3.3.5. Переключение параметров безопасности посредством runcon 3.3.6. Переключение на системную роль 3.4. SELi­nux и PAM (подключаемые модули аутентификации) 3.4.1. Назначение параметров безопасности с помощью подключаемых модулей аутентификации 3.4.2. Запрещение доступа в рекомендательном режиме работы защиты 3.4.3. Многоэкземплярность каталогов 3.5. Заключение Домены как допустимые наборы функций для процессов и контроль доступа на уровне файлов 4.1. О параметрах безопасности файлов 4.1.1. Получение информации о параметрах безопасности 4.1.2. Интерпретация наименований типов SELi­nux 4.2. Закрепление параметров безопасности за объектом и их игнорирование 4.2.3. Наследование параметров безопасности по умолчанию 4.2.4. Правила преобразования типов и их вывод 4.2.5. Копирование и перемещение файлов 4.2.6. Временное изменение параметров безопасности файла 4.2.7. Установка категорий для файлов и каталогов 4.2.8. Использование многоуровневой защиты для файлов 4.2.9. Резервное копирование и восстановление расширенных атрибутов 4.2.10. Использование опций монтирования для установки параметров SELi­nux 4.3. Формулировка параметров безопасности для файлов 4.3.1. Использование выражений, описывающих параметры безопасности 4.3.2. Регистрация изменений параметров безопасности файлов 4.3.3. Использование заказных типов 4.3.4. Различные виды файлов file_contexts и их компиляция 4.3.5. Обмен локальными изменениями 4.4. Изменение параметров безопасности у файлов 4.4.1. Использование команд setfiles, rlpkg и fixfiles 4.4.2. Изменение параметров безопасности на всей файловой системе 4.4.3. Автоматическое приведение к заданным значениям изменившихся параметров безопасности 4.5. Параметры безопасности процесса 4.5.1. Получение параметров безопасности процесса 4.5.2. Преобразование типа процесса 4.5.3. Проверка соответствия параметров безопасности 4.5.4. Другие способы преобразования типов 4.5.5. Изначально заданные параметры в структуре идентификатора безопасности 4.6. Определение границ возможных преобразований 4.6.1. Очистка переменных окружения во время преобразования к другому типу 4.6.2. Невыполнение преобразований, когда нет ограничивающего родительского типа 4.6.3. Использование флага, исключающего новые привилегии у процесса 4.7. Типы, разрешения и ограничения 4.7.1. Объяснение атрибутов типа 4.7.2. Запрос разрешений, предоставленных типу процесса 4.7.3. Рассмотрение наложенных ограничений 4.8. Заключение Контроль сетевого взаимодействия 5.1. От контроля межпроцессного взаимодействия (IPC) до сокетов базовых протоколов (TCP/UDP)транспортного уровня 5.1.1. Использование разделяемой памяти 5.1.2. Локальное взаимодействие, осуществляемое по каналам 5.1.3. Обращение через сокеты домена UNIX 5.1.4. Рассмотрение сокетов netlink 5.1.5. Действия с сокетами протоколов TCP и UDP 5.1.6. Вывод списка сетевых соединений с параметрами безопасности 5.2. Межсетевой экран в маркировка сетевых пакетов 5.2.1. Вводные сведения о межсетевом экране netfilter 5.2.2. Реализация маркировки сетевых пакетов и соединений 5.2.3. Назначение меток пакетам 5.3. Промаркированные сети 5.3.4. Резервная маркировка в NetLabel 5.3.5. Ограничение потоков данных на уровне сетевого интерфейса 5.3.6. Ограничение потоков данных на уровне элементов сети 5.3.7. Проверка однорангового потока 5.3.8. Применение управления в старом стиле 5.4. Метки безопасности для IPsec 5.4.1. Установка стандартного IPsec 5.4.2. Подключение маркировки IPsec 5.4.3. Использование Libreswan 5.5. Технология маркировки сетей NetLabel с параметром CIPSO 5.5.1. Настройка сопоставлений потоков данных с доменами 5.5.2. Добавление сопоставлений для типов допустимого набора функций 5.5.3. Локальное использование параметра CIPSO 5.5.4. Поддержка опции безопасности для IPv6 5.6. Заключение Поддержка sVirt и Docker 6.1. Виртуализация, защищенная SELi­nux 6.1.1. Представление о виртуализации 6.1.2. Обзор рисков виртуализации 6.1.3. Использование типов для объектов виртуальной инфраструктуры 6.1.4. Перенастраиваемое применение существующих типов виртуализации 6.1.5. Рассмотрение защиты различных категорий 6.2. Поддержка библиотеки libvirt 6.2.1. Различные случаи маркировки ресурсов 6.2.2. Оценка архитектуры libvirt 6.2.3. Настройка libvirt для работы с sVirt 6.2.4. Использование статических параметров безопасности 6.2.5. Гибкая настройка параметров безопасности 6.2.6. Использование разных мест хранения 6.2.7. Интерпретация информации в поле вывода данных о метке 6.2.8. Управление доступными категориями 6.2.9. Поддержка интерпретирующих доменов 6.2.10. Изменение параметров безопасности, установленных по умолчанию 6.3. Защищенные контейнеры Docker 6.3.1. Представление о защите контейнера 6.3.2. Интеграция системы защиты с контейнерами без sVirt 6.3.3. Перестраховка безопасности Docker средствами защиты sVirt 6.3.4. Ограничение привилегий контейнера 6.3.5. Применение различных параметров безопасности для контейнеров 6.3.6. Перемаркировка подключенного тома данных 6.3.7. Понижение контроля со стороны SELi­nux для специальных контейнеров 6.3.8. Изменение параметров безопасности, установленных по умолчанию 6.4. Заключение D-Bus и systemd 7.1. Фоновый процесс системы (systemd) 7.2. Способ поддержки в systemd служб 7.2.1. Введение понятия модульных файлов 7.2.2. Установка параметров безопасности SELi­nux для какой-либо службы 7.2.3. Использование переходных служб 7.2.4. Требование включения или отключения SELi­nux для конкретной службы 7.2.5. Перемаркировка файлов во время запуска службы 7.2.6. Использование активизации, основанной на сокетах 7.2.7. Управление доступом к операциям с модулями 7.3. Регистрация событий с помощью systemd 7.3.1. Получение информации, относящейся к SELi­nux 7.3.2. Запрос событий, содержащих параметры безопасности SELi­nux 7.3.3. Интеграция диагностики неисправностей с журналом 7.4. Использование контейнеров systemd 7.4.1. Инициализация контейнеров systemd 7.4.2. Использование специальных параметров безопасности SELi­nux 7.5. Управление файлами устройств 7.5.3. Использование правил udev 7.5.4. Назначение метки SELi­nux на узле устройства 7.6. Взаимодействие с шиной сообщений D-Bus 7.6.1. Представление о взаимодействии между процессами D-Bus 7.6.2. Контроль получения доступа к службам с помощью SELi­nux 7.6.3. Управление потоками сообщений 7.7. Итоги Работа с политиками SELi­nux 8.1. Логические параметры SELi­nux 8.1.1. Вывод списка логических параметров 8.1.2. Изменение значений логических параметров 8.1.3. Проверка влияния логического параметра 8.2. Усиление политик SELi­nux 8.2.1. Список модулей политики 8.2.2. Загрузка и удаление модулей политики 8.2.3. Создание политик с использованием программы audit2allow 8.2.4. Использование говорящих за себя наименований для модулей политики 8.2.5. Использование макрокоманд посреднической политики с программой audit2allow 8.2.6. Использование скрипта selocal 8.3. Создание модулей политик по специальным требованиям 8.3.1. Создание модулей SELi­nux с помощью исходного языка описания политик 8.3.2. Создание модулей SELi­nux с помощью посреднического стиля описания политик 8.3.3. Создание модулей SELi­nux с помощью обобщенно-промежуточного языка 8.3.4. Добавление описаний для параметров безопасности файла 8.4. Создание ролей и пользовательских типов допустимого набора функций 8.4.1. Создание файла pgsql_admin.te 8.4.2. Создание прав пользователя 8.4.3. Предоставление доступа для взаимодействия с командным интерфейсом 8.4.4. Формирование структуры файлов пользовательской политики 8.5. Создание новых типов для приложений 8.5.1. Создание файлов mojomojo.* 8.5.2. Создание интерфейсов политик 8.5.3. Создание структуры файлов политики для приложений 8.6. Замена существующих политик 8.6.4. Замена политик Red Hat Enterprise Linux 8.6.5. Замена политик в Gentoo 8.7. Другие варианты усиления политики безопасности 8.7.1. Создание типов SECMARK по специальным требованиям 8.7.2. Регистрация попыток доступа в журнале событий 8.7.3. Создание типов, соответствующих специальным требованиям 8.8. Заключение Анализ поведения политики 9.1. Одноступенчатый анализ 9.1.1. Использование различных файлов политик SELi­nux 9.1.2. Отображение информации об объектах политики 9.1.3. Применение утилиты sesearch 9.1.4. Запрос разрешающих правил 9.1.5. Запрос сведений о правилах преобразования типов 9.1.6. Запрос правил для других типов 9.1.7. Запрос правил, связанных с ролями 9.1.8. Отображение данных с помощью графической программы apol 9.2. Анализ преобразований типов процессов 9.2.1. Использование программы apol 9.2.2. Использование программы sedta 9.3. Анализ потоков информации 9.3.1. Использование программы apol для анализа потоков информации 9.3.2. Использование программы seinfoflow для анализа потоков информации 9.4. Другие виды анализа политик 9.4.1. Сравнение политик при помощи sediff 9.4.2. Анализ политик при помощи sepolicy 9.5. Заключение Частные случаи настройки защиты 10.1. Усиление защиты веб-серверов 10.1.1. Описание условий работы 10.1.2. Настройка для установки нескольких экземпляров программ 10.1.3. Создание категорий SELi­nux 10.1.4. Выбор необходимых параметров безопасности 10.1.5. Включение администраторов в систему защиты 10.1.6. Управление работой веб-сервера 10.1.7. Работа с обновлением содержания 10.1.8. Настройка сети и правил межсетевого экрана 10.2. Защита командно-строчного интерфейса 10.2.1. Разделение SSH на несколько экземпляров 10.2.2. Обновление правил работы сети 10.2.3. Изменение корневого каталога для отдельной программы 10.2.4. Предоставление параметров безопасности пользователю в зависимости от способа доступа 10.2.5. Настройка правил для SSH 10.2.6. Включение многопользовательского режима использования 10.3. Общий доступ к файлам через сетевую файловую систему NFS 10.3.1. Базовая настройка службы NFS 10.3.2. Включение поддержки NFS на стороне защищенного клиента 10.3.3. Настройка правил безопасности для NFS на сервере 10.3.4. Подключение общих сетевых ресурсов с различными параметрами безопасности 10.3.5. Работа с промаркированной сетевой файловой системой 10.3.6. Сравнение файлового сервера Samba с сетевой файловой системой NFS 10.4. Заключение Предметный указатель

Similar books