---
# System prepended metadata

title: Reverse-proxy
tags: [Reverse-Proxy, WAF]

---

###### tags: `Reverse-Proxy` `WAF`
https://hackmd.io/@sadykovildar/r13ib1pjw
# Reverse-proxy
![](https://i.imgur.com/5XTCbpe.png)

![](https://i.imgur.com/ou1sQls.png)

Освобождаем под nginx 443/80, прописывая 5443 вместо 443 под pfsense
![](https://i.imgur.com/DuJ4tIk.png)

Прокидываем порты снаружи на реверс прокси:
![](https://i.imgur.com/ARM70bc.png)


Web15,16:
`apt install nginx -y`

Web15:
![](https://i.imgur.com/eSyqPwv.png)

Web16:
![](https://i.imgur.com/WhBLH9K.png)

Reverse-proxy:
`cd /etc/nginx/`

Символическая ссылка (ссылается на другой конфиг)

![](https://i.imgur.com/0pC899V.png)


X-Forwarded-For - перенаправление
Reverse-proxy:
`nano /etc/nginx/sites-available/web15`
![](https://i.imgur.com/TeWjjIP.png)
Аналогично web16

Делаем символическую ссылку в текущую директорию:
> root@Reverse-proxy:/etc/nginx/sites-enabled# ln -s /etc/nginx/sites-available/web15 ./

Аналогично ссылку на 16 делаем.

Расскоментим server_names_hash_bucket_size:
![](https://i.imgur.com/FFUi5hA.png)

Тестим конфигурацию:
nginx -t

В случае обращение ни к web 15,16 делаем ссылку чтобы перенаправлялось на дефолтную страницу:
> root@Reverse-proxy:/etc/nginx/sites-enabled# ln -s /etc/nginx/sites-available/default ./
`service nginx restart`

![](https://i.imgur.com/ALPR1mt.png)
![](https://i.imgur.com/vMLZSP9.png)
Реверс прокси работает.

**WAF ModSecurity**

```
sudo apt install libmodsecurity3

git clone --depth 1 -b v3/master --single-branch https://github.com/SpiderLabs/ModSecurity /usr/local/src/ModSecurity/

cd /usr/local/src/ModSecurity/

sudo git submodule init

sudo git submodule update

sudo ./build.sh 

sudo ./configure

sudo make -j4

sudo make install

git clone --depth 1 https://github.com/SpiderLabs/ModSecurity-nginx.git /usr/local/src/ModSecurity-nginx/

cd /usr/local/src/nginx/nginx-xxxx/

sudo apt build-dep nginx
sudo apt install uuid-dev

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

sudo make modules

sudo cp objs/ngx_http_modsecurity_module.so /usr/share/nginx/modules/

sudo nano /etc/nginx/nginx.conf
Там внутри:
load_module modules/ngx_http_modsecurity_module.so;

modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;



 sudo mkdir /etc/nginx/modsec/
 sudo cp /usr/local/src/ModSecurity/modsecurity.conf-recommended /etc/nginx/modsec/modsecurity.conf
 sudo nano /etc/nginx/modsec/modsecurity.conf
 
 SecRuleEngine DetectionOnly
 
 SecRuleEngine On
 
 sudo vim  /etc/nginx/modsec/main.conf
 
 Include /etc/nginx/modsec/modsecurity.conf
 
 sudo cp /usr/local/src/ModSecurity/unicode.mapping /etc/nginx/modsec/
```

https://www.tecmint.com/install-modsecurity-nginx-debian-ubuntu/