Мы унаследовали кучу используемых серверов от другой команды. В некоторых из них включен SELinux, в некоторых нет. Из-за SELinux у нас возникли проблемы с настройкой ssh без пароля, нашего веб-сервера и т. Д. Мы нашли способ обойти это на сайте stackexchange , который должен запускаться:
restorecon -R -v ~/.ssh
Однако, поскольку нам не нужно, чтобы SELinux выполнял то, что мы делаем, было бы проще отключить его, чем помнить, что каждый должен запускать вышеупомянутый cmd с любыми разрешениями dir.
Можем ли мы отключить SELinux без каких-либо последствий в будущем или лучше просто переизобразить сервер? Стоит отметить одну вещь; наша ИТ-группа действительно занята, поэтому переизображение сервера не стоит в их списке, если только это не является абсолютно необходимым (нужен очень хороший бизнес-кейс) ... или кто-то подкупает своего босса бутылкой скотча или виски.
ОБНОВЛЕНИЕ: Спасибо за все предложения и советы. Все эти серверы будут использоваться как внутренние серверы разработки. Не будет никакого доступа к этим машинам извне, поэтому безопасность не является для нас большой проблемой. На наших текущих серверах, которые мы используем (насколько мне известно), не включен SELinux. Некоторые из тех, которые мой менеджер только что приобрел, и те, которые мы собираемся отключить, чтобы все в нашем кластере было одинаковым.
Ответы:
SELinux - это функция безопасности операционной системы. Он предназначен для защиты некоторых частей сервера от других.
Например, если вы запускаете веб-сервер и имеете некоторый «уязвимый» код, который позволяет злоумышленнику запускать произвольные команды, тогда SELinux может помочь смягчить это, запретив вашему веб-серверу доступ к файлам, которые он не может видеть.
Теперь вы можете отключить SELinux, и он не должен ничего ломать. Сервер продолжит работать в обычном режиме.
Но вы отключите одну из функций безопасности.
источник
Есть разные взгляды на SELinux. Во многих случаях некоторые приложения не очень хорошо работают с SELinux, поэтому это решение является спорным (например, Oracle).
Как правило, SELinux - это защитный механизм, который создает еще одно препятствие на пути плохого парня, желающего подорвать вашу систему.
В моей предыдущей роли системного администратора в крупных компаниях ... я вообще отключил SELinux. У меня не было времени отследить все ошибки SELinux на всех системах, используемых пользователями, разработчиками и менеджерами.
Прежде чем отключить что-то, вы можете начать с перемаркировки файлов в системе до того, какими они должны быть. Самый простой способ, который я нашел, это ввести команду:
ИЛИ
Затем перезагрузите компьютер и подождите, пока системе потребуется примерно столько же времени, чтобы проверить и сбросить ошибочные метки SELinux в системе. После этого вы можете быть в порядке, так как он исправляет и исправляет несоответствующие метки SELinux, которые могли быть изменены до попытки администрирования сервера.
Однако, если этого не произойдет, система не пострадает, если SELinux не будет работать в принудительном режиме. Это просто дополнительный уровень защиты.
источник
/sbin/fixfiles onboot
у меня работал на CentOS, не так сtouch /.autorelabel
. Запускsealert -a /var/log/audit/audit.log
показывает 0 предупреждений сейчас. @mdpc В чем разница между этими двумя командами?Проще говоря, отключение механизмов обязательного контроля доступа (MAC), таких как SELinux , не является хорошей идеей и может поставить вас в невыгодное положение с точки зрения безопасности, если злоумышленник успешно обойдет контроль доступа на основе имен, реализованный Discretionary Access Control (DAC).
Будь это я, я бы сделал что-то вроде
чтобы быть более уверенным в метке типа, назначенной рекурсивно из
~/.ssh
источник
Вообще говоря, вы не должны отключать SELinux. Есть инструменты, которые могут помочь вам понять, что пошло не так. Мой любимый пример использования sealert:
В OFC вы всегда можете установить SELinux в разрешающий режим для отладки, но если вы отключите или разрешите SELinux, то Red Hat считает серьезным недостатком безопасности.
источник