Укажите, что принудительно применяется для Android

Обновлено: 18.08.2022

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

2.1. Постоянные изменения состояний и режимов SELinux

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

Используйте команды getenforce или sestatus, чтобы проверить, в каком режиме работает SELinux. Команда getenforce возвращает Enforcing , Permissive или Disabled .

Команда sestatus возвращает статус SELinux и используемую политику SELinux:

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

Чтобы предотвратить возникновение проблем из-за неправильно помеченных и немаркированных файлов, файловые системы автоматически переименовываются при переходе из отключенного состояния в разрешающий или принудительный режим. В разрешительном режиме используйте команду fixfiles -F onboot от имени пользователя root, чтобы создать файл /.autorelabel с параметром -F, чтобы обеспечить переименование файлов при следующей перезагрузке.

2.2. Переход в разрешающий режим

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

Предпосылки

  • В вашей системе установлены пакеты selinux-policy-targeted , libselinux-utils и policycoreutils .
  • Параметры ядра selinux=0 или enforcing=0 не используются.

Процедура

Откройте файл /etc/selinux/config в любом текстовом редакторе, например:

Настройте параметр SELINUX=permissive:

Перезагрузите систему:

Подтверждение

После перезагрузки системы убедитесь, что команда getenforce возвращает Permissive :

2.3. Переход в принудительный режим

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

Предпосылки

  • В вашей системе установлены пакеты selinux-policy-targeted , libselinux-utils и policycoreutils .
  • Параметры ядра selinux=0 или enforcing=0 не используются.

Процедура

Откройте файл /etc/selinux/config в любом текстовом редакторе, например:

Настройте параметр SELINUX=enforcing:

Сохраните изменения и перезапустите систему:

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

Подтверждение

После перезагрузки системы убедитесь, что команда getenforce возвращает Enforcing :

После перехода в принудительный режим SELinux может запретить некоторые действия из-за неправильных или отсутствующих правил политики SELinux. Чтобы просмотреть, какие действия запрещает SELinux, введите следующую команду от имени пользователя root:

В качестве альтернативы, если установлен пакет setroubleshoot-server, введите:

Если SELinux активен, а демон аудита ( auditd ) не запущен в вашей системе, найдите определенные сообщения SELinux в выводе команды dmesg:

2.4. Включение SELinux в системах, в которых ранее он был отключен

Процедура

    Включите SELinux в разрешающем режиме. Дополнительные сведения см. в разделе Переход в разрешающий режим.

Перезагрузите систему:

Подтверждение

После перезагрузки системы убедитесь, что команда getenforce возвращает Enforcing :

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

  • Запустите приложение в домене unconfined_service_t.
  • Создайте новую политику для своего приложения. Дополнительные сведения см. в разделе Создание пользовательской политики SELinux.

Дополнительные ресурсы

2.5. Отключение SELinux

Используйте следующую процедуру, чтобы навсегда отключить SELinux.

Когда SELinux отключен, политика SELinux вообще не загружается; это не применяется, и сообщения AVC не регистрируются. Таким образом, все преимущества запуска SELinux теряются.

Red Hat настоятельно рекомендует использовать разрешающий режим вместо постоянного отключения SELinux. Дополнительную информацию о разрешительном режиме см. в разделе Переход в разрешающий режим.

Отключение SELinux с помощью параметра SELINUX=disabled в /etc/selinux/config приводит к процессу, в котором ядро ​​загружается с включенным SELinux и переключается в отключенный режим позже в процессе загрузки. Поскольку могут возникать утечки памяти и состояния гонки, вызывающие панику ядра, лучше отключить SELinux, добавив параметр selinux=0 в командную строку ядра, как описано в разделе Изменение режимов SELinux во время загрузки, если ваш сценарий действительно требует полного отключения SELinux.

Процедура

Откройте файл /etc/selinux/config в любом текстовом редакторе, например:

Настройте параметр SELINUX=disabled:

Сохраните изменения и перезапустите систему:

Подтверждение

После перезагрузки убедитесь, что команда getenforce возвращает значение Disabled:

2.6. Изменение режимов SELinux во время загрузки

При загрузке вы можете установить несколько параметров ядра, чтобы изменить способ работы SELinux:

Установка этого параметра приводит к запуску системы в разрешительном режиме, что полезно при устранении неполадок. Использование разрешающего режима может быть единственным способом обнаружения проблемы, если ваша файловая система слишком повреждена. Более того, в разрешительном режиме система продолжает корректно создавать метки. Сообщения AVC, созданные в этом режиме, могут отличаться от сообщений в принудительном режиме.

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

Этот параметр запрещает ядру загружать какую-либо часть инфраструктуры SELinux. Сценарии инициализации замечают, что система загружается с параметром selinux=0, и обращаются к файлу /.autorelabel. Это приводит к тому, что система автоматически меняет метку при следующей загрузке с включенным SELinux.

