Отключить selinux debian 10
Обновлено: 21.11.2024
SELinux — это набор дополнительных ограничений безопасности поверх обычных инструментов безопасности Linux. Это дает системному администратору более тонкий контроль, чем обычно предоставляет ядро.
Проверить, запущен ли SELinux
Вы можете проверить, включен ли в данный момент SELinux, с помощью следующей команды:
Временное отключение SELinux
Временное отключение SELinux — это самый простой способ определить, связана ли проблема, с которой вы столкнулись, с вашими настройками SELinux. Чтобы отключить его, вам нужно стать пользователем root в вашей системе и выполнить следующую команду:
Это временно отключает SELinux до тех пор, пока он не будет снова включен или система не будет перезагружена. Чтобы снова включить его, просто выполните эту команду:
Как видно из этих команд, вы устанавливаете для файла /selinux/enforce значение «1» или «0», чтобы обозначить «истина» или «ложь».
Настройка SELinux для регистрации предупреждений вместо блокировки
Вы также можете настроить SELinux так, чтобы он выдавал предупреждающее сообщение, а не запрещал действие. Это известно как разрешительный режим. Чтобы изменить поведение SELinux на разрешающий режим, вам необходимо отредактировать файл конфигурации. В системах Fedora и RHEL этот файл находится в /etc/selinux/config. Вам нужно изменить параметр SELINUX на permissive следующим образом:
Обратите внимание, что эти изменения не вступят в силу, пока система не будет перезагружена, поэтому первый раздел пригодится в системе, которую вы либо не можете, либо не хотите перезагружать прямо сейчас.
Полное отключение SELinux
Чтобы полностью отключить SELinux, вместо того, чтобы установить для файла конфигурации разрешающий режим, установите для него значение отключено, например:
Вам потребуется перезагрузить систему или временно перевести SELinux в режим без принудительного применения, чтобы создать желаемый эффект, как в примере выше.
Все еще нужна помощь с SELinux? Книга SELinux System Administration (партнерская ссылка), доступная на Amazon, должна вам помочь.
Обновлено за август 2018 г.: путь к файловой системе изменился с /selinux/enforce на /sys/fs/selinux/enforce
.Как партнер Amazon мы зарабатываем на соответствующих покупках.
Linux считается одной из самых безопасных операционных систем, которые вы можете использовать сегодня, благодаря своим выдающимся функциям реализации безопасности, таким как SELinux (Security-Enhanced Linux).
Начнем с того, что SELinux описывается как структура безопасности обязательного контроля доступа (MAC), выполняемая в ядре. SELinux предлагает средства обеспечения соблюдения некоторых политик безопасности, которые в противном случае не могли бы быть эффективно реализованы системным администратором.
При установке RHEL/CentOS или нескольких производных функция или служба SELinux включены по умолчанию, поэтому некоторые приложения в вашей системе могут фактически не поддерживать этот механизм безопасности. Поэтому, чтобы такие приложения нормально работали, необходимо отключить или выключить SELinux.
Важно: если вы не хотите отключать SELinux, вам следует прочитать следующие статьи, чтобы реализовать обязательный контроль доступа к файлам и службам для правильной работы.
В этом практическом руководстве мы рассмотрим шаги, которые вы можете выполнить, чтобы проверить состояние SELinux, а также отключить SELinux в CentOS/RHEL и Fedora, если он включен.
Как отключить SELinux в Linux
Первое, что нужно сделать, это проверить состояние SELinux в вашей системе, и вы можете сделать это, выполнив следующую команду:
Затем перейдите к отключению SELinux в вашей системе, это можно сделать временно или постоянно, в зависимости от того, чего вы хотите достичь.
Временно отключить SELinux
Чтобы временно отключить SELinux, выполните следующую команду от имени пользователя root:
В качестве альтернативы вы можете использовать инструмент setenforce следующим образом:
В противном случае используйте параметр Permissive вместо 0, как показано ниже:
Описанные выше методы будут работать только до следующей перезагрузки, поэтому, чтобы навсегда отключить SELinux, перейдите к следующему разделу.
Отключить SELinux навсегда
Чтобы навсегда отключить SELinux, откройте в своем любимом текстовом редакторе файл /etc/sysconfig/selinux следующим образом:
Затем измените директиву SELinux=enforcing на SELinux=disabled, как показано на рисунке ниже.
Затем сохраните и закройте файл. Чтобы изменения вступили в силу, вам необходимо перезагрузить систему, а затем проверить состояние SELinux с помощью команды sestatus, как показано ниже:
В заключение мы рассмотрели простые шаги, которые вы можете выполнить, чтобы отключить SELinux в CentOS/RHEL и Fedora. В этой теме особо нечего осветить, но, кроме того, дополнительная информация о SELinux может оказаться полезной, особенно для тех, кто заинтересован в изучении функций безопасности в Linux.
Если вам понравилась эта статья, подпишитесь на уведомления по электронной почте о руководствах по Linux. Если у вас есть вопросы или сомнения? обратитесь за помощью в разделе комментариев.
Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:
TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.
Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.
Мы благодарны за вашу бесконечную поддержку.
Похожие записи
5 мыслей о том, как отключить SELinux временно или навсегда
Когда вы изменяете /etc/sysconfig/selinux, модуль ядра SELINUX по-прежнему будет загружен, просто больше не будет применяться какая-либо политика.
Чтобы предотвратить загрузку всего модуля, нам нужно добавить «selinux=0» в параметры ядра во время загрузки или выполнить эту команду и перезагрузить систему:
Эта статья оказалась для меня весьма полезной. Спасибо!
Только у меня есть этот файл в /etc/selinux/?
Единственное, что вы упустили, это почему. Зачем вам это?
В этом абзаце поясняется, почему: «При установке RHEL/CentOS или нескольких производных функция или служба SELinux включены по умолчанию, из-за этого некоторые приложения в вашей системе могут фактически не поддерживать этот механизм безопасности. Поэтому, чтобы такие приложения нормально работали, нужно отключить или выключить SELinux».
Есть что сказать? Присоединяйтесь к обсуждению. Отменить ответ
Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются данные ваших комментариев.
SELinux отличается от обычной системы безопасности Linux тем, что в дополнение к традиционному идентификатору пользователя UNIX и идентификатору группы он также прикрепляет пользователя SELinux, роль, домен (тип) и метку конфиденциальности к каждому файлу и процессу.
Для большинства операций требуются определенные домены, но вместо входа в домен некоторые процессы будут автоматически переключать домены, например когда вы запускаете «ping», вы переключаетесь на домен, который может выполнять ICMP. См. страницу SELinux для получения дополнительной информации и страницу SELinux/Проблемы для получения дополнительной информации о текущих проблемах SELinux в Debian.
На этой странице описывается, как настроить SELinux в вашей системе Debian GNU/Linux.
Теперь у вас должна быть работающая система SELinux, которая находится в разрешительном режиме. Это означает, что политика selinux не применяется, но отказы регистрируются. Вы можете увидеть все потенциальные отказы с момента последней перезагрузки с небольшим пояснением для каждого с помощью audit2why -al.Если в вашем системном журнале нет критических ошибок аудита и вы чувствуете себя комфортно с SELinux, временно включите принудительный режим, запустив setenforce 1, или навсегда, добавив enforcing=1 в командную строку ядра. в /etc/default/grub, а затем перезагрузиться в последний раз.
Если вы хотите узнать, как работать с недавно настроенной системой SELinux (переименование файлов, перемещение файлов, проверка контекста безопасности файлов и т. д.), может оказаться полезной документация Fedora Project SELinux FAQ от RedHat.
Прежде всего вы должны использовать файловую систему, поддерживающую SELinux. В настоящее время это включает btrfs, ext2, ext3, ext4, jfs и xfs. Для ext2/3/4 нет ничего особенного, но для других файловых систем есть некоторые особенности:
3.1. бтрфс
В настоящее время операция автоматического переименования не распространяется на подтома в btrfs. Вам нужно вручную переименовать подтом. Как только он будет помечен, все будет работать правильно.
3.2. СквошFS
SquashFS поддерживает xattr (который требуется для маркировки файлов SELinux), начиная с версии ядра 2.6.30.
3.3. РейзерФС
ReiserFS частично поддерживает SELinux, поскольку он поддерживает расширенные атрибуты, но не атомарную маркировку, что означает, что вновь созданные файлы не будут иметь контекст SELinux, что делает использование SELinux в ReiserFS довольно болезненным. Поэтому ReiserFS не поддерживается такими утилитами, как fixfiles, поэтому вам следует сначала перейти на одну из перечисленных выше файловых систем, если вы собираетесь использовать SELinux.
3.4. xfs
Во-вторых, вы должны убедиться, что ваше ядро включает все необходимые функции для запуска SELinux. Если вы используете упакованное ядро Debian, вы можете пропустить оставшуюся часть этого раздела, так как ядра Debian уже включают все необходимые функции SELinux, поэтому начните непосредственно с шагов установки.
Если вы собираете ядро самостоятельно, убедитесь, что CONFIG_AUDIT и CONFIG_SECURITY_SELINUX включены. Также убедитесь, что у вас включены расширенные атрибуты (XATTR) для ваших файловых систем, поскольку они используются для маркировки файлов в соответствующих контекстах SELinux. Для некоторых файловых систем (например, ReiserFS) вам также необходимо включить метки безопасности в качестве отдельной опции в дополнение к расширенным атрибутам.
Примечание: расширенные атрибуты (xattr) отличаются от поддержки user_xattr, которая не требуется для SELinux.
Когда конфигурация вас удовлетворит: соберите, установите и перезагрузите новое ядро, а затем выполните описанные выше действия по настройке.
Многие из приведенных ниже шагов являются исправлениями и обходными путями для проблем, перечисленных на странице ?SELinuxStatus и в отчетах об ошибках с пользовательским тегом SELinux.
5.1. инициализирующие скрипты
5.2. почтовые серверы (postfix/exim/и т.д.)
Несмотря на то, что модуль политики для exim существует, настоятельно рекомендуется использовать postfix, так как только эта политика прошла достаточное тестирование в Debian.
Если вы используете postfix, отключите поддержку chroot, запустив postfix-nochroot. Обратите внимание, что эту команду можно запускать несколько раз (что иногда необходимо, если вы запускали другой скрипт, добавляющий новый запись в /etc/postfix/master.cf), но сначала вам нужно переместить файл резервной копии в сторону.
echo 'SYNC_CHROOT="n"' >> /etc/default/postfix
чтобы избежать сбоя установки check-selinux: скрипт инициализации Postfix синхронизирует chroot
5.3. cronjob для ежедневного резервного копирования
Пакет shadow включает ежедневное задание cron для резервного копирования некоторых системных файлов, включая /etc/shadow. Из соображений безопасности вы не хотите, чтобы cron мог читать этот файл, поэтому отредактируйте /etc/cron.daily/passwd и отключите часть, создающую резервную копию /etc/shadow. и /etc/gshadow.
5.4. найти и обновитьb
"locate" является частью fileutils и раньше считался полезным инструментом для поиска файлов в вашей системе (на современных больших серверах это может серьезно снизить производительность, в то время как на небольших системах поиск выполняется достаточно быстро). Однако для работы ему необходимо сканировать всю вашу файловую систему на наличие файлов, что потребует довольно обширных разрешений SELinux и может привести к «утечке информации». В прошлом locate использовался для обхода контроля доступа SE Linux (из-за недостатка дизайна). Этот недостаток конструкции был исправлен, но по-прежнему не рекомендуется его использовать.
Для этого вставьте exit 0 во вторую строку /etc/cron.daily/find (или /etc/cron.daily/ mнайти).
Эти дополнительные разрешения, которые необходимо выполнить, конечно же, лишат вас многих вещей, к которым вы привыкли.
Например, обычный пользователь (в зависимости от политики) может не иметь возможности выполнить "ping", если вы не установите логическое значение "user_ping".
Но во многих случаях не нужно устанавливать простое логическое значение — в некоторых случаях на самом деле ожидается другое поведение.
6.1. Резервные копии
При резервном копировании системы SELinux убедитесь, что в резервную копию включены контексты файлов.Расширенная реализация tar может хранить расширенные атрибуты (это то, что SELinux использует для хранения контекстов файлов), если используется с параметрами -xattr -H=exustar. В качестве альтернативы вы можете запустить fixfiles relabel после восстановления из резервной копии, чтобы сбросить все контексты файлов до значений политики по умолчанию (что означает, что вы потеряете измененные контексты, хотя они обычно не используются с типичными серверными приложениями). не редкость для пользовательских приложений). Вы также можете запустить restorecon -R /whatever, чтобы восстановить контексты файлов, которые вы восстановили из резервной копии.
6.2. Ксен дом
При включении SELinux на экземпляре Xen domU обязательно включите запись /etc/fstab для вашей корневой файловой системы. Такие программы, как fixfiles, используют вывод команды mount для определения типа файловой системы. Без записи /etc/fstab mount сообщит о типе файловой системы как rootfs, а fixfiles завершится ошибкой. Это предотвратит правильную работу наиболее распространенных операций перемаркировки файловой системы, таких как touch /.autorelabel и fixfiles relabel /. Конечно, вы хотите сделать это, даже если не используете SE Linux.
Простой /etc/fstab для корневой файловой системы Xen domU с одним разделом выглядит примерно так:
У вас есть выбор между некоторыми вариантами так называемой эталонной политики SELinux: готовая selinux-policy-default или источник эталонной политики, selinux- policy-src (которую вы можете использовать, если хотите изменить политику или создать свою собственную).
Это потребует некоторых необходимых инструментов и библиотек, например. checkpolicy и/или policycoreutils. Вам также понадобится пакет selinux-basics.
При желании вы также можете установить некоторые другие пакеты, связанные с SELinux, такие как selinux-utils, setools, polgen, polgen -doc, slat, selinux-policy-doc и т. д., но они не требуются для минимальной настройки.
Готовые политики (строгие и целевые) пытаются угадать, какие пакеты вы установили, и включить соответствующие модули политик для них. Например, если у вас установлен ssh, модуль политики ssh будет загружен. Однако это может работать не для всех пакетов, поэтому может потребоваться ручная настройка.
При работе с включенным SELinux вы можете получить много сообщений об ошибках в системном журнале во время загрузки системы и после нее. Если вы хотите приключений, вы можете установить selinux-policy-src, исправить (или написать новые) политики, переименовать файловую систему и т. д. Конечно, с помощью последней политики вы можете создать свою собственную модули политик, чтобы вы могли вносить большинство изменений, которые вы хотели бы, при этом используя selinux-policy-default для большинства политик в вашей системе.
В некоторых дистрибутивах Linux SELinux включен по умолчанию, что может вызвать некоторые нежелательные проблемы, если вы не понимаете, как работает SELinux, и не понимаете основных деталей его настройки. Я настоятельно рекомендую вам понять SELinux и реализовать его в вашей среде. Но пока вы не разберетесь в деталях реализации SELinux, вы можете отключить его, чтобы избежать некоторых ненужных проблем.
Чтобы отключить SELinux, вы можете использовать любой из 4 различных методов, упомянутых в этой статье.
SELinux будет обеспечивать соблюдение политик безопасности, включая обязательный контроль доступа, определенный Министерством обороны США, с использованием модуля безопасности Linux (LSM), определенного в ядре Linux. Все файлы и процессы в системе будут помечены специальными метками, которые будут использоваться SELinux. Вы можете использовать ls -Z и просмотреть эти метки, как показано ниже.
Способ 1: временно отключить SELinux
Чтобы временно отключить SELinux, необходимо изменить файл /selinux/enforce, как показано ниже. Обратите внимание, что этот параметр исчезнет после перезагрузки системы.
Способ 2: навсегда отключить SELinux
Чтобы навсегда отключить SELinux, измените /etc/selinux/config и установите SELINUX=disabled, как показано ниже. После внесения любых изменений в файл /etc/selinux/config перезагрузите сервер, чтобы изменения вступили в силу.
Ниже приведены возможные значения переменной SELINUX в файле /etc/selinux/config
- enforcing — политика безопасности всегда принудительно применяется
- permissive — это просто имитирует принудительную политику, только печатая предупреждающие сообщения и не применяя SELinux. Это хорошо, чтобы сначала увидеть, как работает SELinux, а затем выяснить, какие политики следует применять.
- disabled — полностью отключить SELinux
Ниже приведены возможные значения переменной SELINUXTYPE в файле /etc/selinux/config. Указывает тип политик, которые можно использовать для SELinux.
- targeted — эта политика будет защищать только определенные целевые сетевые демоны.
- строгий – для максимальной защиты SELinux.
Способ 3: отключить SELinux из загрузчика Grub
Если вы не можете найти файл /etc/selinux/config в своей системе, вы можете отключить SELinux, передав его в качестве параметра загрузчику Grub, как показано ниже.
Читайте также: