突然講鏡像流量解析有一些突兀,那就大致講一下爲什麼要做流量鏡像吧。
目前公司的應用安全防火牆(WAF)基於日誌做的攔截,日誌來源於Nginx服務器的lua模塊,對於Nginx性能有一定的損耗,加上系統解耦的需要。所以考慮用流量鏡像的方式,部署單獨的集羣對日誌進行處理,好處有下邊幾點:
1. 系統解耦;
2. 提高lua攔截模塊性能;
3. 滿足WAF業務更多的特殊需求,如攻擊統計,展示,告警等;
鏡像網絡架構圖如下:
測試環境有兩臺物理機部署了WAF,使用Nginx做反向代理,一臺物理機部署Suricata做流量鏡像解析。
Suricata的部署過程參考https://redmine.openinfosecfoundation.org/projects/suricata/wiki/CentOS_Installation,使用過程中也出現了一些小插曲,印象深刻的比如https://redmine.openinfosecfoundation.org/issues/2396?issue_count=476&issue_position=6&next_issue_id=2395&prev_issue_id=2397,因爲一個不起眼的vlan配置導致http-log日誌採集不到,如果在安裝使用中遇到問題,可以去Suricata的wiki上去查詢。
Suricata提供了json格式的日誌記錄,在eve.json中,鏡像流量的日誌量比較大,暫時採用eve-yyyy-mm-dd.json的格式記錄每天的日誌,配置如下:
- eve-log:
enabled: yes
filetype: regular #regular|syslog|unix_dgram|unix_stream|redis
filename: eve-%Y-%m-%d.json
#filename: eve.json
將記錄到的日誌通過logstash同步至Elasticsearch,這部分內容將在下一篇文章中記錄。
最後,如果在安裝/使用過程有什麼問題,大家可以一起交流。