Сообщения об эксплойтах и уязвимостях появляются почти каждый день, а число киберпреступлений продолжает расти. Безопасность сегодня волнует всех. Усилить защиту системы можно разными способами. Если вы используете или планируете использовать сервер CentOS или Fedora, SELinux станет отличной отправной точкой. SELinux — быстрый и надёжный протокол и инструмент безопасности, который позволяет контролировать пользователей и их права доступа к файлам и приложениям в системе. В этой статье я кратко расскажу о SELinux и покажу, как включить его на CentOS 7.
Что такое SELinux?
Security-Enhanced Linux (SELinux) — это система безопасности, которая даёт администраторам Linux более точный контроль над доступом пользователей. Изначально её разработало Агентство национальной безопасности США (NSA) в виде набора патчей и доработок ядра Linux на основе Linux Security Modules (LSM). В 2000 году SELinux вышла как инструмент с открытым исходным кодом, а в 2003 году была интегрирована в ядро Linux.
Как работает SELinux?
SELinux управляет доступом ко всем файлам, процессам и приложениям в вашей системе. На основе заранее заданных правил безопасности SELinux формирует чёткую политику доступа. Это защищает систему и блокирует несанкционированные попытки обратиться к ресурсам. В основе подхода лежит принцип минимальных привилегий: программа получает ровно те права доступа к файлам, каталогам, сокетам и другим сервисам, которые ей действительно необходимы.
Когда приложение или процесс (называемый «субъектом») запрашивает доступ к файлу как объекту, SELinux использует кеш векторов доступа (AVC) для проверки этого запроса. В кеше хранятся все разрешения для субъектов и объектов — то есть для процессов и ресурсов, к которым они пытаются получить доступ. Если кеш пуст, SELinux не может принять никакого решения самостоятельно: в таком случае он обращается к серверу безопасности и запрашивает у него необходимые данные. Сервер безопасности применяет политику SELinux, оценивает запрос и либо разрешает, либо отклоняет его. Проверить, какие запросы были приняты или отклонены, можно в журнале сообщений по пути "/var/log.messages".
Что такое режимы SELinux?
SELinux позволяет администраторам выбрать один из трёх режимов работы. Каждый режим имеет свои ограничения безопасности и область применения:
Режим применения: Это режим по умолчанию: он блокирует и записывает в журнал действия, не соответствующие требованиям политики.
Режим без ограничений: Этот режим позволяет детально работать с журналами и событиями. Он особенно полезен при тестировании функции SELinux. Переключение между принудительным и разрешающим режимами работы не требует перезагрузки системы.
Отключённый режим: Это позволяет выполнять любые действия без записи в журнал. Для переключения в этот режим требуется перезагрузка системы.
Как включить SELinux в CentOS 7
-
Проверить статус SELinux :
Шаг 1: Проверьте статус включения/выключения вашего SELinux
Прежде чем включать SELinux, убедитесь, что он ещё не отключён.
Введите следующую команду в терминале, чтобы проверить настройки:
sestatus
В выводе видно, что SELinux теперь отключён в системе.
Шаг 2: Проверьте требования для включения SELinux
- Учётная запись пользователя с правами sudo
- Доступ к терминалу/консоли
- Система на базе RHEL, например CentOS 7
- Текстовый редактор nano
Хостинг Linux без лишних сложностей
Хотите удобнее размещать сайты и веб-приложения? Разрабатываете что-то новое? Просто не нравится Windows? Именно для этого у нас есть Linux VPS.
Получите свой Linux VPS-
Запуск SELinux :
Шаг 3: Откройте файл конфигурации в редакторе nano
Задайте статус SELinux для службы. Перейдите к файлу /etc/selinux/config и откройте его в текстовом редакторе, например Nano.
sudo nano /etc/selinux/config
Шаг 4: Измените режим SELinux
Теперь можно переключить режим SELinux на один из следующих: разрешительный or enforcing.
Измените выделенную строку на нужный режим.

Шаг 5: Сохраните изменения
Нажмите CTRL + X чтобы применить и сохранить изменения. Затем нажмите 'y', затем в Enter для подтверждения
Шаг 6: Перезагрузите сервер
Перезагрузите систему. Для этого выполните команду ниже и нажмите <Enter>:
sudo reboot
Шаг 7: Повторная проверка статуса SELinux
Если вы хотите проверить статус SELinux, введите ""sestatus снова в командной строке.
Результат подтверждает, что принудительный режим в системе уже включён.
Как отключить SELinux на CentOS 7
Выполните команду ниже, чтобы временно переключить режим SELinux с targeted на permissive:
sudo setenforce
Но учтите: это изменение действует только в рамках текущего сеанса.
Чтобы навсегда отключить SELinux в системе CentOS 7, выполните следующие шаги:
Шаг 1: Установите режим SELinux в значение «disabled»
Open the /etc/selinux/config file, then you should set the SELINUX mode to “disabled”
Шаг 2: сохраните изменения и перезагрузите сервер
Сохраните файл, затем перезагрузите систему CentOS командой:
sudo shutdown -r now
Шаг 3: Повторная проверка статуса SELinux
После загрузки системы подтвердите изменение, выполнив команду sestatus команда:
sestatus
Как изменить режим SELinux
Вместо полного отключения SELinux переключите его в разрешительный режим. Все выполненные действия будут фиксироваться в журнале.
Теперь выполните следующие шаги, чтобы переключить режим SELinux с enforcing to разрешительный тип:
sudo setenforce 0
Теперь нужно включить enforcing включите режим, выполнив команду ниже:
sudo setenforce 1
Эти изменения действуют только в текущем сеансе. После перезагрузки системы параметры вернутся к значениям по умолчанию. Чтобы сделать изменения постоянными, отредактируйте файл конфигурации в текстовом редакторе (например, nano, например).
Хостинг Linux без лишних сложностей
Хотите удобнее размещать сайты и веб-приложения? Разрабатываете что-то новое? Просто не нравится Windows? Именно для этого у нас есть Linux VPS.
Получите свой Linux VPSЗащита вашего CentOS 7 Server за пределами SELinux
Теперь, когда вы установили SELinux на CentOS 7, можете быть спокойны: ваша система стала надёжнее. Конечно, абсолютной защиты не существует. Всегда есть что улучшить — посмотрите, например, на пункты в этом руководство по защите вашего Linux VPS. На самом деле, даже с SELinux мы использовали лишь самые базовые из доступных мер защиты. При этом любые настроенные вами средства безопасности не дадут результата, если сам хостинг-провайдер недостаточно защищён. Именно поэтому в Cloudzy мы обеспечиваем высокий уровень защиты: аппаратные и AI-файрволы, интеллектуальная защита DDoS и другие собственные механизмы безопасности. Воспользуйтесь нашим Решения CentOS VPS и запустить по-настоящему защищённый сервер.
