Nginx日志記錄了網站所有訪問者的信息,包括正常訪客和惡意請求,對于分析流量來源至關重要。以下是使用Nginx日志分析流量來源的方法:
日志分析流程
- 統計:對數據進行基本處理,如請求IP統計、訪問地址統計、HTTP狀態碼統計等??梢允褂肊xcel或Python腳本進行統計。
- 威脅發現:
- 關鍵字過濾:查找請求中攜帶的關鍵字,如
script
、select
、from
、echo
、bash
、.sh
等,查看異常請求。
- 行為分析:觀察特定IP的行為,如查詢IP的威脅情報,某個IP登錄了多個賬號等。
- 報告撰寫:在報告中重點體現某個IP或某些IP的攻擊畫像,確定攻擊行為。
使用Clickhouse進行Nginx訪問日志分析
- Nginx日志格式:推薦使用以下格式的Nginx日志,以便更好地滿足分析場景:
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" '
'$request_length $request_time';
- 數據采集與存儲:使用日志服務(如帆一日志服務)采集和配置Nginx日志,并存儲于ElasticSearch和Clickhouse。
- 數據分析:
- 使用Clickhouse SQL語法快速分析Nginx日志。
- 創建可視化dashboard,通過拖拉拽方式進行快速分析。
- 使用物化視圖預聚合數據,進行復雜查詢。
威脅情報查詢
- 查找請求IP相關的威脅情報信息,判斷是否為惡意IP。
- 觀察請求中的UA標識,判斷是否為惡意訪問。
- 分析IP前的一些請求行為,發現是否存在惡意攻擊前的撞庫攻擊。
通過上述方法,可以有效地分析Nginx日志,了解流量來源,及時發現并應對潛在的安全威脅。