# Web Basik №4
**Web Basic - Гежа Николай - Практика №4*
1) Используя стенд первой практической работы - изменить инфраструктуру в соответсвии со схемой. Главное условие - чтобы машинка с WAF была проксей для WEB-сервера, развернутого во время первой практической работы:
WAF - Ubuntu 20.04
WEB-сервер - Ubuntu 20.04 c docker и приложением juice-shop
*Настройки сети:*
WEB-сервер:

WAF:

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

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

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

Установим nginx:

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

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

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

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

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

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

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

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

Выполним .configure:

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

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

*Установка ModSecurity-nginx Connector:*
Клонируем репозиторий connector:

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

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

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

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

*Загрузка и настройка коннектора ModSecurity-nginx с Nginx:*
Указываем load_module и путь к нашему модулю modsecurity, местоположение правил:


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

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


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

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

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

3) Настроить WAF c детектом OWASP top 10:
Используем wget, чтобы скачать OWASP CRS 3.3.2 archive:

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

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

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

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

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


XSS:


RCE:

