Thank you for reading this post, don't forget to subscribe!
Установка Nginx из официального репозитоия
Первым делом необходимо импортирвоать GPG ключ:
1 |
rpm --import https://nginx.org/keys/nginx_signing.key |
Установить официальную репу Nginx:
1 |
yum install http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm |
Далее можно поставить плагин yum-plugin-priorities для приоретизации установки Nginx из официальной репы:
1 |
yum install yum-plugin-priorities |
Выставить нужный приоритет:
1 |
<span class="hljs-built_in">echo</span> <span class="hljs-string">'priority=1'</span> >> /etc/yum.repos.d/nginx.repo |
Установить Nginx:
1 |
<span class="pln">yum </span><span class="pln">install nginx</span> |
Запустить, включить:
1 |
systemctl start nginx && systemctl <span class="hljs-built_in">enable</span> nginx |
Установка ModSecurity из GetPageSpeed репозитория
Устанавливаем репу:
1 |
yum install https://extras.getpagespeed.com/release-el7-latest.rpm |
Устанавливаем ModSecurity:
1 |
yum install nginx-module-security |
Включам модуль ModSecurity в Nginx, добавив линку в конфиг Nginx'а:
1 |
load_module modules/ngx_http_modsecurity_module.so; |
Как подключать и настраивать модуль написано в офф. репе модуля - HTTPS://GITHUB.COM/SPIDERLABS/MODSECURITY-NGINX
Базовая настройка SELinux для Nginx
Как пример. Для аудита можно включить permissiv режим для http_t контекста:
1 |
semanage permissive <span class="hljs-_">-a</span> httpd_t |
Установить нужные тулзы для работы с SELinux:
1 |
yum install selinux-policy-doc |
Протестировать работу Nginx, потом поискать события SELinux с генерацией модуля:
1 |
grep nginx /var/<span class="hljs-built_in">log</span>/audit/audit.log | audit2allow -m nginx |
Установить модуль:
1 |
semodule -i nginx.pp |
Ну и дальше траблшутить, если того требуют обстоятельства 🙂