SELinux

SELinux в Ubuntu Учебное пособие

SELinux в Ubuntu Учебное пособие

Вступление

SELinux - это модуль обязательного контроля доступа (MAC), находящийся на уровне ядра Linux-систем. Это совместная разработка Redhat и NSA, выпущенная примерно в 1998 году и до сих пор поддерживаемая сообществом энтузиастов. По умолчанию Ubuntu использует AppArmor, а не SeLinux, который похож по производительности, но довольно популярен с точки зрения простоты. Однако известно, что SeLinux довольно безопасен благодаря участию правительственного агентства. SELinux - это приложение с открытым исходным кодом, которое защищает хост, изолируя каждое приложение и ограничивая его действия. По умолчанию процессы заблокированы от выполнения каких-либо действий, если не предоставлено явное разрешение. Модуль изначально предоставляет два правила управления глобального уровня: Permissive и Enforcing, которые соответственно регистрируют каждое нарушенное правило и запрещают доступ к определенному запросу, отправленному из процесса. В этом руководстве показано, как с легкостью использовать его в Ubuntu.

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

SeLinux - очень сложное приложение для установки, потому что, если оно не настроено должным образом до первой перезагрузки, вся операционная система станет недоступной для загрузки, а это означает, что все, что выходит за пределы экрана начальной загрузки, будет практически недоступно обычным способом.

Также, как указывалось ранее, Ubuntu уже имеет сложную систему обязательного контроля доступа высокого уровня, известную как AppArmor, и поэтому ее необходимо отключить перед установкой SeLinux, чтобы избежать каких-либо конфликтов. Используйте следующие инструкции, чтобы отключить AppArmor и включить SeLinux.

sudo / etc / init.d / apparmor stop apt-get update && upgrade -yuf apt-get install selinux nano / etc / selinux / config 'установить SELINUX в ​​разрешающий режим, SELINUXTYPE в значение по умолчанию' перезагрузка 

Этот файл конфигурации можно открыть в любом текстовом редакторе для внесения изменений. Причина назначения разрешающего правила для SETLINUX - сделать операционную систему доступной, оставив SeLinux включенным. Настоятельно рекомендуется использовать разрешающую опцию, так как это беспроблемно, но при этом регистрируются нарушенные правила, установленные в SeLinux.

Доступные Варианты

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

Проверить статус:  Состояние SELinux можно проверить непосредственно через окно терминала, в котором отображается основная информация, например, включен ли SeLinux, корневой каталог SELinux, имя загруженной политики, текущий режим и т. Д.  После перезагрузки системы после установки SeLinux используйте следующую команду от имени пользователя root с командой sudo. Если в разделе статуса указано, что SeLinux включен, это означает, что он запущен и работает в фоновом режиме.

[адрес электронной почты защищен]: / home / dondilanga # sestatus

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

nano / etc / selinux / config 'установите SELINUX как разрешающий или принудительный, SELINUXTYPE по умолчанию' 

Проверьте файл журнала: Файл журнала, в котором указываются нарушенные правила по каждому запросу.  Это ведет только журналы, если SeLinux включен.

grep selinux / var / журнал / аудит / аудит.бревно

Включение и отключение политик и предлагаемые меры защиты: Это одна из самых важных опций в SeLinux, поскольку она позволяет включать и отключать политики. SeLinux имеет большое количество предварительно созданных политик, которые определяют, разрешен ли указанный запрос или нет. Некоторыми из примеров этого являются allow_ftpd_full_access, который определяет возможность службы FTP для входа в систему для локальных пользователей и чтения, записи всех файлов в системе, allow_ssh_keysign, который позволяет использовать ключи при входе в SSH, allow_user_mysql_connect, который позволяет пользователям подключаться к mysql , httpd_can_sendmail, который определяет способность службы HTTP отправлять электронную почту и т. д.… В следующем примере кода он устанавливает policycoreutils-python-utils, который на самом деле помогает в описательном перечислении каждой политики, а затем выводит все доступные политики для терминала и, наконец, он учит, как включить или выключить политику, allow_ftpd_full_access - это имя политики, показанное в терминале, возвращенное semanage,

apt-get install policycoreutils-python-utils semanage boolean -l setsebool -P allow_ftpd_full_access ON 

Расширенные опции

Расширенные параметры - это параметры, которые помогают расширить функциональные возможности SELInux. Существует огромное количество комбинаций из-за всеобъемлющего характера SeLinux, поэтому в этой статье перечислены некоторые из наиболее заметных и полезных из них.

Контроль доступа на основе ролей (RBAC): RBAC позволяет администраторам переключаться на ролевой способ ограничения разрешений приложений. Это означает, что пользователю определенной группы пользователей разрешено выполнять или выполнять определенные предопределенные действия. Пока пользователь является частью роли, все в порядке. Это то же самое, что переключение на root при установке приложений в Linux с правами администратора.

semanage логин -a -s 'myrole' -r 's0-s0: c0.c1023 ' 

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

sudo -r новая_роль_r -i

Пользователи также могут удаленно подключаться к серверу через SSH с включенной ролью при запуске.

ssh / [электронная почта защищена]

Разрешить службе прослушивать нестандартный порт: Это очень полезно при настройке службы, например, когда FTP-порт изменен на нестандартный, чтобы избежать несанкционированного доступа, SELinux должен быть проинформирован соответствующим образом, чтобы такие порты могли проходить и функционировать как обычно. В следующем примере порт FTP позволяет прослушивать порт 992. Аналогичным образом, любая услуга, возвращенная порт semanage -l можно заменить.  Некоторые из популярных портов: http_port_t, pop_port_t, ssh_port_t.

порт semanage -a -t    порт semanage -a -t ftp_port_t -p tcp 992 

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

Отключить SELinux проще, поскольку он включен и установлен. В основном есть два способа отключить его. Либо временно, либо навсегда. Временное отключение SeLinux отключает его на некоторое время до следующей загрузки, и как только компьютер снова включается, состояние перезапускается. С другой стороны, постоянное отключение SeLinux полностью отключает его, подвергая его угрозам со стороны; следовательно, будет разумным выбором восстановить AppArmor Ubuntu по умолчанию, по крайней мере, ради безопасности системы.

Следующая команда на терминале временно отключает его:

setenforce 0 

Чтобы навсегда отключить править / и т.д. / selinux / config и отключите SELINUX.

Лучшие игры с отслеживанием рук
Oculus Quest недавно представил отличную идею отслеживания рук без контроллеров. С постоянно растущим числом игр и действий, которые осуществляются фо...
Как показать наложение OSD в полноэкранных приложениях и играх Linux
Игра в полноэкранные игры или использование приложений в полноэкранном режиме без отвлекающих факторов может отрезать вас от соответствующей системной...
Топ-5 карт для захвата игр
Все мы видели и любили потоковые игры на YouTube. PewDiePie, Jakesepticye и Markiplier - лишь некоторые из лучших игроков, которые заработали миллионы...