Вернуть старое меню
Бесплатно, 24/7 8 (800) 775-97-42
Country flag RU
Country flag EN
Country flag DE
₽ RUB
$ USD
€ EUR
Выбрать VPS
Маркетплейс
О нас
Сообщество
Поддержка
Баланс:
Бонусы:
Войти
Выйти
Зарегистрироваться
ГОТОВЫЕ ТАРИФЫ
Ref icon
VPS Старт От 139 рублей/мес
Ref icon
VPS Мощные Мощные серверы по выгодной цене
Ref icon
VPS Windows Удобные конфигурации для работы с ОС Windows
Ref icon
VPS Быстрые NVMe Максимальная скорость с промышленными NVMe дисками
Ref icon
VPS Plesk Настройте сервер под себя в несколько кликов
Ref icon
VPS с 1C для бухгалтеров Оптимизированные под 1C серверы
Ref icon
VPS для трейдинга Установите торговые терминалы за 1 клик
Ref icon
VPS для геймеров Мощное железо для мощных рейдов
Ref icon
VPS для бизнеса Настроить любой параметр сервера
Ref icon
Посмотреть все тарифы
Card icon Своя конфигурация
Удобный конфигуратор позволит вам настроить любой параметр сервера, а мы предложим за него лучшую цену.
Собрать
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
КЛИЕНТАМ
О компании Входим в топ-15 IAAS в России
Дата-центры 17 ЦОД уровня Tier III в 7 странах
Аттестация по ФСТЭК Поможем с гос. лицензированием
Бонусная программа Накопительная система лояльности
Card icon Пинг до дата-центров
Измерьте ping от вас до всех наших дата-центров. Мы подберем тот, который подходит для вас идеально.
Измерить
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
КЛИЕНТАМ
Справочник Пошаговые инструкции, как настроить VPS
FAQ Частые вопросы о настройке VPS и сервисе
Новости и события Новости сервиса, информация о событиях и спецпроектах компании
Card icon Соцсети
Наш блог на Хабре, выступления, новости компании.
Присоединиться
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
Бесплатно, 24/7 8 (800) 775-97-42
Mobile menu button
Выбрать VPS
Mobile card icon
Своя конфигурация Удобный конфигуратор позволит вам настроить любой параметр сервера, а мы предложим за него лучшую цену.
Собрать
Ref icon
VPS Старт От 139 рублей/мес
Ref icon
VPS Мощные Мощные серверы по выгодной цене
Ref icon
VPS Windows Удобные конфигурации для работы с ОС Windows
Ref icon
VPS Быстрые NVMe Максимальная скорость с промышленными NVMe дисками
Ref icon
VPS Plesk Настройте сервер под себя в несколько кликов
Ref icon
VPS с 1C для бухгалтеров Оптимизированные под 1C серверы
Ref icon
VPS для трейдинга Установите торговые терминалы за 1 клик
Ref icon
VPS для геймеров Мощное железо для мощных рейдов
Ref icon
VPS для бизнеса Настроить любой параметр сервера
Ref icon
Посмотреть все тарифы
Ref icon
Бесплатный тест на 3 дня
Маркетплейс
О нас
Mobile card icon
Пинг до дата-центров Измерьте ping от вас до всех наших дата-центров. Мы подберем тот, который подходит для вас идеально.
Измерить
О компании Входим в топ-15 IAAS в России
Дата-центры 17 ЦОД уровня Tier III в 7 странах
Аттестация по ФСТЭК Накопительная система лояльности
Бонусная программа Накопительная система лояльности
Сообщество
Mobile card icon
Соцсети Наш блог на Хабре, выступления, новости компании.
Присоединиться
Справочник Пошаговые инструкции, как настроить VPS
FAQ Частые вопросы о настройке VPS и сервисе
Новости и события Новости сервиса, информация о событиях и спецпроектах компании
Поддержка
Country flag RU
Country flag EN
Country flag DE
₽ RUB
$ USD
€ EUR
Войти
Зарегистрироваться
Личный кабинет
Мои серверы
Домены
Баланс: Бонусы:
Заказать
Настройки
Партнеру
Выйти
Мои серверы
Домены
Заказать
Настройки
Партнеру
  • ВЫБРАТЬ VPS
  • ДАТА-ЦЕНТРЫ
  • СПРАВОЧНИК
  • ПОДДЕРЖКА
  • ВОЙТИ
RuVDS/Справочник/Начало работы/Введение в SELinux под CentOS Stream

Введение в SELinux под CentOS Stream

3768 просмотров 4 2021-03-22 2022-10-13

Данное руководство – введение в SELinux под CentOS Stream.

Security Enhanced Linux (SELinux) – это система контроля доступа, которая в настоящее время встраиватся в большинство Linux-дистрибутивов. В своё время система была разработана для защиты компьютерных систем от взлома и несанкционированного доступа к ним со стороны злоумышленников. С момента появления SELinux в открытом доступе многие дистрибутивы включили систему в свой код. В этом мануале попробуем протестировать SELinux на сервере под управлением CentOS Stream.

