# Отчёт по Пр. Заданию 4
###### tags: `Web basic`
Установка ModSecurity и nginx по мануалу из Дополнительного материала
Add Latest Nginx PPA
Install latest Nginx (MAINLINE):
sudo add-apt-repository ppa:ondrej/nginx-mainline -y && sudo apt update

Add Nginx Source Code to Repository
sudo nano /etc/apt/sources.list.d/ondrej-ubuntu-nginx-mainline-*.list
sudo apt update

Download Nginx Source
Install Dependencies and Execute Download
Verify Source Version
sudo mkdir /usr/local/src/nginx && cd /usr/local/src/nginx
sudo apt install dpkg-dev -y && sudo apt source nginx
ls
nginx -v
sudo apt install git -y

Install libmodsecurity3 for ModSecurity
Clone ModSecurity Repsoitory from Github
Install libmodsecurity3 Dependencies
git clone --depth 1 -b v3/master --single-branch https://github.com/SpiderLabs/ModSecurity /usr/local/src/ModSecurity/
cd /usr/local/src/ModSecurity/
sudo apt install gcc make build-essential autoconf automake libtool libcurl4-openssl-dev liblua5.3-dev libfuzzy-dev ssdeep gettext pkg-config libpcre3 libpcre3-dev libxml2 libxml2-dev libcurl4 libgeoip-dev libyajl-dev doxygen -y

Building the ModSecurity Environment
git submodule init
git submodule update
./build.sh

Building the ModSecurity Environment
./configure

Compiling the ModSecurity Source Code
make -j4 (т.к. для данной машины я выделил в Vbox 4 ядра и процесс прошёл гораздо быстрее нежели без флага -j)

sudo make install

Install ModSecurity-nginx Connector
Clone ModSecurity-nginx Repsoitory from Github
Install ModSecurity-nginx Dependencies
sudo git clone --depth 1 https://github.com/SpiderLabs/ModSecurity-nginx.git /usr/local/src/ModSecurity-nginx/
cd /usr/local/src/nginx/nginx-1.23.1
sudo apt build-dep nginx && sudo apt install uuid-dev -y

Install ModSecurity-nginx Dependencies
sudo ./configure --with-compat --add-dynamic-module=/usr/local/src/ModSecurity-nginx

Install ModSecurity-nginx Dependencies
sudo make modules

Load and Configure ModSecurity-nginx Connector with Nginx
Enable ModSecurity in nginx.conf
Create and Configure Directory and Files for ModSecurity

To change this behavior to (on) on line 7

change on line 224 in same file to correct string

sudo nano /etc/nginx/modsec/modsec-config.conf
incert string in file

sudo cp /usr/local/src/ModSecurity/unicode.mapping /etc/nginx/modsec/
sudo nginx -t

Install OWASP Core Rule Set for ModSecurity
wget https://github.com/coreruleset/coreruleset/archive/refs/tags/v3.3.2.zip

sudo apt-get install unzip -y
sudo unzip v3.3.2.zip -d /etc/nginx/modsec

sudo cp /etc/nginx/modsec/coreruleset-3.3.2/crs-setup.conf.example /etc/nginx/modsec/coreruleset-3.3.2/crs-setup.conf

sudo nano /etc/nginx/modsec/modsec-config.conf
incert 3 string in file

sudo nginx -t

Test OWASP CRS is working on server

Create ModSecurity LogRotate file

reverse-proxy

Теперь справа ubuntuWAF с установленным ModSecurity (ip 192.168.1.19) и слева ubuntu с установленным docker и магазином в нём (ip 192.168.1.22)
В итоге машинка WAF является проксёй для машинки с магазином.


Атаки
1 атака (SQL ingection)
На странице Login ввёл в поле Email строку: administratot'--

Лог относящийся к данной атаке

2 атака (XSS)
На странице Customer Feedback в поле Комеентариев ввёл: <script>alert(1)</script>


Лог относящийся к данной атаке

3 атака (Path traversal)
В BurpSuite отправил POST запрос к /etc/passwd файлу сервера

Лог относящийся к данной атаке

Все Логи


Другие логи




