Назад к вопросам
Middle+
84
questionbank

На CentOS Linux, как вы проводите управление ceiling (ограничителями)? Он у вас всегда отключен или активен?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

SeLinux (Security-Enhanced Linux) — механизм принудительного контроля доступа (MAC). По умолчанию он активен и работает в одном из режимов:

  • Enforcing: Принудительное применение политик безопасности. Каждая запрещенная операция блокируется.
  • Permissive: Запрещенные операции не блокируются, но генерируются предупреждения и записываются в логи.
  • Disabled: SeLinux полностью отключен.

На практике я стараюсь держать SeLinux активным в режиме Enforcing на продакшн-серверах. Это добавляет дополнительный уровень безопасности. Отключение SeLinux — крайняя мера, применяемая только дляTroubleshooting или в специфических, полностью контролируемых средах.

Для управления SeLinux используются команды:

  • Проверка текущего статуса и режима:
    sestatus
    # SeLinux status and current mode
    
  • Переключение между режимами (без перезагрузки):
    setenforce 0 # Permissive mode
    setenforce 1 # Enforcing mode
    
  • Изменение режима по умолчанию (требует перезагрузки), редактирование /etc/selinux/config:
    nano /etc/selinux/config
    # Change SELINUX=enforcing to permissive or disabled
    
  • Управление булевыми настройками (разрешающими или запрещающими определенные поведенческие политики):
    getsebool -a # List all booleans
    setsebool -P <boolean_name> on/off # Set boolean permanently (-P)
    

При настройке новых сервисов или приложений, которые несовместимы с текущей политикой SeLinux, я предпочитаю создать/обновить локальную политику (module) вместо полного отключения SeLinux. Это более безопасный подход.

Steps для создания локальной политики:

  1. Установить необходимые утилиты:
    yum install policycoreutils policycoreutils-python
    
  2. Перевести SeLinux в Permissive режим для отслеживания нарушений:
    setenforce 0
    
  3. Выполнить действия, которые вызывают нарушения.
  4. Сгенерировать политику на основе логов audit.log:
    grep <service_name> /var/log/audit/audit.log | audit2allow -M my_service_policy
    
    где <service_name> — имя сервиса, вызывающего нарушения.
  5. Установить сгенерированную политику:
    semodule -i my_service_policy.pp
    
  6. Вернуть SeLinux в Enforcing режим:
    setenforce 1
    

Таким образом, моя стратегия — использовать SeLinux в Enforcing режиме и донастраивать его при необходимости.