Чи робить SELinux більш безпечним для Redhat?


10

Чи робить SELinux більш безпечним для Redhat?

Я не можу згадати кількість разів, коли я відключив SELinux, тому що це не засмучувало мою здатність запускати речі. Багато разів, щоб не було очевидних причин, чому речі не працювали, і мені довелося Google виявити, чому.

Зважаючи на те, що більшість випадкових користувачів відключать або послаблює безпеку, коли, схоже, заважає, за винятком серйозних, підприємливих користувачів Redhat, чи справді SELinux корисний?

PS. Чи є якийсь інструмент, який допомагає вам реєструвати, відстежувати та керувати проблемами SELinux у всіх програмах?

Відповіді:


9

Так, Selinux робить систему більш захищеною. Але вам потрібно буде відмовитись від її понять і мати хоча б базові знання про інструменти selinux та аудит.

Selinux заходить у /var/log/audit/audit.log (але переконайтеся, що аудит працює), і існує ряд інструментів для вирішення проблем із selinux. Напевно, найпростішим способом є використання audit2allow


17

Так, SELinux робить Red Hat (і будь-який інший дистрибутив Linux, який фактично використовує його) більш безпечним, припускаючи, що він фактично використовується.

SELinux реалізує обов'язковий контроль доступу . Звичайні дозволи Unix, ACL тощо, реалізують дискреційний контроль доступу . Двоє доповнюють один одного.

Для роботи SELinux потрібна політика, яка визначає, які дії в системі можуть бути дозволені. Хоча можливо створити всю системну політику з нуля, більшість дистрибутивів Linux постачають політику, засновану на так званій довідковій політиці . Це означає, серед іншого, що конфігурація SELinux між дистрибутивами буде дуже подібною. (Більшість дистрибутивів Linux надає довідкову політику SELinux доступною у своїх сховищах пакетів, хоча вона може бути встановлена ​​за замовчуванням.)

SELinux працює за допомогою обмеження користувачів та процесів виконувати лише ті дії, дозволені їм у політиці. За замовчуванням політика полягає у запереченні, тому якщо політика прямо не дозволяє дію, вона не відбувається. Ось чому ви так часто стикаєтеся з проблемою, коли SELinux забороняє щось, що ви намагаєтеся зробити.

З іншого боку, це також запобігає виходу з ладу навіть подвигів, навіть 0 днів. Наприклад, якщо ваш веб-сервер (Apache) експлуатується, шкода обмежується лише тими речами, до яких Apache може отримати доступ. /etc/shadowНаприклад, він не зміг би прочитати ваш файл, навіть із віддаленим використанням root. Хоча дозволи Unix (DAC) дозволяють кореням читати файл, SELinux (MAC) не дозволяє компрометованому процесу виходити за межі.

Велика проблема полягає в тому, що для служби повинен бути завантажений модуль політики SELinux. Якщо ви встановите службу на свій ящик, яка не містить модуля політики SELinux, вона запуститься невлаштовано і зможе робити все, що завгодно. SELinux не застосовуватиметься до нього.

Ще одна річ, яку ви повинні знати, це все про булеви . Ці налаштовані параметри надаються політикою SELinux для їх налаштування під конкретні установки та дозволу або заборонити доступ на основі локальних потреб конфігурації. Наприклад, ви можете надати Apache доступ до акцій Samba, дозволити Samba ділитися домашніми каталогами користувачів та багатьма іншими потенційно корисними речами, необхідними для деяких налаштувань, але не для інших.

Найкращий посібник по SELinux, який я бачив на даний момент, - це Посібник користувача Red Hat з підвищеною безпекою . Це допоможе вам швидко встати та працювати, а також заповнити довідкові відомості про те, що відбувається. Він також включає вичерпне керівництво з усунення несправностей, яке допомагає запустити ваш процес під SELinux.

Це корисно?

SELinux захищає від процесів (і користувачів, якщо ви обмежили своїх користувачів), які роблять несподівані речі. Це суттєво обмежує шкоду, яку може завдати віддалений експлуатування. Якщо ви ніколи не зазнавали віддаленого компромісу, вам (1) пощастило, і (2), ймовірно, новому. Якщо ви вже працювали віддалений компроміс, ви , звичайно , не хочете, щоб це ніколи НЕ повторилося.

У домашній обстановці це не так корисно , якщо у вас вдома не трапляються послуги з інтернетом (а це роблять деякі люди). У цьому випадку застосовується все сказане вище.

SELinux може бути останньою справою, яка стоїть між вашими даними та зловмисником із 0-денним експлуатом, який дійсно цього хоче. Якщо ви можете використовувати його, чому б вам не так?


3

Я думаю, що SELinux просто розширює традиційну систему дозволів, вводячи розширені налаштування над дозволами. Це робить вашу систему більш захищеною? Я думаю, це залежить від того, як ви використовуєте SELinux у своїх програмах. Також я не дуже хороший у SELinux, але для його налаштування потрібно більше знань щодо обмежень, які він може вам надати. Але це також вводить багато проблем, які потрібно вручну дослідити, щоб їх подолати


1
SELinux робить набагато більше, ніж просто розширює традиційні дозволи POSIX. Наприклад, SELinux може обмежити доступ до певних мережевих портів.
wzzrd

3

Існує пакет, який допомагає користувачам знаходити проблеми, викликані SELinux з назвою setroubleshoot. Встановіть його, встановіть його на запуск. Потім, коли ви отримаєте відмову від SELinux, це буде зазначено в /var/log/messages. Якщо ви також увійдете в GUI, ви отримаєте сповіщення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.