---
tags: WEB Basic
---
# Занятие 4. Web Application Firewall
## Практическая работа
### 1. Настройка инфраструктуры, установка nginx
#### Настройка ВМ
* Создали 2 ВМ

* IP-адрес WAF 192.168.0.3

* IP-адрес Web-сервера 192.168.0.4

* Обновили операционную систему

#### Установка Nginx
* Установили nginx mainline

* Установили nginx

#### Настройка reverse-proxy
* Настроили файл конфигурации

* Перезапустили сервис, проверили статус

* Обратились на IP-адрес WAF, открылся WEB-ресурс. Соответсвенно reverse-proxy отрабатывает

#### Добавление исходного кода nginx в репозиторий
* Открытили конфиг и раскомментировали строку

#### Создание каталога
* Создали каталог и перешли в него

#### Установка зависимостей
* Загрузили исходный пакет

* Просмотрели установленные пакеты

* Проверили версию nginx

### 2. Установка ModSecurity
#### Клонирование репозитория ModSecurity из GitHub
* Установили git

* Клонировали репозиторий ModSecurity

* Перешли в папку, проверили содержимое

#### Установка зависимостей libmodsecurity3
* Установили зависимости

* Установили подмодули и обновили

#### Построение среды ModSecurity
* Создали среду

* Сконфигурировали

#### Компиляция исходного кода ModSecurity
* Скомпилировали код

* Запустили установку

#### Установка ModSecurity-connector nginx
#### Клонирование репозитория ModSecurity-nginx с GitHub
* Произвели клонирование

#### Установка зависимостей ModSecurity-nginx
* Перешли в исходный каталог и установили зависимости

* Скомпилировали модуль MS-nginx

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

* Скопировали модули

#### Загрузка и настройка ModSecurity-nginx Connector с Nginx
#### Включение ModSecurity в nginx
* Отредактировали конфиг

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

* Скопировали файл конфигурации

* Отредактировали конфиг


* Создали modsec-config и добавили запись

* Скопировали unicode.mapping

* Сделали пробный запуск, конфигурация верна

* Перезапустили службу и проверили статус

* Еще раз проверили, что при запросе WAF открывается WEB-сервер

### 3. Настройка WAF с детектированием OWASP top 10
#### Установка базового набора правил OWASP для ModSecurity
* Загрузили архив OWASP CRS 3.3.2

* Установили unzip

* Распаковали архив

* Скопировали конфиг

* Включили правила в файле конфигурации

* Сделали пробный запуск nginx, перезапустили сервис и проверили статус

* Открыли журнал, в которые будут писаться логи

#### Score-board
* Открыли код стартовой страницы, обнаружили

* Открыли json скрипт во вкладке Отладчик и выбрали "Печать исходников"

* Обнаружили нужный путь - path: score-board

* Ввели это в адресной строке. Открылась сводная таблица со списком атак

### 4. Атаки на OWASP Juice Shop
#### SQL Injection 1
* Попытались войти под администратором и паролем 12345. Получили ошибку 403 Forbidden

* В логах имеется запись о сработанном правиле на SQLi. Также виден указанные данные при обращении к серверу (administrator'--/12345)

#### SQL Injection 2
* Ввели в поле регистрации следующие данные: ' + OR+1=1 -- /123. Запрос завершился ошибкой

* В журнале были обнаружены уведомления о атаках SQLi

#### XSS
* Перехватили POST запрос через BurpSuite

* Изменили тело запроса и отправили его на сервер. В ответе присутствует ошибка

* В журнале была обнаружена информация об XSS-атаке

#### CSRF
* Открыли вкладку profile

* Перехватили оригинальный запрос через burpsuite

* Вставили скрипт и отправили запрос

* В ответе обнаружили ошибку 403 Forbidden

* Страница в браузере также показала ошибку

* В логах эта информация была также отражена

* Помимо файла modsec_audit_log все ошибки также отображаются в файле nginx/error.log
