---
# System prepended metadata

title: Web Basik №4

---

# Web Basik №4
**Web Basic - Гежа Николай - Практика №4*

1) Используя стенд первой практической работы - изменить инфраструктуру в соответсвии со схемой. Главное условие - чтобы машинка с WAF была проксей для WEB-сервера, развернутого во время первой практической работы:

WAF - Ubuntu 20.04
WEB-сервер - Ubuntu 20.04 c docker и приложением juice-shop

*Настройки сети:*

WEB-сервер:

![](https://i.imgur.com/gFb2i8G.png)

WAF:

![](https://i.imgur.com/VroTQkT.png)

Настройки прокси:

![](https://i.imgur.com/jorBT45.png)


2) Установить WAF (ModSecurity 3) на машинку c названием WAF, продемонстрировать что ранее развернутый web-сайт открывается при коннекте на машинку с WAF:

Обновляем систему:

![](https://i.imgur.com/SQGF2Mh.png)

Добавим репозиторий с MAINLINE версией nginx и обновим индексы репозиториев:

![](https://i.imgur.com/P4xwKBa.png)

Установим nginx:

![](https://i.imgur.com/Y6oq87N.png)

Добавим исходный код nginx в репозиторий:

![](https://i.imgur.com/HiK0trn.png)

Создаём директорию, устанавливаем зависимости и выполняем загрузку:

![](https://i.imgur.com/0UhZ2b3.png)

Проверим версию:

![](https://i.imgur.com/A8v8Xen.png)

Клонируем репозиторий ModSecurity с github:

![](https://i.imgur.com/m7fRDzo.png)

Устанавливим зависимости libmodsecurity3:

![](https://i.imgur.com/TgQNzxC.png)

Устанавливаем подмодули git:

![](https://i.imgur.com/VZYc7MK.png)

Обновляем подмодули:

![](https://i.imgur.com/W9e5UDt.png)

Создаём среду ModSecurity:

![](https://i.imgur.com/YiUZnZI.png)

Выполним .configure:

![](https://i.imgur.com/SQJHkzU.png)

Компиляция исходного кода ModSecurity:

![](https://i.imgur.com/iNRcz8X.png)

Запускаем установку:

![](https://i.imgur.com/hOplT4F.png)

*Установка ModSecurity-nginx Connector:*

Клонируем репозиторий connector:

![](https://i.imgur.com/IBt7NXV.png)

Устанавливаем зависимости:

![](https://i.imgur.com/Z6LLVyj.png)

Скомпилируем модуль ModSecurity-nginx:

![](https://i.imgur.com/HImauVH.png)

Создадим динамические модули:

![](https://i.imgur.com/Rw98Ds4.png)

Скопируем созданный динамический модуль в каталог /usr/share/nginx/modules:

![](https://i.imgur.com/BHiL3ZR.png)


*Загрузка и настройка коннектора ModSecurity-nginx с Nginx:*

Указываем load_module и путь к нашему модулю modsecurity, местоположение правил:

![](https://i.imgur.com/2c9zKXn.png)

![](https://i.imgur.com/nbuxd52.png)

*Создание и настройка каталогов и файлов для ModSecurity:*

Создаём директорию /etc/nginx/modsec, копируем и переименуем файл /usr/local/src/ModSecurity/modsecurity.conf-recommended:

![](https://i.imgur.com/iX1j7D9.png)

Изменяем правило в modsecurity.conf:

![](https://i.imgur.com/6NGI1ab.png)

![](https://i.imgur.com/W5NIxa1.png)

Создаем файл modsec-config.conf:

![](https://i.imgur.com/VYbBpE7.png)

Скопируем ModSecurity’s unicode.mapping, проверим правильность файлов и перезапустим nginx:

![](https://i.imgur.com/LbEkc0f.png)

Pанее развернутый web-сайт открывается при коннекте на WAF:

![](https://i.imgur.com/LRaZXCN.png)


3) Настроить WAF c детектом OWASP top 10:

Используем wget, чтобы скачать OWASP CRS 3.3.2 archive:

![](https://i.imgur.com/oDkrDhd.png)

Разархивируем архив:

![](https://i.imgur.com/yuD1Vrg.png)

Скопируем и переименуем файл crs-setup.conf.example в файл crs-setup.conf в директории /etc/nginx/modsec/corerulleset-3.3.2:

![](https://i.imgur.com/IFzK71q.png)

Изменим файл /etc/nginx/modsec/modsec-config.conf:

![](https://i.imgur.com/1Gn6Dma.png)

Проверим наличие ошибок и перезагрузим nginx:

![](https://i.imgur.com/9ylvYoC.png)


4) Провести 3 атаки из списка OWASP top 10 и продемонстрировать работоспособность WAF (должны быть сработки правил WAF):


SQL Injection:

![](https://i.imgur.com/5sA2HBK.png)

![](https://i.imgur.com/2v8jU5g.png)


XSS:

![](https://i.imgur.com/O01AmmM.png)

![](https://i.imgur.com/BSTfy4S.png)


RCE:

![](https://i.imgur.com/7xY89yJ.png)

![](https://i.imgur.com/SMH6WS7.png)
