Активация и работа биллинга на SELinux
Данные модули позволят работать билингу с включенным SELinux в режиме enforcing
Включение SELinux
Установить базовый набор правил и утилиты для работы с SELinux:
yum install -y selinux-policy-targeted policycoreutils policycoreutils-python-utils
Если SSH или NGINX используют нестандартные порт, их нужно разрешить выполнив:
Пример для для ssh с 2222 портом:
semanage port -a -t ssh_port_t -p tcp 2222
Пример для NGINX с 4443 портом:
semanage port -a -t http_port_t -p tcp 4443
Далее выбрать подходящий режим работы.
Рекомендуем для начала Permissive режим с дальнейшим переходом в Enforcing:
Enforcing
Режим по-умолчанию. При выборе этого режима все действия, которые каким-то образом нарушают текущую политику безопасности, будут блокироваться, а попытка нарушения будет зафиксирована в журнале.
В /etc/selinux/config изменить параметр SELINUX на:
SELINUX=enforcing
После чего необходимо перезагрузить сервер для активации enforcing режима.
Permissive
В случае использования этого режима, информация о всех действиях, которые нарушают текущую политику безопасности, будут зафиксированы в журнале, но сами действия не будут заблокированы. </panel>
Если возникнут проблемы при работе с enforcing, на время решения переключитесь в permissive режим:
SELINUX=permissive
После чего необходимо перезагрузить сервер.
Установка модулей
Скачать архив с модулями и распаковать его:
wget http://setup.2x.mikbill.pro/selinux.tar.gz tar xzf selinux.tar.gz cd selinux
И запустить установку модулей через Ansible:
ansible-playbook selinux.yml
Отладка
SELinux записывает логи своей работы в файл /var/log/audit/audit.log
Получить сообщения о блокировке действия можно по фильтру denied:
grep "denied" /var/log/audit/audit.log
Обновление модулей
Для обновления модуля, необходимо скачать его новую версию и загрузить в SELinux.
Пример модуль mrtg_selinux:
wget http://setup.2x.mikbill.pro/selinux/roles/selinux/files/mrtg_selinux.pp
Выгружаем текущий модуль из SELinux
semodule -r mrtg_selinux
Загружаем обновленный модуль
semodule -i mrtg_selinux.pp
Доступные модули можно найти по ссылке а так же увидеть дату их последнего обновления.