一層防禦架構阻擋不了,那就再加第二層。
上一章講到無法用一項"無敵解決方案"去防堵所有攻擊,這章就用WAF(Web application firewall)的其中一項開源方案ModSecurity來保護網頁。
Wiki: https://en.wikipedia.org/wiki/Web_application_firewall
網頁應用防火牆(WAF)是一種特殊形式的應用層級防火牆(Application firewall),用來過濾、監控和阻擋,從Web服務進出的HTTP流量。通過檢查HTTP流量,它可以防止利用Web應用程序的已知漏洞的攻擊,例如SQL注入,跨站點腳本(XSS),File inclusion和不正確的系統配置。
ModSecurity是一個開放源代碼,跨平台的Web應用程序防火牆(WAF)
部屬的方式有兩種架構Embedded及Reverse proxy。
Embedded是直接在Apache上開啟模組,跟被保護網頁共用一個Web伺服器
Reverse proxy是在前端在建立一個Web伺服器,用Proxy建立反向代理的方式保護後端Web
反向代理在提高安全性及效能很有幫助,可以參考cloudflare的介紹
https://www.cloudflare.com/zh-tw/learning/cdn/glossary/reverse-proxy/
在Ubuntu上架Nginx加ModSecurity的模組,再用Proxy的方式指到要保護的網頁,並安裝filebeat跟logstash將阻擋Log發到Elastic Cloud
ModSecurity在NGINX Plus商用版方案
https://docs.nginx.com/nginx-waf/admin-guide/nginx-plus-modsecurity-waf-owasp-crs/
ModSecurity在NGINX 開源版方案
https://www.nginx.com/blog/compiling-and-installing-modsecurity-for-open-source-nginx/
施工中....新版架設時出現問題,先用舊VM Demo,流程之後再補