Делает ли SELinux Redhat более безопасным?

10

Делает ли SELinux Redhat более безопасным?

Я не могу вспомнить, сколько раз я отключал SELinux, потому что он постоянно расстраивал мою способность запускать вещи. Много раз не было очевидной причины, по которой вещи не работали, и мне пришлось искать в Google, почему.

Учитывая, что большинство случайных пользователей отключают или ослабляют безопасность, когда это мешает, за исключением серьезных корпоративных пользователей Redhat, действительно ли SELinux полезен?

PS. Существует ли какой-либо инструмент, который поможет вам регистрировать, отслеживать и управлять проблемами SELinux во всех приложениях?

vfclists
источник

Ответы:

9

Да, Selinux делает систему более безопасной. Но вам нужно понять его концепции и иметь хотя бы базовые знания о selinux и инструментах аудита.

Selinux регистрируется в /var/log/audit/audit.log (но убедитесь, что Audit запущен), и есть ряд инструментов для решения проблем selinux. Вероятно, самый простой способ - это использовать audit2allow

RVS
источник
17

Да, 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-дневным эксплойтом, который действительно этого хочет. Если вы можете использовать его, почему бы вам не?

Майкл Хэмптон
источник
3

Я думаю, что SELinux просто расширяет традиционную систему разрешений, вводя расширенные настройки над разрешениями. Делает ли это вашу систему более защищенной? Я думаю, это зависит от того, как вы используете SELinux в своих приложениях. Также я не очень хорош в SELinux, но для его настройки нужно больше знаний о том, какие ограничения он может вам предоставить. Но это также вводит много проблем, которые вам нужно исследовать вручную, чтобы преодолеть

Troydm
источник
1
SELinux делает гораздо больше, чем просто расширяет традиционные разрешения POSIX. Например, SELinux может ограничить доступ к определенным сетевым портам.
wzzrd
3

Существует пакет, который помогает пользователям находить проблемы, вызванные SELinux, с именем setroubleshoot. Установите его, установите для запуска при запуске. Затем, когда вы получите отрицание SELinux, это будет отмечено в /var/log/messages. Если вы также вошли в GUI, вы получите уведомление.

Кевин М
источник