Вернуть старое меню
Бесплатно, 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 под Ubuntu 20.04

Введение в SELinux под Ubuntu 20.04

10236 просмотров 12 2022-10-11 2022-10-13

В операционных системах семейства Linux существует такое понятие как Security Enhanced Linux (SELinux). Это – не что иное, как система контроля доступа. Данная система разрабатывалась как защита ОС от несанкционированного доступа к ней. В настоящее время SELinux включена во многие Linux-дистрибутивы. Ниже посмотрим, как работать с SELinux в Ubuntu 20.04.

Что это такое вообще?

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

Модель избирательного управления доступом представляет собой систему управления доступом на основе списков, в которых объектами доступа являются пользователи, группы и прочее. Такие объекты обладают комбинациями полномочий (чтение/запись/выполнение). В свою очередь, SELinux может ограничивать доступ к пользовательским объектам таким образом, что суперпользователь не будет иметь суперпривилегий в отношении всех объектов такого пользователя.

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

Инсталляция SELinux

В рамках настоящего руководства следует использовать VPS, на котором выполнены работы по первоначальной настройке виртуального сервера. В частности, авторизацию в системе необходимо производить при помощи учётной записи, не являющейся суперпользователем, но имеющей привилегии sudo. Также, полезно обезопасить сервер настройкой брандмауэра. Как это сделать, описано в соответствующей статье нашего справочника.

Во-первых, перед тем, как запустить установку SELinux, нужно обновить список пакетов:

$ sudo apt update

Команда для инсталляции SELinux выглядит следующим образом:

$ sudo apt install policycoreutils selinux-utils selinux-basics

Установочная инструкция содержит необходимые пакеты, а именно:

  • policycoreutils – основные утилиты политики, необходимые для базовой работы SELinux;
  • selinux-utils – различные утилиты с расширенной поддержкой SELinux;
  • selinux-basics – базовые компоненты SELinux, направленные на упрощение установки.

Состояние SELinux

Сразу после установки SELinux будет находиться в выключенном состоянии. Чтобы это увидеть, наберите команду sestatus:

Просмотр состояния SELinux - Введение в SELinux под Ubuntu 20.04

Для запуска SELinux необходимо ввести команду sudo selinux-activate:

Запуск SELinux - Введение в SELinux под Ubuntu 20.04

После активации системы нужно будет перезагрузить сервер. В результате команда sestatus сообщит нам о том, что SELinux теперь находится во включенном состоянии.

Просмотр состояния SELinux - Введение в SELinux под Ubuntu 20.04

Режимы SELinux

Запущенный SELinux может работать в двух состояниях – permissive и enforcing. Для вывода активного на данный момент режима применяется команда getenforce:

Просмотр режима работы SELinux

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

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

$ sudo semodule -l

Основные настройки SELinux находятся в файле /etc/selinux/config. При помощи данного файла можно отключить SELinux полностью, а также произвести настройки требуемой политики безопасности. Содержимое файла выглядит примерно следующим образом:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these two values:
# default - equivalent to the old strict and targeted policies
# mls     - Multi-Level Security (for military and educational use)
# src     - Custom policy built from source
SELINUXTYPE=default

# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0

Параметр SELINUX как раз и указывает на применённый в данный момент режим, принимая значения permissive или enforcing. Значение disabled будет означать, что система SELinux полностью отключена.

Переключение между режимами также можно производить с использованием команды setenforce. Активация режима enforcing происходит при выполнении следующей инструкции:

$ sudo setenforce 1
Переключение в режим enforcing

В свою очередь режим permissive включается командой:

$ sudo setenforce 0
Переключение в режим permissive

Контекст SELinux

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

Посмотреть содержимое контекста, к примеру, какой-либо директории можно используя команду ls -Z. Например, для каталога /home запись данной команды будет иметь вид:

$ ls -Z /home
Просмотр контекста для каталога /home

В данном случае каталог /home содержит всего один объект – директорию your-user. При этом вы можете заметить, что содержимое контекста для него описано следующим синтаксисом:

user:role:type:level

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

Подобным же образом отображается контекст для процессов. Например, так выглядит контекст для процесса httpd:

$ ps Z | grep httpd
Просмотр контекста для процесса httpd

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

Логические параметры служат для включения и отключения позиций SELinux. Полный список таких логических переменных доступен для просмотра по команде getsebool -a. Поскольку данный список довольно обширный, то для поиска необходимых параметров удобнее пользоваться фильтром grep:

$ getsebool -a | grep cron
Просмотр списка логических переменных

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

$ setsebool -P cron_read_all_user_content ON
Включение логической переменной - Введение в SELinux под Ubuntu 20.04

Вместо заключения

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

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

12 Да  7 Нет
Похожие статьи
  • Как добавить русский язык в 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