ГлавнаяОперационные системыLinuxКак защитить ваши Linux-серверы с помощью SELinux

Как защитить ваши Linux-серверы с помощью SELinux

SELinux может помочь вам защитить ваш сервер от сбоев в процессах или приложениях. Архитектура Linux с улучшенной безопасностью (SE), разработанная АНБ (Агентством национальной безопасности) для защиты правительственных устройств от злоумышленников, использует протоколы безопасности для ограничения доступа к системным ресурсам. Узнайте, как вы можете использовать его для своего сервера.

Читайте также: Что такое Rc Shell и как его установить в Linux

Архитектура SELinux

SELinux — это модуль ядра, который может быть включен или отключен системным администратором. Поскольку доступ к файлам и сетевым портам ограничен в соответствии с политикой безопасности, неисправная программа или неправильно настроенный демон не могут оказать существенного влияния на безопасность системы.

Когда приложение или процесс запраш

Архитектура SELinux

ме SELinux, оно сначала проверяет кэш векторов доступа (AVC). Если разрешение ранее кэшировалось, оно возвращается с файлом для запрошенного приложения. Если разрешение не кэшировано, оно отправляет запрос на сервер безопасности. Сервер безопасности проверяет все политики безопасности в своей базе данных. В зависимости от политики безопасности разрешение предоставляется или отклоняется.

В SELinux нет понятия root или суперпользователя. Безопасность немодифицированного дистрибутива Linux без SE Linux зависит от правильности ядра, всех привилегированных приложений и их конфигураций. сбой или ошибка в любом из этих компонентов может создать поверхность для атаки и поставить под угрозу систему.

С другой стороны, модифицированная система Linux с SELinux в первую очередь зависит от корректности ядра и политик безопасности.

Читайте также: Как использовать команду Rm в Linux

Как установить или включить SELinux

SELinux означает Linux с улучшенной безопасностью. SELinux является частью ядра Linux с 2003 года. Поэтому его не нужно устанавливать отдельно. Однако в большинстве дистрибутивов Linux для настольных компьютеров он отключен по умолчанию.

Селинукс 2

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

  1. Принудительно: активирует и защищает систему Linux с помощью политик безопасности.
  2. Разрешающий: он не применяет политики безопасности, но записывает все. Этот режим полезен для устранения неполадок.
  3. Отключено: деактивирует SELinux. Этот вариант не рекомендуется, и если вы повторно включите SELinux в вашей системе, это приведет к ошибкам из-за изменений в маркировке.

Примечание. Ubuntu поставляется с AppArmor, альтернативой SELinux. Хотя SELinux доступен в Ubuntu, он несовместим с AppArmor и может привести к поломке вашей системы, если он включен. Если вам действительно нужно использовать SELinux в Ubuntu, обязательно отключите AppArmor и проведите интенсивное тестирование (сначала начните с разрешительного режима), прежде чем использовать его в производственных целях.

  1. Чтобы активировать SELinux в вашей системе, вам необходимо отредактировать файл «/etc/selinux/config». Откройте этот файл в текстовом редакторе.
sudo Как установить или включить SELinux>selinux/config
  1. В файле конфигурации установите SELINUX=permissive. Нажмите Ctrl+ Oи нажмите Enter, чтобы сохранить файл, и нажмите Ctrl+ Xвыйти из редактора. SELinux теперь активирован в вашей системе.

Примечание. Если вы попытаетесь применить SELinux непосредственно перед тем, как сделать его разрешительным, это может привести к неправильной маркировке файлов и процессов и препятствовать загрузке.

  1. Чтобы автоматически переименовать файловую систему, создайте файл с именем «.autorelabel» в корневой файловой системе. Теперь, когда вы загружаете свою систему, SELinux автоматически переименует вашу файловую систему. Чтобы уменьшить количество ошибок, сохраните параметр SELINUX=permissiveв папке конфигурации. После того, как все будет перемаркировано, установите для SELinux значение SELINUX=enforcingв «/etc/selinux/config» и перезагрузитесь.

SELinux будет успешно внедрен в вашей системе.

Также читайте: Как настроить подсказку терминала Linux с помощью Starship

Как настроить SELinux

SELinux — это архитектура, которая позволяет системным администраторам контролировать доступ к системным ресурсам. SELinux ограничивает доступ к системе с помощью политик безопасности. Существует множество способов настройки SELinux для защиты вашей системы, наиболее популярными из которых являются «целевая политика» и «многоуровневая безопасность» (MLS).

Целевая политика — это политика безопасности по умолчанию. Он охватывает ряд политик безопасности, таких как доступ к файлам, задачам, службам и т. д. Многоуровневая безопасность (MLS) обычно используется государственными и крупными организациями, ее очень сложно настроить, и для ее управления требуется выделенная команда.

Вы можете проверить текущий режим SELinux с помощью команд getenforceи sestatus.

Если вам нужно изменить режим SELinux только в текущем сеансе, вы можете выполнить следующие две команды.

  • sudo setenforce 0: Установка SELinux в разрешительный режим для текущего сеанса.
  • sudo setenforce 1: установка SELinux в принудительном режиме для текущего сеанса.

Политики SELinux

SELinux работает как система маркировки. Он связывает каждый файл, порт и процесс с меткой. Ярлыки — это логический способ группировки вещей. Ядро отвечает за управление меткой во время загрузки.

Селинукс 1

Политиками SELinux можно управлять с помощью логических значений. Например, давайте присвоим логическое значение демону с именем httpd. httpd— это демон HTTP-сервера Apache, который мы используем для запуска веб-серверов в Linux.

