Если вы защищаете Nginx с помощью Mod Security, вам необходимо активировать основной набор правил OWASP (CRS) для защиты от следующих угроз.
- Защита протокола HTTP
- Общие сетевые атаки
- Боты, сканеры, защита от вредоносных действий
- Троянская защита
- Защита от утечки информации
- Атаки с использованием Cross Site Scripting
- Атаки SQL-инъекций
Вы согласны ?
Предварительно нужно установить Nginx и Mod Security, и далее, вы можете настроить OWASP CRS для лучшей безопасности.
ModSecurity — это брандмауэр веб-приложений с открытым исходным кодом ( WAF ), и по умолчанию он настроен только на обнаружение. Это означает, что вам необходимо включить необходимую конфигурацию ( как указано ниже ), чтобы начать защиту ваших веб-сайтов.
Установка ModSecurity CRS
- Загрузите последний файл архива CRS по следующей ссылке и переместите на сервер
https://github.com/SpiderLabs/owasp-modsecurity-crs/zipball/master
- разархивируйте файл
1 |
unzip SpiderLabs-owasp-modsecurity-crs-2.2.9-26-gf16e0b1.zip |
- Скопируйте следующий код в папку nginx conf
1 2 |
modsecurity_crs_10_setup.conf.example base_rules |
Настройка Nginx для интеграции OWASP ModSecurity CRS
Поскольку вы решили использовать OWASP CRS, вам нужно объединить файл conf, включенный в SpiderLabs OWASP CRS, который вы только что скопировали (modsecurity_crs_10_setup.conf.example) в папке nginx.
Nginx не поддерживает несколько директив ModSecurityConfig, как Apache , поэтому вам нужно собрать все правила в одном файле.
Давай сделаем это…
- Добавьте base_rules & modsecurity_crs_10_setup.conf.example в файл modsecurity.conf
1 |
cat modsecurity_crs_10_setup.conf.example base_rules/*.conf >>/usr/local/nginx/conf/modsecurity.conf |
Вам также нужно скопировать весь файл * .data в папку nginx conf
1 |
cp base_rules/*.data /usr/local/nginx/conf/ |
Быстрая проверка:
Убедитесь, что вы добавили директиву ModSecurityEnabled и ModSecurityConfig в файл nginx.conf location. Если нет, добавьте их, как показано ниже.
1 2 3 4 |
location / { ModSecurityEnabled on; ModSecurityConfig modsecurity.conf; } |
- Перезапустить Nginx
Делая все вышеперечисленные действия, вы успешно интегрировали OWASP CRS в Mod Security на Nginx. Пришло время сделать небольшую необходимую настройку.
Настройка основного правила OWASP для начала защиты
В этом разделе все модификации будут в файле modsecurity.conf, поэтому помните, нужно сделать резервную копию.
Первое делом
Включить ведение журнала аудита
Очень важно создавать журналы, что бы знать, что блокируется. Добавьте директиву SecAuditLog, если она не существует.
1 |
SecAuditLog /usr/local/nginx/logs/modsec_audit.log |
Перезапустите Nginx, и вы увидите файл журнала,
1 |
-rw-r----- 1 root root 0 Dec 22 07:54 /usr/local/nginx/logs/modsec_audit.log |
Включить механизм правил безопасности
Для начала защиты с Mod Security, включите механизм правил, как показано ниже.
1 |
SecRuleEngine On |
Включить действие по умолчанию Deny
Настройте действие по умолчанию «блок» для любого запроса, соответствующего правилам.
1 |
SecDefaultAction "phase:1,deny,log" |
Эти три конфигурации выше очень важны, и теперь ModSecurity готово выполнить действие и защитить.
Вот еще одна конфигурация, которая вам может понадобиться.
Изменить заголовок сервера
Конфигурация по умолчанию Nginx будет отображать информацию о сервере с ее версией, которую настоятельно рекомендуется прятать, если вы работаете в среде PCI-DSS.
Заголовок по умолчанию:
Вносим следующие изменения, добавив строку.
1 |
SecServerSignature GeekFlare |
И теперь это выглядит так:
Надеюсь, что более подробная инструкция поможет вам интегрировать базовый набор правил OWASP с веб-сервером Nginx для лучшей защиты.
Если нужна помощь, всегда можно обратиться к нашим специалистам, которые помогут защитить Ваш сайт от уязвимостей, [email protected]