Перед початком роботи вам потрібно вивчити наступні поняття:
Предмети: процесів або користувачів.
Об'єкти: файли або файлові системи.
Застосування типу: на SELinux усі суб'єкти та об'єкти мають ідентифікатор типу, що закінчується _t. “Застосування типу - це уявлення про те, що в системі обов’язкового контролю доступу доступ управляється шляхом дозволу на основі набору правил предмет-доступ-об’єкт.
У SELinux реалізація типу реалізована на основі міток суб'єктів та об'єктів. SELinux сам по собі не має правил, які б говорили / bin / bash може виконати / bin / ls. Натомість він має правила, подібні до “Процеси з міткою user_t можуть виконувати звичайні файли з міткою bin_t.”(Джерело https: // wiki.gentoo.org / wiki / SELinux / Type_enforcement)
Дискреційний контроль доступу (ЦАП): ЦАП - це система власності та дозволів, яку ми використовуємо в Linux для управління доступом до таких об’єктів, як файли або каталоги. Дискреційний контроль доступу не має нічого спільного з SELinux і є іншим рівнем безпеки. Щоб отримати додаткову інформацію про ЦАП, відвідайте пояснення щодо дозволів Linux.
Обов’язковий контроль доступу (MAC): це тип контролю доступу, який обмежує доступ суб’єктів до взаємодії з об’єктами. На відміну від ЦАП, користувачі MAC не можуть змінювати політику.
Суб'єкти та об'єкти мають контекст безпеки (атрибути безпеки), який контролюється SELinux і керується відповідно до політик безпеки, вироблених правилами, що підлягають застосуванню.
Рольовий контроль доступу (RBAC): це тип контролю доступу на основі ролей, він може поєднуватися як з MAC, так і з DAC. Політика RBAC спрощує управління багатьма користувачами в організації, на відміну від ЦАП, який може отримувати в індивідуальних призначеннях дозволів, це спрощує аудит, конфігурацію та оновлення політики.
Примусовий режим: SELinux обмежує доступ суб'єктів до об'єктів на основі політик.
Дозвільний режим: SELinux реєструє лише незаконну діяльність.
Особливості SELinux включають (список Вікіпедії):
- Чисте відокремлення політики від правозастосування
- Чітко визначені політичні інтерфейси
- Підтримка програм, що запитують політику та забезпечують контроль доступу (наприклад, кронд запуску завдань у правильному контексті)
- Незалежність конкретної політики та політичних мов
- Незалежність конкретних форматів та змісту міток безпеки
- Індивідуальні мітки та елементи керування для об'єктів ядра та служб
- Підтримка змін політики
- Окремі заходи щодо захисту цілісності системи (типу домену) та конфіденційності даних (багаторівнева безпека)
- Гнучка політика
- Керує ініціалізацією та успадкуванням процесу та виконанням програми
- Контролює файлові системи, каталоги, файли та відкриває дескриптори файлів
- Керує сокетами, повідомленнями та мережевими інтерфейсами
- Контроль за використанням "можливостей"
- Кешована інформація про рішення щодо доступу через кеш векторного доступу (AVC)
- За замовчуванням заборонити політика (все, що прямо не вказано в політиці, заборонено).
Джерело: https: // uk.вікіпедія.org / wiki / Security-Enhanced_Linux # Особливості
Примітка: користувачі різні на SELinux та passwd.
Налаштування SELinux на Debian 10 Buster
У моєму випадку SELinux був вимкнений на Debian 10 Buster. Забезпечення увімкнення SELinux є одним з основних кроків для забезпечення безпеки пристрою Linux. Щоб дізнатися стан SELinux у вашому пристрої, виконайте команду:
/ # sestatus
Я виявив, що SELinux вимкнено, для його ввімкнення вам потрібно встановити деякі пакети до, після влучне оновлення, запустіть команду:
/ # apt встановити selinux-basics selinux-policy-default
За запитом натисніть Y щоб продовжити процес встановлення. Біжи влучне оновлення після закінчення установки.
Щоб увімкнути SELinux, виконайте таку команду:
/ # selinux-activate
Як бачите, SELinux був належним чином активований. Щоб застосувати всі зміни, потрібно перезавантажити систему відповідно до інструкцій.
Команда getenforce може бути використана для вивчення стану SELinux, якщо він перебуває в режимі дозвільного або примусового:
/ # getenforce
Дозвільний режим можна замінити, встановивши параметр 1 (дозвіл - 0). Ви також можете перевірити режим у файлі конфігурації за допомогою команди менше:
/ # менше / etc / selinux / config
Вихід:
Як бачите, конфігураційні файли показують дозвільний режим. Натисніть Питання кинути.
Щоб побачити контекст безпеки файлу або процесу, ви можете використовувати прапор -Z:
/ # ls -Z
Формат етикетки: користувач: роль: тип: рівень.
semanage - інструмент управління політикою SELinux
semanage - це інструмент управління політикою SELinux. Це дозволяє керувати логічними значеннями (що дозволяють змінювати процес під час виконання), ролями та рівнями користувачів, мережевими інтерфейсами, модулями політики тощо. Semanage дозволяє налаштовувати політики SELinux без необхідності компілювати джерела. Semanage дозволяє зв'язок між користувачами ОС та SELinux та певними контекстами безпеки об'єктів.
Для отримання додаткової інформації про семанадж відвідайте сторінку довідки за адресою: https: // linux.померти.net / man / 8 / semanage
Висновок та примітки
SELinux - це додатковий спосіб адміністрування доступу з процесів до системних ресурсів, таких як файли, розділи, каталоги тощо. Це дозволяє керувати величезними привілеями відповідно до ролі, рівня або типу. Якщо його ввімкнути, це обов’язковий захід безпеки, і під час використання важливо пам’ятати про рівень безпеки та перезавантажувати систему після її ввімкнення або вимкнення (відключення не рекомендується взагалі, крім конкретних тестів). Іноді доступ до файлів блокується, незважаючи на те, що надано дозволи на систему або ОС, оскільки SELinux це забороняє.
Сподіваюсь, ця стаття про SELinux виявилася корисною для введення цього рішення безпеки, продовжуйте слідувати LinuxHint, щоб отримати додаткові поради та оновлення щодо Linux та мереж.
Пов’язані статті:
- Підручник з SELinux по Ubuntu
- Як вимкнути SELinux на CentOS 7
- Контрольний список посилення безпеки Linux
- Профілі AppArmor на Ubuntu