бесплатные DNS, почта, Private Person

Защищаем свою систему с помощью SELinux

В этой статье мы рассмотрим один способ защиты операционной системы Линукс с помощью SELinux. Если кто не знает что это такое, то этот пакет разработало агентство национальной безопасности США и она свободно распространяется с 2000 года. Данный пакет есть в дистрибутиве Red Hat Enterprise Linux, а также Fedora. Несмотря на это, SELinux может доставить и массу неудобств. Ладно, давай уже узнаем что это такое и с чем его едят.

Ты уже знаешь, что лучший способ защитить свою информацию на компьютере – выставить права доступа к ним: кто может изменять, читать и удалять файлы. Представим, что за твоим компьютером работает 4 человека. У всех права распределены четко, как положено. Однако ты устанавливаешь на свой компьютер демон из недоверенного источника (не исключено что это может произойти), который и начинает удалять важные для работы системные файлы так как использует левый скрипт.

Вот поэтому люди и придумали SELinux. Да, совсем забыл дать тебе расшифровку - (Security-Enhanced Linux).

Как это работает?

Все очень просто. У SELinux есть так называемый «мандатный контроль доступа» или просто MAC. То есть другие пользователи не могут хозяйничать в компьютере. Существуют даже много часовые курсы о политике SELinux, на которых людей учат правильно выставлять права. Наверняка, ты уже понял, что это не простая работа и если тебе придется возиться с sendmail или httpd, то на это уйдет уйма времени. Конечно, в интернете есть полно редакторов, которые упростят работу.

Конфигурация

Итак, все что тебе нужно находится в файле /etc/selinux/config.
В нем стоят две строчки:

SELINUX=enforcing
SELINUXTYPE=targeted

В первой строчке можно поставить 3 значения: disabled, enforcing или permissive.

Вот теперь все по порядку:

Disabled – отключаем SELinux нафиг
Enforcing – применить политику
Permissive – все регистрируется в SysLog, при этом допускаются нарушения

Во второй строке мы указываем тип переменных: strict (защищаем все) или targeted (только определенный демон). Для работы сгодится вторая переменная, так как с первой будет столько ограничений, что тебе и близко не захочется подходить к своему компьютеру. Тем не менее, проверяй лог файлов /var/log/messages на наличие ошибок. Вдруг что-нибудь пойдет не так.