Red Hat не рекомендует использовать параметр selinux=0. Для отладки системы лучше использовать разрешающий режим.

Этот параметр заставляет систему переименовывать аналогично следующим командам:

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

Samsung Knox

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

SE для Android обеспечивает обязательный контроль доступа (MAC) по сравнению с традиционными средами дискреционного контроля доступа (DAC). SE для Android может предоставлять специальные привилегии на основе определенных политик EMM. В средах DAC, поскольку SE для Android контролирует доступ к ресурсам ядра, некоторые приложения могут работать не так, как предполагалось. Функция MAC от Samsung позволяет вашим приложениям правильно работать вместе с SE для Android.

О Samsung Knox

Samsung KNOX обеспечивает безопасность корпоративных данных, сохраняя конфиденциальность личной информации:

• Контейнер Samsung KNOX предоставляет отдельный интерфейс.

• Ваши личные приложения, фотографии, электронные письма и тексты хранятся отдельно от контейнера Samsung KNOX. Они защищены и закрыты от корпоративных ИТ-администраторов.

• ИТ-администраторы могут получить доступ к важным корпоративным файлам и электронной почте внутри контейнера Samsung KNOX на вашем устройстве.

• Samsung KNOX Apps позволяет легко и безопасно загружать бизнес-приложения в контейнер Samsung KNOX.

Обновления безопасности Knox

Новые версии Knox привязаны к конкретной операционной системе Android. Каждый раз, когда вы обновляете свою ОС, Knox также обновляется

Например, если вы недавно обновили свое устройство до Android Pie, ваша версия Knox также автоматически обновится до Knox 3.2.1. Чтобы проверить, поддерживает ли ваше устройство обновление Knox.

1. Проверьте текущую версию Android на вашем устройстве: «Настройки» > «Основные» > «Об устройстве» > «Версия Android».

2. Проверьте доступные обновления программного обеспечения: «Настройки» > «Основные» > «Об устройстве» > «Обновление ПО» > «Обновить».

3 Установите обновление Android. (Доступность зависит от вашего оператора связи и страны. Если вам не удается обновить ОС Android, вы не можете выполнить обновление до более новой версии Knox.)

Многоуровневая безопасность

ㆍУлучшение безопасности: защита ресурсов и данных устройства от несанкционированного доступа

ㆍЗащита и шифрование во время выполнения — проверка основного программного обеспечения ОС. Эти проверки гарантируют блокировку запросов на обход системы безопасности устройства и защиту конфиденциальных данных.

ㆍАрхитектура Trustzone — постоянно проверяет целостность ядра

ㆍБезопасная/надежная загрузка и аппаратный корень доверия — гарантирует, что устройство загружается только из авторизованного ядра, а не из взломанного или рутированного ядра

Я зашел в настройки устройства и заметил "Статус SE для Android", а моя дата - 13 января. Вот мой..

2e158bc68dbca698757e6a49ab276eff.jpg

Что делает "Статус SE для Android" для устройства? Его можно взломать? Что может изменить эту дату? Что у вас есть на свидание?

DUHAsianSKILLZ

Старший участник

Это просто сообщает вам, что если я прав, "selinux" или что-то еще настроено на принудительное выполнение. Я запускаю ядро ​​​​skyhigh, и оно настроено на разрешающую способность. Есть разница между ними. Google разрешительный против принудительного, и он должен сказать вам. Я не уверен насчет даты, кстати. Это своего рода функция безопасности, в которой kitkat применяет ее, в то время как более старые версии Android являются разрешительными. Надеюсь, это поможет!

ratman6161

Старший участник

Я зашел в настройки устройства и заметил "Статус SE для Android", а моя дата - 13 января. Вот мой..

2e158bc68dbca698757e6a49ab276eff.jpg

Что делает "Статус SE для Android" для устройства? Его можно взломать? Что может изменить эту дату? Что у вас есть на свидание?

SE означает "повышенная безопасность". Это хорошо, а отключать - плохая идея. Я не уверен, что заставляет дату измениться. У меня написано 20 января.

jawz101

Старший участник

Посмотрев графический интерфейс Fedora для SELinux, его легко понять. Это реализация управления доступом в Linux, похожая на локальную политику безопасности или групповую политику в MS Windows. Любое ядро, имеющее это, довольно круто.
Если бы он находился в разрешительном состоянии, это было бы бесполезно, но, поскольку Samsung принудительно применяет его, он действительно работает.

Он говорит: "У этого пользователя есть доступ для выполнения этой конкретной операции". Это также применимо к системным учетным записям (т. е. к учетным записям, которые работают за кулисами операционной системы). Используя контроль доступа, вы (в данном случае Samsung) можете разрешить или запретить даже учетным записям служб с минимальными привилегиями пользователя делать только то, что им нужно. предназначен для. Например, если бы у меня был веб-сервер, у меня была бы учетная запись, единственное разрешение которой — запускать и останавливать веб-службу. Таким образом, если его учетные данные скомпрометированы, злоумышленник может включать и выключать только эту одну службу, но не может получить доступ к случайным папкам или базам данных на сервере. Android L реализовал это совсем недавно.

