測試環境與架構!
測試的網路架構如下圖,測試的方式也很簡單,靶機的系統網站使用一模一樣的WordPress版本和外掛,包括網站內容也都一樣,然後攻擊機會分別在兩個不同網段使用OWASP ZAP進行掃描測試:
- 192.168.1.x的網段(模擬從防火牆外部來進行掃描)
- 172.16.1.x的網段(與靶機相同的內部網段來進行掃描)
理論上若是WAF有防護效果的話,靶機就不會掃出有XSS和SQL Injection的漏洞才對!
攻擊機與靶機在相同網段進行掃描測試的結果~
靶機的系統網站:
- WordPress 5.8.3 + WooCommerce 6.1.0
- CentOS 7.8 + MySQL 5.7.34 + Php 7.4.21
攻擊機的系統:
- Kali Linux 2021.3
- OWASP ZAP 2.11.0
掃描的結果如下圖:
攻擊機從防火牆外部進行掃描測試的結果~
靶機的系統網站:
- WordPress 5.8.3 + WooCommerce 6.1.0
- CentOS 7.8 + MySQL 5.7.34 + Php 7.4.21
攻擊機的系統:
- Kali Linux 2021.3
- OWASP ZAP 2.11.0
掃描的結果如下圖:
次世代防火牆的WAF設定~
這次的掃描測試結果有點出乎我的意料之外,原本以為有使用了Nginx + NAXSI的WAF防護之後,靶機在防火牆的保證之下應該會擋掉XSS和SQL Injection的測試,但結果並沒有,我想這表示即便啟用了預設的WAF Policy和Rules,最好還是要再人工去做微調…
但老實說,我個人寧願在靶機的網站進行深度防護!
WAF的設定如下圖: