Перейти к основному содержанию
Скидка 50% все планы, ограниченное время. Начиная от $2.48/mo
6 min left
Безопасность и сети

Как включить SELinux на CentOS 7: защищаем ваш CentOS-сервер

Alex Robbins Автор: Alex Robbins 6 мин чтения Обновлено May 30, 2023
Enable-SELinux-on-CentO

   Сообщения об эксплойтах и уязвимостях появляются почти каждый день, а число киберпреступлений продолжает расти. Безопасность сегодня волнует всех. Усилить защиту системы можно разными способами. Если вы используете или планируете использовать сервер 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 теперь отключён в вашей системе.

Disable SELinux

Шаг 2: Проверьте требования для включения SELinux

  • Учётная запись пользователя с правами sudo
  • Доступ к терминалу/консоли
  • Система на базе RHEL, например CentOS 7
  • Текстовый редактор nano

linux-vps Хостинг на Linux без сложностей

Ищете более удобный способ хостить сайты и веб-приложения? Разрабатываете что-то новое? Просто не любите Windows? Поэтому у нас есть Linux VPS.

Получите ваш Linux VPS

  • Запуск SELinux :

Шаг 3: Откройте файл конфигурации в редакторе nano

Задайте статус SELinux для службы. Перейдите к файлу  /etc/selinux/config и откройте его в текстовом редакторе, например Nano.

sudo nano /etc/selinux/config

 

Шаг 4: Измените режим SELinux

Теперь можно переключить режим SELinux на один из следующих: разрешительный or enforcing.

Измените выделенную строку на нужный режим.

SELinux Status

 

Шаг 5: Сохраните изменения

Нажмите CTRL + X чтобы применить и сохранить изменения. Затем нажмите 'y', затем в Enter для подтверждения

 

Шаг 6: Перезагрузите сервер

Перезагрузите систему. Для этого выполните команду ниже и нажмите <Enter>:

sudo reboot

Шаг 7: Повторная проверка статуса SELinux

Если вы хотите проверить статус SELinux, введите ""sestatus  снова в командной строке.

Результат подтверждает, что принудительный режим в системе уже включён.

Enable SELinux

Как отключить 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-vps Хостинг на Linux без сложностей

Ищете более удобный способ хостить сайты и веб-приложения? Разрабатываете что-то новое? Просто не любите Windows? Поэтому у нас есть Linux VPS.

Получите ваш Linux VPS

Защита вашего CentOS 7 Server за пределами SELinux

Теперь, когда вы установили SELinux на CentOS 7, можете быть спокойны: ваша система стала надёжнее. Конечно, абсолютной защиты не существует. Всегда есть что улучшить — посмотрите, например, на пункты в этом руководство по защите вашего Linux VPS. На самом деле, даже с SELinux мы использовали лишь самые базовые из доступных мер защиты. При этом любые настроенные вами средства безопасности не дадут результата, если сам хостинг-провайдер недостаточно защищён. Именно поэтому в Cloudzy мы обеспечиваем высокий уровень защиты: аппаратные и AI-файрволы, интеллектуальная защита DDoS и другие собственные механизмы безопасности. Воспользуйтесь нашим Решения CentOS VPS и запустить по-настоящему защищённый сервер.

 

Share

Ещё в блоге

Читайте дальше.

What is a VPN router: how it works, the four ways to run one, and when a VPS gateway is the better choice.
Безопасность и сети

Что такое VPN-роутер? Как он работает и когда он вам нужен

VPN-роутер запускает VPN-софт прямо на роутере, поэтому каждое устройство автоматически получает туннель. Как это работает, когда его стоит использовать и когда VPS подходит лучше.

Jonas 16 мин чтения

Готовы к развёртыванию? От $2,48/мес.

Независимое облако с 2008 года. AMD EPYC, NVMe, 40 Gbps. Возврат денег в течение 14 дней.