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