# WEB Basic -4 **Практическая работа №4** 1. Используя стенд первой практической работы - изменить инфраструктуру в соответсвии со схемой. Главное условие - чтобы машинка с WAF была проксей для WEB-сервера, развернутого во время первой практической работы Стенд: WAF - Ubunt20.04 WEB-сервер - Ubunt20.04 c docker и приложением juice-shop Настройки сети: WAF ![](https://i.imgur.com/kwzXNsw.png) WEB-сервер ![](https://i.imgur.com/Td2XxZO.png) Настройки прокси ![](https://i.imgur.com/GG4rmJT.png) **2. Установить WAF (ModSecurity 3) на машинку c названием WAF, продемонстрировать что ранее развернутый web-сайт открывается при коннекте на машинку с WAF** Обновляем Ubuntu ![](https://i.imgur.com/GnnxKgX.png) **Установка последней версии nginx** Удаляем существующую установку Nginx ![](https://i.imgur.com/sB6rm4w.png) Добавляем последний Nginx PPA ![](https://i.imgur.com/6Lez98Z.png) Обновляем список источников APT ![](https://i.imgur.com/CH5O6mT.png) Установливаем Nginx ![](https://i.imgur.com/daXPWUd.png) Добавляем исходный код Nginx в репозиторий ![](https://i.imgur.com/JXipBde.png) Обновляем список репозиториев ![](https://i.imgur.com/7E2g5Ou.png) **Скачиваем исходный код Nginx** Создание и настройка каталогов ![](https://i.imgur.com/74J5Khr.png) Устанавливаем зависимости и выполняем загрузку ![](https://i.imgur.com/oLrhOo6.png) Проверяем исходную версию ![](https://i.imgur.com/xTumrh1.png) **Устанавливаем библиотеку modsecurity 3** Клонируем репозиторий ModSecurity с Github ![](https://i.imgur.com/Nz5AONF.png) Устанавливаем зависимости libmodsecurity3 ![](https://i.imgur.com/Uu3nY5L.png) Установливаем следующие подмодули GIT ![](https://i.imgur.com/7iTuXnv.png) Обновляем подмодули ![](https://i.imgur.com/EK3NCqd.png) Создание среды ModSecurity ![](https://i.imgur.com/lLZi1cI.png) Выполняем команду .configure ![](https://i.imgur.com/BOiXNUC.png) Компиляция исходного кода ModSecurity ![](https://i.imgur.com/ZD4LZyH.png) Запускаем команду установки ![](https://i.imgur.com/48tKY2T.png) **Устанавливаем ModSecurity-nginx Connector** Клонируем репозиторий connector ![](https://i.imgur.com/tgDSmr9.png) Установливаем зависимости ModSecurity-nginx ![](https://i.imgur.com/fHhJKsV.png) Скомпилируем модуль ModSecurity-nginx Connector с флагом –with-compat ![](https://i.imgur.com/Gomaq7L.png) Создадим динамические модули ![](https://i.imgur.com/uqc2CYl.png) Скопируем созданный динамический модуль в каталог /usr/share/nginx/modules ![](https://i.imgur.com/YjebGrj.png) **Загрузка и настройка коннектора ModSecurity-nginx с Nginx** Указываем load_module и путь к нашему модулю modsecurity, местоположение правил ![](https://i.imgur.com/glHRXgb.png) **Создание и настройка каталогов и файлов для ModSecurity** Создаём директорию /etc/nginx/modsec, копируем и переименуем файл /usr/local/src/ModSecurity/modsecurity.conf-recommended в только что созданную директорию ![](https://i.imgur.com/th5GUKY.png) Изменяем правило в modsecurity.conf ![](https://i.imgur.com/cgojPSO.png) ![](https://i.imgur.com/khGTmqx.png) Создаем файл modsec-config.conf и запишим правило ![](https://i.imgur.com/K08M6Wi.png) Скопируем ModSecurity’s unicode.mapping, проверим правильность файлов и перезапустим nginx ![](https://i.imgur.com/s0jNdpA.png) Pанее развернутый web-сайт открывается при коннекте на машинку с WAF ![](https://i.imgur.com/MP0sPTI.png) **3. Настроить WAF c детектом OWASP top 10** Используем wget, чтобы скачать OWASP CRS 3.3.2 archive ![](https://i.imgur.com/WdoyOWh.png) Разархивируем скачанный архив ![](https://i.imgur.com/xhRtQou.png) Скопируем и переименуем файл crs-setup.conf.example в файл crs-setup.conf в директории /etc/nginx/modsec/corerulleset-3.3.2 ![](https://i.imgur.com/ZPg7gTN.png) Откроем файл /etc/nginx/modsec/modsec-config.conf и допишем правила ![](https://i.imgur.com/vwjsyDL.png) Проверим синтаксис и перезапустим nginx ![](https://i.imgur.com/PJFyF5d.png) Провести 3 атаки из списка OWASP top 10 и продемонстрировать работоспособность WAF (должны быть сработки правил WAF) SQL-инъекция ![](https://i.imgur.com/uwZLKiC.png) логи ![](https://i.imgur.com/3I9LowN.png) XSS ![](https://i.imgur.com/KMgS4fL.png) ![](https://i.imgur.com/8XxcVOc.png) логи ![](https://i.imgur.com/nghtP3A.png) попытка RCE ![](https://i.imgur.com/KRgwpFT.png) ![](https://i.imgur.com/DUf7VpG.png)