Делает ли SELinux более безопасным Redhat?
Я не могу вспомнить, сколько раз я отключал SELinux, потому что это продолжало расстраивать мою способность запускать вещи. Часто не было очевидной причины, почему что-то не работает, и мне приходилось искать в Google, почему.
Учитывая, что большинство случайных пользователей отключают или ослабляют безопасность, если она кажется мешающей, за исключением серьезных, корпоративных пользователей Redhat, действительно ли SELinux полезен?
PS. Есть ли какой-нибудь инструмент, который поможет вам регистрировать, отслеживать и управлять проблемами SELinux во всех приложениях?
Да, SELinux делает Red Hat (и любой другой дистрибутив Linux, который его действительно использует) более безопасным, если он действительно используется.
SELinux реализует принудительный контроль доступа. Обычные разрешения Unix, ACL и т. Д. Реализуют дискреционный контроль доступа. Эти двое дополняют друг друга.
Для работы SELinux требуется политика, определяющая, какие действия в системе могут быть разрешены. Хотя можно создать всю системную политику с нуля, большинство дистрибутивов Linux поставляют политику, основанную на так называемом справочная политика. Это означает, среди прочего, что настройка SELinux в разных дистрибутивах будет очень похожей. (Большинство дистрибутивов Linux делают справочную политику SELinux доступной в своих репозиториях пакетов, хотя она может не быть установлена по умолчанию.)
SELinux работает, ограничивая пользователей и процессы выполнять только те действия, которые им разрешены в политике. По умолчанию политика запрещает действие, поэтому, если политика явно не разрешает действие, этого не происходит. Вот почему вы так часто сталкиваетесь с проблемами, когда SELinux запрещает то, что вы пытаетесь сделать.
С другой стороны, это также предотвращает выход из-под контроля эксплойтов, даже эксплойтов нулевого дня. Например, если ваш веб-сервер (Apache) подвергается эксплуатации, ущерб ограничивается только теми вещами, к которым Apache может получить доступ. Он не сможет прочитать ваш /etc/shadow
файл, например, даже с удаленным корневым эксплойтом. В то время как разрешения Unix (DAC) разрешают пользователю root читать файл, SELinux (MAC) не разрешает скомпрометированному процессу выйти за пределы.
Большая проблема заключается в том, что для службы должен быть загружен модуль политики SELinux. Если вы установите на своем компьютере службу, которая не включает модуль политики SELinux, она будет работать без ограничений и сможет делать все, что захочет. SELinux к нему не относится.
Еще одна вещь, которую вы должны знать, это все о булевы. Эти настраиваемые параметры предоставляются политиками SELinux, чтобы настроить их для конкретных установок и разрешить или запретить доступ в зависимости от потребностей локальной конфигурации. Например, вы можете предоставить Apache доступ к общим ресурсам Samba, разрешить Samba предоставлять общий доступ к домашним каталогам пользователей и многим другим потенциально полезным вещам, которые необходимы для некоторых настроек, но не для других.
Лучшее руководство по SELinux, которое я видел в настоящее время, - это Red Hat's Руководство пользователя Linux с повышенной безопасностью. Это поможет вам быстро приступить к работе, а также заполнит фоновую информацию о том, что происходит. Он также включает исчерпывающий руководство по устранению неполадок это поможет вам запустить ваш процесс под SELinux.
Это полезно?
SELinux защищает от процессов (и пользователей, если вы ограничили пользователей), совершающих неожиданные действия. Это сильно ограничивает ущерб, который может нанести удаленный эксплойт. Если вы никогда не подвергались удаленному компромиссу, вам (1) повезло и (2) вероятно, недавно. если ты иметь сработал удаленный компромисс, вы, конечно, не хотите, чтобы это когда-либо повторилось.
Это не так полезно в домой настройку, если только вы не запускаете дома службы с выходом в Интернет (а некоторые люди это делают). В этом случае применимо все вышесказанное.
SELinux может быть последним, что стоит между вашими данными и злоумышленником с эксплойтом нулевого дня, который действительно этого хочет. если ты жестяная банка использовать его, почему бы и нет?
Да, Selinux делает систему более безопасной. Но вам нужно понять его концепции и иметь хотя бы базовые знания о selinux и инструментах аудита.
Selinux ведет журнал в /var/log/audit/audit.log (но убедитесь, что auditd запущен), и существует ряд инструментов для решения проблем с selinux. Наверное, самый простой способ - использовать audit2allow
Я думаю, что SELinux просто расширяет традиционную систему разрешений, вводя расширенные настройки вместо разрешений. Делает ли это вашу систему более защищенной? Я думаю, это зависит от того, как вы используете SELinux в своих приложениях. Также я плохо разбираюсь в SELinux, но для его настройки нужно больше знать, какие ограничения он может вам предоставить. Но это также создает множество проблем, которые вам необходимо вручную исследовать, чтобы преодолеть
Существует пакет, который помогает пользователям находить проблемы, вызванные SELinux, под названием setroubleshoot. Установите его, настройте на запуск при запуске. Затем, когда вы получите отказ SELinux, это будет отмечено в /var/log/messages
. Если вы также вошли в графический интерфейс, вы получите уведомление.