Теперь вы не можете просто установить такие правила и уйти. Вам, вероятно, придется настроить его, если что-то не работает правильно, или вы нашли другую детальную вещь, которую нужно заблокировать (вы можете потратить много времени на создание чрезмерно причудливой политики безопасности).
Samsung имеет параметр в разделе "Безопасность/Служба обновлений безопасности" для загрузки новых шаблонов политик. Я предполагаю, что это то, что касается даты. На 99% уверен, что это он. Я впечатлен тем, что они действительно так часто поддерживают SELinux. Я не знаю, есть ли в Android L такой механизм обновления политик, но это было бы здорово, поэтому я впечатлен тем, что Samsung сделала это.

Раньше я использовал групповую политику в домене Windows, но не применял многие политики. Такие мелочи, как перевод домашней страницы Internet Explorer всех пользователей на страницу интрасети нашей компании или указание им получать обновления Microsoft с локального сервера обновлений, а не все компьютеры, как правило, загружающие из Центра обновления Майкрософт. экономит пропускную способность, и я мог сказать, когда компьютеры не обновлялись. Слишком большое количество объектов групповой политики может замедлить время входа в систему. Кроме того, я бы возился с этим все время, если бы пытался создать максимальную, мегабезопасную политику. и есть много возможностей заблокировать то, что не нужно блокировать или может сделать законные программы неработоспособными. Очевидно, у Samsung есть ботаник, который этим занимается.

Как обсуждалось в Разделе 2.4, «Состояния и режимы SELinux», SELinux можно включить или отключить. При включении SELinux имеет два режима: принудительный и разрешающий.

Используйте команды getenforce или sestatus для проверки состояния SELinux. Команда getenforce возвращает Enforcing , Permissive или Disabled .

Примечание

Когда система запускает SELinux в разрешительном режиме, пользователи могут неправильно маркировать файлы. Файлы, созданные с помощью SELinux в разрешительном режиме, помечаются неправильно, а файлы, созданные при отключенном SELinux, вообще не помечаются. Такое поведение вызывает проблемы при переходе в принудительный режим, поскольку файлы помечаются неправильно или вообще не помечаются. Чтобы предотвратить возникновение проблем из-за неправильно помеченных и немаркированных файлов, файловые системы автоматически переименовываются при переходе из отключенного состояния в разрешающий или принудительный режим. При переходе из разрешительного режима в принудительный принудительно перемаркируйте при загрузке, создав файл .autorelabel в корневом каталоге:

5.4.1. Включение SELinux

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

5.4.1.1. Принудительный режим

Когда SELinux работает в принудительном режиме, он применяет политику SELinux и запрещает доступ на основе правил политики SELinux. В Red Hat Enterprise Linux принудительный режим включен по умолчанию при первоначальной установке системы с SELinux.

Процедура 5.2. Переход в принудительный режим

Эта процедура предполагает, что пакеты selinux-policy-targeted , selinux-policy , libselinux , libselinux-python , libselinux-utils , policycoreutils , policycoreutils-python , setroubleshoot , setroubleshoot-server , setroubleshoot-plugins установлены. Чтобы убедиться, что пакеты установлены, используйте следующую команду:

Важно

Если система изначально была установлена ​​без SELinux, особенно с пакетом selinux-policy, для включения SELinux необходимо выполнить один дополнительный шаг. Чтобы обеспечить инициализацию SELinux во время запуска системы, необходимо запустить утилиту dracut, чтобы включить поддержку SELinux в файловую систему initramfs. Если этого не сделать, SELinux не запустится при запуске системы.

Перед включением SELinux каждый файл в файловой системе должен быть помечен контекстом SELinux. Прежде чем это произойдет, ограниченным доменам может быть отказано в доступе, что помешает правильной загрузке вашей системы. Чтобы предотвратить это, настройте SELINUX=permissive в /etc/selinux/config:

Как привилегированный пользователь Linux перезагрузите систему. Во время следующей загрузки файловые системы помечаются. Процесс метки помечает каждый файл контекстом SELinux:

Каждый символ * (звездочка) в нижней строке представляет 1000 помеченных файлов. В приведенном выше примере четыре символа * обозначают 4000 помеченных файлов. Время, необходимое для маркировки всех файлов, зависит от количества файлов в системе и скорости жестких дисков. В современных системах этот процесс может занять всего 10 минут.

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

Если SELinux не запрещал никаких действий во время последней загрузки, эта команда ничего не возвращает. См. Главу 8, Устранение неполадок для получения информации об устранении неполадок, если SELinux отказал в доступе во время загрузки.

Если в /var/log/messages не было сообщений об отказе, настройте SELINUX=enforcing в /etc/selinux/config :

5.4.1.2. Разрешающий режим

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

Читайте также: