OSSEC系列之編寫自己的DECODE
OSSEC之所以產(chǎn)生報(bào)警,就是由于抓到了信息后由DECODE對(duì)信息進(jìn)行解碼,然后匹配規(guī)則(rule)進(jìn)行相關(guān)告警產(chǎn)生ALERTID。
會(huì)編寫DECODE會(huì)對(duì)使用OSSEC有很大的幫助。 這里會(huì)要用到OSSEC的一個(gè)測試命令ossec-logtest.
這里編寫一個(gè)簡單的規(guī)則,遇到lion_00的時(shí)候,會(huì)產(chǎn)生一條ALERTID 為8888 嚴(yán)重度級(jí)別為7的報(bào)警信息。
首先是創(chuàng)建一個(gè)規(guī)則,在/var/ossec/rule 下創(chuàng)建一個(gè)testrule.xml 內(nèi)容為:
//每一組rule 都要有g(shù)roup
lion //使用一個(gè)叫l(wèi)ion的decode
testrule //產(chǎn)生的告警信息
需要編寫DECODE,在/var/ossec/etc/decoder.xml (默認(rèn)安裝目錄)
//這里是不規(guī)范注釋,decoder 名稱 上面提到的lion
^lion_00 // 匹配的內(nèi)容 如果是高級(jí)的DECODER 還會(huì)有很多參數(shù)
需要說明的是,最好將自己的decode 放到文件稍微靠上的位置。
這個(gè)時(shí)候,使用 /var/ossec/bin/ossec-logtest 輸入lion_00 會(huì)看到
**Phase 1: Completed pre-decoding.
full event: ‘lion_00′
hostname: ‘IDC2103′
program_name: ‘(null)’
log: ‘lion_00′
**Phase 2: Completed decoding.
decoder: ‘lion’
**Phase 3: Completed filtering (rules).
Rule id: ’8888′
Level: ’7′
Description: ‘testrule’
**Alert to be generated.