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

Изучите администрирование SELinux. Этот модуль охватывает режимы SELinux (SELinux Modes), контексты файлов (File Contexts), восстановление контекстов (Restoring Contexts), управление булевыми значениями (Managing Booleans) и устранение отказов (Troubleshooting Denials). Вы освоите эти важные навыки Linux с помощью практических лабораторных работ и реальных задач.

DevOps EngineerLinuxDevOps

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

SELinux добавляет к традиционным владельцам и правам Linux средства контроля на основе политик. На этом практическом курсе вы научитесь проверять состояние политики, распознавать распространённые несоответствия и расследовать отказ службы, не объявляя сам SELinux проблемой.

Вы сравните режимы enforcing и permissive, проследите метки файлов, исправите неверные контексты, включите предусмотренное политикой логическое значение и изучите данные аудита AVC. В итоговой задаче вы выясните, почему Nginx не может привязаться к порту 8088, создадите и установите целевой модуль из записи об отказе и проверите ответ службы.

Чему вы научитесь

  • Проверять состояние SELinux и отличать текущий режим от конфигурации при загрузке
  • Читать контексты безопасности файлов и находить поле типа, используемое политикой
  • Объяснять, почему перемещённый файл может сохранить неподходящую для нового места метку
  • Сравнивать текущий и ожидаемый контексты и исправлять отдельные или рекурсивные несоответствия с restorecon
  • Находить, постоянно включать и проверять логическое значение SELinux для конкретной службы
  • Находить AVC-отказы Nginx и интерпретировать заблокированную операцию name_bind
  • Использовать audit2allow для объяснения отказа и создания пользовательского модуля политики
  • Устанавливать созданный модуль и проверять Nginx на нестандартном порту

Для кого этот курс

Этот курс среднего уровня предназначен для администраторов Linux, DevOps-специалистов и изучающих безопасность, которые понимают обычные права Unix и хотят практически познакомиться с эксплуатацией и диагностикой SELinux.

Предварительные требования: Уверенная работа в оболочке Linux, понимание файлов и прав, sudo, systemctl, редактирования текста, портов и основ веб-служб. Опыт написания политик не требуется.

Учебная среда: Терминал Linux с командами SELinux, данными политики, записями аудита, Nginx и административными привилегиями. Ограничения ядра или контейнера могут не позволить реально сменить режим, поэтому некоторые отказы могут имитироваться при использовании тех же команд анализа и исправления.

Часто задаваемые вопросы

Учит ли курс отключать SELinux при сбое приложения?

Нет. Режим permissive используется лишь как временный диагностический приём. Курс учит сначала проверять метки, поддерживаемые логические параметры и журналы аудита, а затем вносить точечное изменение.

Какие исправления SELinux я выполню?

Вы восстановите определённые политикой контексты файлов, постоянно включите httpd_can_network_connect, а также создадите и установите небольшой модуль из отказа Nginx при привязке порта. Полный язык политик SELinux не рассматривается.

Представлен ли audit2allow как решение каждого отказа?

Нет. Вы проверяете его предложение и решаете, не лучше ли исправить метку, логический параметр или стандартную политику. Итоговая задача требует созданный модуль; альтернативы вроде управления типами портов через semanage port выходят за практические рамки курса.

Преподаватель

labby
Labby
Labby is the LabEx teacher.