Что такое SELinux?

В операционную систему при помощи SELinux внедряется, так называемая, мандатная модель управления доступом (Mandatory Access Control), сокращённо MAC. Данная модель управления представляет собой способ разграничения контроля доступа с определённым набором привилегий. В дистрибутиве Linux MAC реализована поверх того, что мы называем моделью избирательного управления доступом (Discretionary Access Control), сокращённо DAC.

DAC – это управление доступом на основе списков управления доступом, где объектами доступа служат пользователь, группа и другие. Эти объекты имеют комбинацию полномочий чтение/запись/выполнение или r/w/x. SELinux позволяет ограничить доступ к объектам пользователя, который определён именно им так, что суперпользователь не может иметь суперпривилегии по отношению ко всем объектам нашего пользователя.

Другими словами, SELinux позволяет произвести точную настройку требований контроля доступа, с помощью которой определяется степень влияния пользователя на описанный настройкой процесс. Это в полной мере может предотвратить получение злоумышленником доступа ко всем объектам и процессам системы.

Чтобы понять работу системы, мы произведём настройку конфигурации SELinux на сервере, работающем на операционной системе CentOS Stream.

Установка SELinux

В этом разделе мы установим различные пакеты, используемые в SELinux. Они призваны помочь в создании, управлении и анализе политик SELinux. Сначала необходимо проверить, какие пакеты уже установлены в вашей системе:

# rpm -aq | grep selinux

Если ваша CentOS Stream развёрнута только что, то в системе должны быть установлены следующие пакеты:

Инсталлированные пакеты SELinux

Теперь, необходимо запустить установку следующих пакетов и их зависимостей:

# dnf install policycoreutils-python-utils setools setools-console setroubleshoot

Данная инсталляция содержит следующие пакеты:

  • policycoreutils-python-utils – содержит инструменты для администрирования SELinux-среды и политик;
  • setools – обеспечивает инструменты командной строки возможностью работы с политиками SELinux (в том числе: sediff – инструмент, использующийся для просмотра различий между политиками, seinfo – инструмент для просмотра информации о компонентах, которые создают политики, и sesearch – инструмент для поиска внутри политик);
  • setools-console – содержит sediff, seinfo и sesearch;
  • setroubleshoot – набор инструментов, которые помогают определить, что именно (скрипт, файл и т.д.) блокируется системой SELinux.

Состояния SELinux

Установленная на сервер система может находиться во включенном или выключенном состоянии. Сразу после инсталляции на CentOS Stream система будет находиться в состоянии “disabled” (выключено). Для её запуска отредактируйте файл /etc/selinux/config:

# cd /etc/selinux
# vi config

В нём значение переменной SELINUX измените с disabled на enabled. После чего перезагрузите сервер:

# reboot

После перезагрузки подключитесь к вашему VPS и проверьте статус SELinux:

# sestatus
Проверка статуса SELinux

Режимы SELinux

Во включенном состоянии SELinux может быть запущен в режимах enforcing и permissive.

В режиме enforcing система SELinux принуждает ОС к применению SELinux-политик и запрещает несанкционированный, с точки зрения SELinux, доступ остальным объектам и процессам. Следующей инструкцией вы можете увидеть загруженные в память системы SELinux-политики:

# semodule -l

В режиме permissive SELinux не блокирует доступ к объектам, не имеющим разрешений от политик SELinux. Вместо этого, система регистрирует любые отказы в доступе, используя /var/log/audit/audit.log.

Проверить, в каком режиме SELinux функционирует сейчас, можно командой:

# getenforce
Проверка режима SELinux

Переключаться между режимами можно, используя команду setenforce:

# setenforce enforcing

или

# setenforce permissive

Также, режим permissive можно активировать при помощи инструкции:

# setenforce 0

Активированный режим виден при выводе набора текущих настроек командой sestatus.

Контекст SELinux

SELinux маркирует каждый объект в системе при помощи контекста. Все файлы, пользователи и процессы имеют такую маркировку, которая делится на три части – пользователь, роль и тип. Политика SELinux контролирует роли, получаемые пользователями. Каждая роль несёт в себе ограничения по типам файлов, к которым пользователь имеет доступ. Эти ограничения определены политиками SELinux и содержатся как раз в наборе этих самых меток, который мы и называем контекстом.

Увидеть содержимое контекста для какого-либо каталога можно при помощи команды ls. Для примера, давайте зарегистрируемся в системы под учётной записью пользователя, имеющего привилегии sudo, но не являющимся root’ом. После чего в домашней директории давайте создадим какой-нибудь каталог:

$ mkdir ~/your_dir

А теперь посмотрите, как выглядит контекст этого каталога:

$ ls -Z ~/
Контекст домашнего каталога

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

$ ls -Z /
Контекст корневого каталога

Мы видим, что содержимое контекста для каждого файла или каталога описано следующим синтаксисом:

