Fortigate 的 log 很大一部分是在流量,如果運作在流量大的地方,log 量會非常可怕。
因此我們需要把一般的流量紀錄排除掉,只留下重要的紀錄,同時不影響其他類型的 log。
前置作業
首先,先確保 syslogd 已經設定好,並可以正常傳輸
config global
config log syslogd setting
set status enable
set server "192.168.10.254"
set port 1514
end
Log Types
取得目前 syslogd 的設定
config global
get log syslogd filter
輸出如下
severity : information
forward-traffic : enable
local-traffic : enable
multicast-traffic : enable
sniffer-traffic : enable
anomaly : enable
voip : enable
dns : enable
filter :
filter-type : include
因為防火牆沒有做什麼設定,上面的值為防火牆出廠預設值。
我們需要過濾的 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 設定
config log syslogd filter
將 filter-type
設為 exclude
set filter-type exclude
設定過濾條件
set filter "logid(0001000013,0001000014)"
最後輸入 end
退出設定,防火牆將自動套用並儲存設定,接著觀察收到的 logs,這時候 log server 應該乾淨許多。
- 如果有更改預設的設定檔儲存方式,請記得手動儲存。
除了 logid,還可以針對不同條件設定,輸入
set filter
後按下 ? 會顯示設定範例: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
更多的設定方式可以參考官方或其他文件。
完整設定如下
config log syslogd filter
set status enable
set server "192.168.10.254"
set port 1514
end
config log syslogd filter
set filter "logid(0001000013,0001000014)"
set filter-type exclude
end
Reference
請按讚:
喜歡 正在載入...