2.3 Snort 解碼器和預處理器規則
解碼器和預處理器規則允許在一個規則的基礎上啟用和禁用解碼器和預處理器事件。它們還允許在逐個規則的基礎上指定規則類型或解碼器或預處理器事件的動作。
解碼器配置選項仍將確定是否生成解碼器事件。例如,如果config disable_decode_alerts位于 snort.conf中,則無論是否有相應的事件規則,都不會生成解碼器事件。還要注意,如果將解碼器配置為啟用丟棄,例如config enable_decode_drops,則這些選項將優先于規則的事件類型。如果snort.conf中的解碼器配置丟棄選項或解碼器或預處理器規則類型為 drop,則將丟棄數據包。當然,僅當Snort內聯運行時,丟棄情況才適用。參見doc / README.decode 用于控制解碼器事件的配置選項。
2.3.1 配置
解碼器和預處理器規則位于 頂級源樹的preproc_rules /目錄中,并分別具有名稱 解碼器.rules和preprocessor.rules。隨著新的解碼器和預處理器事件添加到Snort中,這些文件也會更新。etc目錄下的gen-msg.map也使用新的解碼器和預處理程序規則進行更新。
要在snort.conf中啟用這些規則,請定義規則所在的路徑,并取消注釋snort.conf中引用規則文件的包含行 。
var PREPROC_RULE_PATH /path/to/preproc_rules
...
include $PREPROC_RULE_PATH/preprocessor.rules
include $PREPROC_RULE_PATH/decoder.rules
要禁用任何規則,只需用#注釋或從文件中完全刪除該規則(建議注釋)。
要更改規則類型或解碼器/預處理器規則的操作,只需將警報替換 為所需的規則類型。可以使用以下任何一種規則類型:
警報日志通過下降sdrop拒絕
例如,可以更改:
alert ( msg: "DECODE_NOT_IPV4_DGRAM"; sid: 1; gid: 116; rev: 1;
metadata: rule-type decode ; classtype:protocol-command-decode;)
至
drop ( msg: "DECODE_NOT_IPV4_DGRAM"; sid: 1; gid: 116; rev: 1; \
metadata: rule-type decode ; classtype:protocol-command-decode;)
丟棄(以及發出警報)以太網協議為IPv4但IPv4標頭中的version字段的值不是4的數據包。
不同預處理器和解碼器的生成器id(gid)如下:
| 發電機編號 | 模組 |
|---|---|
105 |
Back Orifice 預處理器 |
106 |
RPC解碼預處理器 |
112 |
Arpspoof預處理器 |
116 |
Snort解碼器 |
119 |
HTTP檢查預處理器(客戶端) |
120 |
HTTP檢查預處理器(服務器) |
122 |
Portscan預處理器 |
123 |
Frag3預處理器 |
124 |
SMTP預處理器 |
125 |
FTP(FTP)預處理器 |
126 |
FTP(Telnet)預處理器 |
127 |
ISAKMP預處理器 |
128 |
SSH預處理器 |
129 |
流預處理器 |
131 |
DNS預處理器 |
132 |
Skype預處理器 |
133 |
DceRpc2預處理器 |
134 |
PPM預處理器 |
136 |
信譽預處理器 |
137 |
SSL預處理器 |
139 |
SDF預處理器 |
140 |
SIP預處理器 |
141 |
IMAP預處理器 |
142 |
POP預處理器 |
143 |
GTP預處理器 |
2.3.2 恢復原始行為
snort.conf中 的以下配置選項將使Snort恢復為舊行為:
config autogenerate_preprocessor_decoder_rules
請注意,如果要還原為舊行為,還必須從snort.conf中刪除解碼器和預處理程序規則以及對其的任何引用 ,否則將加載它們。此選項適用于未指定的規則,默認行為是警報。
Snort安裝使用中文手冊
推薦文章: