Існує кілька різних способів роботи SELinux. Це визначається політикою SELinux. У цьому посібнику ви дізнаєтесь більше про політику SELinux та про те, як встановити політику в SELinux.
Огляд політики SELinux
Давайте швидко розглянемо SELinux та його політику. SELinux - це абревіатура від “Покращений Linux.”Він містить ряд виправлень безпеки для ядра Linux. Спочатку SELinux був розроблений Агентством національної безпеки (NSA) і випущений для спільноти розробників із відкритим кодом у 2000 році за ліцензією GPL. Він був об’єднаний з основним ядром Linux у 2003 році.
SELinux забезпечує MAC (обов’язковий контроль доступу), а не ЦАП за замовчуванням (дискреційний контроль доступу). Це дозволяє застосовувати деякі політики безпеки, які неможливо було б реалізувати інакше.
Політики SELinux - це набори правил, якими керується механізм безпеки SELinux. Політика визначає типи для файлових об'єктів та домени для процесів. Ролі використовуються для обмеження доступу до доменів. Ідентифікації користувачів визначають, яких ролей можна досягти.
Доступні дві політики SELinux:
- Цільова: Політика за замовчуванням. Впроваджує контроль доступу до цільових процесів. Процеси виконуються в обмеженому домені, де процес має обмежений доступ до файлів. Якщо обмежений процес порушений, шкода пом'якшується. Що стосується послуг, у ці домени розміщуються лише конкретні послуги.
- MLS: Стенди багаторівневої безпеки. Ознайомтеся з документацією Red Hat щодо політики SELinux MLS.
Процеси, які не націлені, будуть виконуватися в необмеженому домені. Процеси, що працюють у необмежених доменах, мають майже повний доступ. Якщо такий процес скомпрометований, SELinux не пропонує пом'якшення наслідків. Зловмисник може отримати доступ до всієї системи та ресурсів. Однак правила DAC все ще застосовуються до необмежених доменів.
Далі подано короткий список прикладів необмежених доменів:
- домен initrc_t: програми init
- kernel_t домен: процеси ядра
- unconfined_t домен: користувачі увійшли в систему Linux
Зміна політики SELinux
Наступні приклади виконуються в CentOS 8. Усі команди в цій статті виконуються від імені користувача root. Для інших дистрибутивів, будь ласка, ознайомтесь із відповідним посібником про те, як увімкнути SELinux.
Щоб змінити політику в SELinux, почніть із перевірки стану SELinux. Статусом за замовчуванням має бути ввімкнений SELinux у режимі “Застосування” із “цільовою” політикою.
Щоб змінити політику SELinux, відкрийте файл конфігурації SELinux у вашому улюбленому текстовому редакторі.
Тут нашою метою є змінна “SELINUXTYPE”, яка визначає політику SELinux. Як бачите, значення за замовчуванням - "цільове."
Всі етапи, продемонстровані в цьому прикладі, виконуються в CentOS 8. У випадку CentOS політика MLS не встановлюється за замовчуванням. Це також може бути у інших дистрибутивах. Дізнайтеся, як налаштувати SELinux на Ubuntu тут. Спочатку обов’язково встановіть програму. У випадку Ubuntu, CentOS, openSUSE, Fedora, Debian та інших, ім'я пакета - “selinux-policy-mls."
$ dnf встановити selinux-policy-mls
У цьому випадку ми переведемо політику на MLS. Відповідно змініть значення змінної.
Збережіть файл і закрийте редактор. Щоб застосувати ці зміни, потрібно перезавантажити систему.
$ перезавантаженняПеревірте зміну, видавши наступне.
$ sestatusЗміна режимів SELinux
SELinux може працювати в трьох різних режимах. Ці режими визначають, як застосовується політика.
- Примусово: будь-які дії проти політики блокуються та повідомляються в журналі аудиту.
- Дозвільний: будь-які дії проти політики повідомляються лише в журналі аудиту.
- Вимкнено: SELinux вимкнено.
Щоб тимчасово змінити режим у SELinux, використовуйте команду setenforce. Якщо систему перезавантажити, вона повернеться до налаштувань за замовчуванням.
$ setenforce Застосування$ примусово дозволений
Щоб остаточно змінити режим у SELinux, потрібно налаштувати файл конфігурації SELinux.
Збережіть і закрийте редактор. Перезавантажте систему, щоб внести зміни в силу.
Перевірити зміну можна за допомогою команди sestatus.
Висновок
SELinux - це потужний механізм забезпечення безпеки. Сподіваємось, цей посібник допоміг вам навчитися налаштовувати та керувати поведінкою SELinux.
Щасливих обчислень!