CentOS / RedHat: Включение SELinux защиты

SELinux обеспечивает тем, какие программы должны быть ограничены в том или ином случае, какие файлы, могут получить доступ и какие действия они могут принять. Однако, по умолчанию он выключен под RHEL / CentOS 5.x сервер. SELinux является расширением ядра безопасности, которые могут быть использованы для защиты от неправильных или скомпрометированых программ. Он предостовляет принудительный контроль доступа (MAC) систему, которая улучшает традиционных UNIX / Linux DAC (управления доступом).
Как включить SELinux под RedHat / Fedora и CentOS Linux системой ?

Отредактируйте /etc/selinux/config конфигурационный файл, запустите:

nano /etc/selinux/config


Обновите файл конфигурации следующим образом:
1.
SELINUX=enforcing SELINUXTYPE=targeted
Понимание SELinux конфигурации
SELINUX=enforcing: Обеспечение режим по умолчанию, которые позволят и применять политики безопасности SELinux на Linux. Он также отрицает несанкционированный доступ и пишет журнал действий в лог-файл.
SELINUXTYPE=targeted: Только целевые сети демонов (таких, как DNS, Apache и др.) защищены.

Сохраните и закройте файл. Убедитесь, что SELinux не отключить с помощью загрузчик GRUB. Найдите /boot/grub/grub.conf использованием GREP и убедитесь, что следующие строки не появляется:

egrep -i 'selinux=0|enforcing=0' /boot/grub/grub.conf

Если вы обнаружили на линии с selinux=0 или enforcing=0, удалить их и сохраните изменения.
Подготовка файловой системы для перезагрузка

chcon команда может быть использована для изменения контекста безопасности из файла. Тем не менее, мы рекомендуем вам метку полной файловой системы.
Восстановление контексты безопасности по умолчанию

Введите следующую команду, чтобы восстановить контекст безопасности по умолчанию для /home:

restorecon -Rv -n /home


Вы можете запустить это на корневой (/) файловой системы тоже.
Сменить метку файловой системы

Не пропустите этот шаг и перезагрузите систему. Введите следующие команды:

touch /.autorelabel
reboot

Это займет некоторое время, чтобы изменить метку файловой системы. Если вы получаете любые ошибки или общих служб MySQL или SSHD, попробуйте следующее решение (перейти к одно пользовательский режим):

init 1
genhomedircon
touch /.autorelabel
reboot

Убедитесь, что SELinux включен

Введите следующую команду:

sestatus

Примеры мероприятий:
SELinux status: enabled SELinuxfs mount: /selinux Current mode: enforcing Mode from config file: enforcing Policy version: 21 Policy from config file: targeted
Как просмотреть полный список разрешенных портов сети ?

Введите следующие команды

semanage port -l
semanage port -l | less


Проверить 80 порт

semanage port -l | grep -w 80
Как разрешить Lighttpd / Apache / Nginx на порт 8181?

По умолчанию SELinux будет блокировать доступ ко многим порты, включая 8181. Вы должны разрешить доступ к порту 8181, чтобы он мог связать и слушать входящие запросы на номера привилегированных портов. Вы должны использовать semanage команду следующим образом:

semanage port -a -t http_port_t -p tcp 8181

Как я могу узнать незащищенный службы?

Введите следующую команду:

ps -eZ | egrep "initrc" | egrep -vw "ps|tr|egrep|awk|bash" | tr ':' ' ' | awk '{ print $NF }'

Вы не должны увидеть какой-либо вывод о полной конфигурации системы SELinux.
Как я могу увидеть SELinux метки?

Выполните следующую команду:

ls -lZ /path/to/file
ls -lZd /path/to/dir
ls -lZd /etc
ls -lZ /dev/ | grep deviceName
ls -lZ /etc/resolv.conf


Пример мероприятий:

-rw-r--r-- root root system_u:object_r:net_conf_t /etc/resolv.conf
Устранение неполадок, ошибок SELinux политик

SELinux является довольно сложным программным обеспечением. Нужно время, чтобы исправить ошибку. Используйте следующие инструменты для поиска и отладки проблемы SELinux политик:
ps -Z -p PID
ls -Z fileName
view source

print
?
ausearch
restorecon
semodule
audit2allow
Журнал: /var/log/audit/audit.log and /var/log/setroubleshoot/setroubleshootd.log

http://metalcandy.ru/how-to-forge-centos/460-centos-turn-on-selinux-protection

Обновлено: 16.03.2015