對外網站反向代理重建與 WAF
重新建立對外網站的反向代理,以 ModSecurity(OWASP CRS)與 Fail2Ban 加固,設定全部以 Git 管理,攔截紀錄匯入 Grafana 檢視。
本人範圍
架構規劃、設定、腳本與持續維運。
做法
- Nginx 搭配 ModSecurity(OWASP CRS)與 Fail2Ban;設定以 GitOps 管理,變更可追溯。
- 維運自動化:早期以 crontab+Ansible Playbook 定期更新 OS 與憑證,2025 下半年起改用 AWX 集中排程。
- 日誌經 Fluent Bit 送 OpenSearch,於 Grafana 呈現攔截與異常。
驗證方式
依站點執行 CORS、TLS 與頁面回歸;每次調整 TLS 設定後,以 ECDHE/TLS 1.3 連線與頁面回歸確認相容。
結果
| 指標 | 數值 | 出處 | 資料來源 |
|---|---|---|---|
| 設定 repo 本人提交 | 1,425 次 | GitLab(最近 1,500 筆) | 系統紀錄 |
| 設定變更部署時間 | 1 分鐘內 | 本人估計 | 本人估計 |
| 相關投入工時 | 939 h | 工時表,2022-10 起 | 系統紀錄 |
| 工時拆分:本人/AI 執行 | 本人約 843 h、AI 執行約 96 h(2025-02-22 前皆計為本人) | 本人估計;2025-02-22 起依當期人機比例拆分,僅計公司登記工時 | 本人估計 |
限制與後續
WAF 攔截量未在本頁量化。
使用技術
- Nginx
- ModSecurity
- Fail2Ban
- Ansible
- AWX
- Fluent Bit
- OpenSearch
- Grafana