###### tags: `WEB` # WEB_Basic-Горбаконь_Кирилл-Практика_4 Место жительства: г. Москва ## Web Application Firewall * В VirtualBox создаю новую машину для настройки WAF. ![](https://i.imgur.com/rMbnUob.jpg) --- * На машину WAF по инструкции устанавливаем **ModSecurity** и **nginx** со всеми дополнениями. `nginx -v` ![](https://i.imgur.com/MN2aab2.png) * Настройка файла `/etc/nginx/nginx.conf` ![](https://i.imgur.com/BPrhNSU.png) * Настройка файла `/etc/nginx/modsec/modsecurity.conf` ![](https://i.imgur.com/XP17GbH.png) ![](https://i.imgur.com/MzMEYGx.png) * Настройка файла `/etc/nginx/modsec/modsec-config.conf` ![](https://i.imgur.com/na3ibZI.png) * Проверяем: настройка выполнена успешно. `sudo nginx -t` ![](https://i.imgur.com/hws4n56.png) --- **Теперь сделаем машину WAF прокси для веб-сервера.** * Адрес машины WAF. `ip a` ![](https://i.imgur.com/gkg8eJ9.png) * Адрес веб-сервера. `ip a` ![](https://i.imgur.com/RFKPTSh.png) * Обе машины работают в режиме сетевого моста. Настройки сети WAF машины. ![](https://i.imgur.com/Q1LgOms.png) Настройки сети web-сервера. ![](https://i.imgur.com/wAX5Zt1.png) * В настройках веб-сервера выставляем адрес прокси-сервера. ![](https://i.imgur.com/dtzjKcn.png) * Настраиваем машину WAF. `sudo nano /etc/nginx/sites-enabled/default` ![](https://i.imgur.com/s1tLswZ.png) * Заходим с рабочего устройства, настройка прошла успешно. ![](https://i.imgur.com/UCHVqrw.png) --- #### XSS * Введем в поисковой строке `<iframe src="javascript:alert("xss")">` ![](https://i.imgur.com/QU47NZg.png) * Скрипт сработал. ![](https://i.imgur.com/7GNuEn8.png) В логах отобразились записи этого события. `cat /var/log/nginx/access.log` ![](https://i.imgur.com/wwnpyas.png) #### SQL-injection * Попробуем войти в аккаунт, созданный в первой практической работе, используя SQL-инъекцию. В конец логина поставим кавычку и знак комментария, чтобы проверка пароля не сработала. ![](https://i.imgur.com/2qmIIBK.png) * Вход не удался. Возникает ошибка. ![](https://i.imgur.com/iq1NPP9.png) В логах отобразились данные об этом событии. `cat /var/log/nginx/access.log` ![](https://i.imgur.com/AR8iFGT.png) #### Broken Access Control * Попытаемся попасть в секцию администрирования, изменив запрос в адресной строке. ![](https://i.imgur.com/ZWjxdlV.png) * Возникает ошибка, доступ запрещен. ![](https://i.imgur.com/ydcsGYb.png) В логах отобразились данные об этом событии. `cat /var/log/nginx/access.log` ![](https://i.imgur.com/vrMMa3E.png)