На CentOS Linux, как управлявате ceiling (ограничителите)? Винаги ли са изключени или активни?
sobes.tech AI
Отговор от AI
SeLinux (Security-Enhanced Linux) е механизъм за принудителен контрол на достъпа (MAC). По подразбиране е активен и работи в един от следните режими:
- Enforcing: Задължително прилагане на политики за сигурност. Всяка забранена операция се блокира.
- Permissive: Забранените операции не се блокират, но се генерират предупреждения и се записват в логовете.
- Disabled: SeLinux е напълно деактивиран.
На практика се опитвам да поддържам SeLinux активен в режим Enforcing на производствените сървъри. Това добавя допълнително ниво на сигурност. Изключването на SeLinux е крайна мярка, използвана само за отстраняване на проблеми или в специфични, напълно контролирани среди.
За управление на SeLinux използвам следните команди:
- Проверка на текущото състояние и режим:
sestatus # Статус на SeLinux и текущ режим - Превключване между режими (без рестартиране):
setenforce 0 # Permissive режим setenforce 1 # Enforcing режим - Промяна на режима по подразбиране (изисква рестартиране), като се редактира
/etc/selinux/config:nano /etc/selinux/config # Промяна на SELINUX=enforcing на permissive или disabled - Управление на булеви настройки (разрешаване или забраняване на определени политики):
getsebool -a # Изброяване на всички булеви стойности setsebool -P <име_на_булево> on/off # Постоянно задаване (-P)
При конфигуриране на нови услуги или приложения, които не са съвместими с текущата политика на SeLinux, предпочитам да създам или актуализирам локална политика (модул), вместо да я изключвам напълно. Това е по-безопасен подход.
Стъпки за създаване на локална политика:
- Инсталиране на необходимите инструменти:
yum install policycoreutils policycoreutils-python - Преминаване на SeLinux в режим
Permissiveза наблюдение на нарушения:setenforce 0 - Извършване на действия, които причиняват нарушения.
- Генериране на политика въз основа на логовете
audit.log:
къдетоgrep <име_на_услугата> /var/log/audit/audit.log | audit2allow -M моя_политика_за_услугата<име_на_услугата>е името на услугата, която причинява нарушения. - Инсталиране на генерираната политика:
semodule -i моя_политика_за_услугата.pp - Връщане на SeLinux в режим
Enforcing:setenforce 1
По този начин, моята стратегия е да използвам SeLinux в режим Enforcing и да го настройвам при необходимост.