Чтобы просмотреть все модули, относящиеся к httpd, выполните в терминале следующую команду:

getsebool -a | grep httpd

Здесь опция -aперечисляет все логические значения, и мы используем grepдля фильтрации логических значений, связанных только с httpd. Прочтите эту статью до узнать больше о grep в Linux .

Результаты приведенной выше команды выглядят так, как показано на изображении ниже.

httpd_builtin scripting --> on 
httpd_can_check_spam --> off 
httpd can connect ftp --> off 
httpd_can_connect_ldap --> off 
httpd_can_connect_mythty --> off 
httpd_can_connect_zabbix --> off 
httpd_can_network_connect --> off httpd_can_network_connect_cobbler --> off httpd_can_network_connect_db --> off 
httpd_can_network_memcache --> off 
httpd_can_network_relay --> off 
httpd_can_sendmail --> off 
httpd_dbus_avahi --> off 
httpd dbus sssd--> off

Из приведенного выше списка мы берем логическое значение httpd_can_connect_ftpи меняем его значение. Сначала прочитайте значение <

Как настроить SELinux

de>, независимо от того, включено оно или выключено:

getsebool httpd_can_connect_ftp

Давайте установим значение httpd_can_connect_ftp, чтобы разрешить.

setsebool -P httpd_can_connect_ftp 1

Здесь 1 означает allowили on. Тег -Pиспользуется для того, чтобы сделать изменение постоянным. Если вы снова перечислите логические значения, связанные с httpd, мы увидим изменение значения httpd_can_connect_ftpна on.

httpd_builtin_scripting --> on 
httpd_can_check_spam --> off 
httpd can connect ftp --> on 
httpd_can_connect_ldap --> off 
httpd_can_connect_mythty --> off 
httpd_can_connect_zabbix --> off 
httpd_can_network_connect --> off httpd_can_network_connect_cobbler --> off httpd_can_network_connect_db --> off 
httpd_can_network_memcache --> off 
httpd_can_network_relay --> off 
httpd_can_sendmail --> off 
httpd_dbus_avahi --> off 
httpd dbus sssd--> off

Читайте также: Как настроить WordPress с помощью Docker в Ubuntu

Как обрабатывать ошибки SELinux

В SELinux есть 4 типа ошибок:

  1. Система сломана : SELinux защищает вашу систему, ограничивая доступ, но иногда этого недостаточно. Если вы получаете эти ошибки, возможно, ваша система скомпрометирована. Примите необходимые меры как можно быстрее.
  2. Ошибка в политике : эта ошибка появляется, если в

    Политики SELinux

    торую необходимо исправить.
  3. Ярлыки неверны. Это сообщение об ошибке появляется во время настройки маркировки пользователем или когда автоматическая маркировка SELinux не работает. На рынке существует множество инструментов для исправления ошибок в этикетках.
  4. Необходимо исправить политику : эти ошибки возникают, когда вы вносите некоторые изменения в систему и не сообщаете об этом SELinux. Эту ошибку можно исправить с помощью логических модулей или модулей политики.

Как отключить SELinux

Отключение SELinux никогда не будет лучшим вариантом для корпоративных и государственных серверов, а также общедоступных устройств, которые очень подвержены атакам. Но если вы хотите отключить SELinux в своей системе, следуйте этим инструкциям.

  1. Перейдите к файлу конфигурации SE Linux в «/etc/selinux» и измените режим конфигурации SE Linux с enforcingна permissive, затем перезагрузите систему..
  2. Измените режим SELinux с permissiveна disabled.

После следующей перезагрузки SELinux в вашей системе отключается и становится обычной машиной Linux.

Читайте также: Как настроить брандмауэр в Linux

Часто задаваемые вопросы

Присутствует ли SELinux в Android?

Да, SELinux реализован в Android начиная с версии 4.3. Это повысило безопасность Android для защиты пользователей Android от кибератак.

Является ли SELinux межсетевым экраном?

SELinux не является межсетевым экраном. Брандмауэр контролирует трафик между компьютером и сетью. Хотя SELinux контролирует и управляет файловой системой и сетевым доступом различных программ внутри системы, мы можем рассматривать SELinux как внутренний брандмауэр для защиты системы от его программ.

Является ли SELinux операционной системой?

SELinux не является операционной системой. Это модуль безопасности ядра, существующий в ядре Linux. Он обеспечивает поддержку политик безопасности контроля доступа и обязательного контроля доступа (MAC). Чтобы назвать ее операционной системой, ей нужно нечто большее, чем само ядро. В большинстве операционных систем на базе Linux вы можете использовать SELinux.

Стоит ли использовать SELinux?

Если вы системный администратор и знаете систему Unix, вам следует использовать SELinux, поскольку он повышает безопасность вашего сервера и сводит к минимуму поверхность атаки. Если вы не очень хорошо знакомы с системами Unix, вы также можете использовать Apparmour. Это относительно проще, чем SELinux. Если вы домашний пользователь и используете Linux только на настольном компьютере, нет необходимости использовать SELinux. Это просто вызовет у вас головную боль при настройке и снизит вашу производительность.

Как обрабатывать ошибки SELinux

Как отключить SELinux

Часто задаваемые вопросы

Присутствует ли SELinux в Android?

Является ли SELinux межсетевым экраном?

Является ли SELinux операционной системой?

Стоит ли использовать SELinux?

ПОХОЖИЕ СТАТЬИ

Популярные записи