Fortigate 的 log 很大一部分是在流量,如果運作在流量大的地方,log 量會非常可怕。
因此我們需要把一般的流量紀錄排除掉,只留下重要的紀錄,同時不影響其他類型的 log。
前置作業
首先,先確保 syslogd 已經設定好,並可以正常傳輸
|
|
Log Types
取得目前 syslogd 的設定
|
|
輸出如下
|
|
因為防火牆沒有做什麼設定,上面的值為防火牆出廠預設值。
我們需要過濾的 log 類型有兩種:
- 本機流量 (
logid
: 0001000013)- type: traffic
- subtype: local
- severity: notice
- NAT 流量 (
logid
: 0001000014)- type: traffic
- subtype: forward
- severity: notice
每一種 log 類型都有一個對應的 logid
,根據官方資料,這兩種流量的 logid
分別為 0001000013 與 0001000014,針對 logid
去過濾,即可過濾掉不要的紀錄,只保留重要的,同時不影響其他類型的 log。
過濾指定類型的 log
進入 syslogd filter 設定
|
|
將 filter-type
設為 exclude
|
|
設定過濾條件
|
|
最後輸入 end
退出設定,防火牆將自動套用並儲存設定,接著觀察收到的 logs,這時候 log server 應該乾淨許多。
如果有更改預設的設定檔儲存方式,請記得手動儲存。
除了 logid,還可以針對不同條件設定,輸入
set filter
後按下 ? 會顯示設定範例:
1 2 3 4 5 6 7 8 9 10
fg-100e # set filter Please input the logid list or level (or both) as filters. [logid(...)] [traffic-level(...)] [event-level(...)] [virus-level(...)] [webfilter-level(...)] [ips-level(...)] [emailfilter-level(...)] [anomaly-level(...)] [voip-level(...)] [dlp-level(...)] [app-ctrl-level(...)] [waf-level(...)] [dns-level(...)] See the following 2 examples. example 1 set filter "logid(40704,32042)" example 2 set filter "event-level(information)" The available levels are as the following: emergency,alert,critical,error,warning,notice,information,debug
更多的設定方式可以參考官方或其他文件。
完整設定如下
|
|
Reference