Featured image of post Fortigate - 過濾 Syslog 一般流量紀錄

Fortigate - 過濾 Syslog 一般流量紀錄

Fortigate 的 log 很大一部分是在流量,如果運作在流量大的地方,log 量會非常可怕。

因此我們需要把一般的流量紀錄排除掉,只留下重要的紀錄,同時不影響其他類型的 log。

前置作業

首先,先確保 syslogd 已經設定好,並可以正常傳輸

1
2
3
4
5
6
config global
config log syslogd setting
    set status enable
    set server "192.168.10.254"
    set port 1514
end

Log Types

取得目前 syslogd 的設定

1
2
config global
get log syslogd filter

輸出如下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
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 類型有兩種:

  1. 本機流量 (logid: 0001000013)
    • type: traffic
    • subtype: local
    • severity: notice
  2. NAT 流量 (logid: 0001000014)
    • type: traffic
    • subtype: forward
    • severity: notice

每一種 log 類型都有一個對應的 logid,根據官方資料,這兩種流量的 logid 分別為 00010000130001000014,針對 logid 去過濾,即可過濾掉不要的紀錄,只保留重要的,同時不影響其他類型的 log。

過濾指定類型的 log

進入 syslogd filter 設定

1
config log syslogd filter

filter-type 設為 exclude

1
set filter-type exclude

設定過濾條件

1
set filter "logid(0001000013,0001000014)"

最後輸入 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
    

    更多的設定方式可以參考官方或其他文件。

完整設定如下

1
2
3
4
5
6
7
8
9
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

comments powered by Disqus