====== Активация и работа биллинга на SELinux ======
Данные модули selinux находятся в режиме теста
Только для Centos 8 и версии биллинга от 3.05.01
\\ Данные модули позволят работать билингу с включенным 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 изменить параметр [[https://ru.wikipedia.org/wiki/SELinux|SELINUX]] на:
SELINUX=enforcing
\\ После чего необходимо перезагрузить сервер для активации enforcing режима.
==== Permissive ====
В случае использования этого режима, информация о всех действиях, которые нарушают текущую политику безопасности, будут зафиксированы в журнале, но сами действия не будут заблокированы.
Если возникнут проблемы при работе с enforcing, на время решения переключитесь в permissive режим:
SELINUX=permissive
\\ После чего необходимо перезагрузить сервер.
====== Установка модулей ======
\\ [[http://setup.2x.mikbill.pro/selinux.tar.gz|Скачать архив]] с модулями и распаковать его:
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
====== Обновление модулей ======
\\ Для обновления модуля, необходимо [[http://setup.2x.mikbill.pro/selinux/roles/selinux/files/|скачать]] его новую версию и загрузить в 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
\\ Доступные модули можно найти [[http://setup.2x.mikbill.pro/selinux/roles/selinux/files/|по ссылке]] а так же увидеть дату их последнего обновления.