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

WEB-сервер

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

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

**Установка последней версии nginx**
Удаляем существующую установку Nginx

Добавляем последний Nginx PPA

Обновляем список источников APT

Установливаем Nginx

Добавляем исходный код Nginx в репозиторий

Обновляем список репозиториев

**Скачиваем исходный код Nginx**
Создание и настройка каталогов

Устанавливаем зависимости и выполняем загрузку

Проверяем исходную версию

**Устанавливаем библиотеку modsecurity 3**
Клонируем репозиторий ModSecurity с Github

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

Установливаем следующие подмодули GIT

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

Создание среды ModSecurity

Выполняем команду .configure

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

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

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

Установливаем зависимости ModSecurity-nginx

Скомпилируем модуль ModSecurity-nginx Connector с флагом –with-compat

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

Скопируем созданный динамический модуль в каталог /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

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

логи

XSS


логи

попытка RCE