user:role:type:level

Здесь:

  • user – это имя пользователя;
  • role – это имя объекта;
  • type – это имя типа для файлов и каталогов, и имя домена для процессов;
  • level – это уровень доступа.

А вот, как будет выглядеть в нашей системе контекст для процесса systemd, например:

$ ps Z | grep systemd
Контекст процесса - Введение в SELinux под CentOS Stream

Логичекие параметры SELinux

Включение и выключение логических позиций в SELinux может производиться без пересборки политик SELinux.

Во-первых, вы можете увидеть список логических переменных при помощи команды getsebool -a. Для вывода этого списка используйте фильтр grep:

# getsebool -a | grep "httpd_can"
Вывод логических параметров с фильтром httpd_can - Введение в SELinux под CentOS Stream

Значение какой-либо переменной изменяется при помощи команды setsebool. Использование опции -P позволяет применять изменения в настройках через перезагрузку. Например, если вы хотите разрешить HTTPD-скриптам подключаться к сети, обновите значение логической переменной следующим образом:

# setsebool -P httpd_can_network_connect ON

Проверить изменения можно при помощи предыдущей инструкции:

# getsebool -a | grep "httpd_can"

В строке httpd_can_network_connect вы должны увидеть значение on:

Вывод логических параметров с фильтром httpd_can - Введение в SELinux под CentOS Stream

Заключение

Данное введение в SELinux под CentOS Stream – это ваше первое короткое знакомство с основными понятиями о SELinux: о том, как SELinux может защитить систему, что представляют из себя режимы работы SELinux, как выглядит маркировка объектов и как оперировать логическими параметрами SELinux.

Статья полезна?

4 Да  2 Нет
Похожие статьи
  • Как добавить русский язык в Windows Server 2019/2022
  • Двухфакторная аутентификация с использованием одноразовых паролей
  • Как настроить PTR-записи для домена
  • Как в Linux закрыть доступ для пользователей без пароля
  • Защита SSH-подключения
  • Общая безопасность виртуального сервера
Оставить комментарий Отменить ответ

Популярные статьи
  • Как подключиться по RDP из-под MacOS
  • Как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04
  • Управление портами в Linux (Ubuntu/Debian/CentOS)
  • Настройка VPN с использованием WireGuard
  • Как извлекать и разархивировать файлы .tar.gz в Linux-системах
Разделы Справочника
  • Настройка VPS Сервера
  • Начало работы
  • Особенности виртуального сервера
  • Партнерам
  • Развертывание ПО на VPS сервере
  • Сетевые настройки сервера
GAME OVERNIGHT
CLOUDRUSSIA
STRATONET
SPACE DC
ARCTIC DC
VPS/VDS серверы:
Тестовый период
Дешевый VPS
VPS Старт
VPS Мощные
VPS Windows
VPS Быстрые NVMe
VPS с 1C
Форекс VPS
Игровые серверы
VPS для бизнеса
Пинг до дата-центров
Услуги:
Маркетплейс
Панель ispmanager
Антивирусная защита
Аренда лицензий
Облачное хранилище
VPS серверы с Plesk Obsidian
Колокация
Looking Glass
DNS
Клиентам:
О компании
Дата-Центры
Новости
Аттестация по ФСТЭК
Бонусная программа
Публичная Оферта
Соглашение об уровне услуг
Политика обработки персональных данных
Сувениры от RuVDS
Партнерам:
Для прессы
Партнерская программа
Отзывы
API
Помощь:
Справочник
FAQ
Созданных
серверов
231504
Huawey
Supermicro
Cisco
Intel
Microsoft
ISP
Kaspersky
RDCA Logo

«Креатив года» Премия ЦОДы.рф 2021, 2025

RDCA Logo

«Хостер года» Премия ЦОДы.рф 2023

RDCA Logo

«Человек года» Премия ЦОДы.рф 2024

RuVDS
support@RUVDS.com
8 (800) 775-97-42
+7 (495) 135-10-99
МЫ В СОЦИАЛЬНЫХ СЕТЯХ
Copyright © 2025 RuVDS. Все права защищены.
ООО "МТ ФИНАНС" | ОГРН 1157746680332
Оставить отзыв

Условия получения бонуса за оставленный отзыв:

  1. Напишите про нас на любом из специализированных сайтах для отзывов.
  2. Пришлите нам текст отзыва и ссылку на ваш отзыв.
  3. После проверки, мы опубликуем ваш отзыв у нас на сайте и также начислим бонус на ваш баланс.
Strong Testimonials form submission spinner.

Обязательное поле

Укажите электронную почту вашего аккаунта RUVDS
Укажите ссылку на ваш отзыв
rating fields
Поставьте оценку серверам RUVDS
Оставить отзыв
Strong Testimonials form submission spinner.

Обязательное поле

Укажите электронную почту вашего аккаунта RUVDS
Укажите ссылку на ваш отзыв
rating fields
Поставьте оценку серверам RUVDS