Suricata規(guī)則——讀書筆記

參考《網(wǎng)絡(luò)安全監(jiān)控:收集换吧、檢測(cè)和分析》
    作者:(美)克里斯·桑德斯(Chris Sanders) (美)杰森·史密斯(Jason Smith)
    翻譯:李柏松    李燕宏
Emerging威脅檢測(cè)規(guī)則wiki:http://doc.emergingthreats.net/bin/view/Main/WebHome
Emerging規(guī)則文件:http://rules.emergingthreatspro.com/

Snort規(guī)則與Suricata規(guī)則基本語法相同


規(guī)則結(jié)構(gòu)

一抄腔、規(guī)則頭部:

1. 規(guī)則行為:行為聲明看铆,用于通知IDS引擎在觸發(fā)警報(bào)時(shí)該怎么做
    a. Alert  通知IDS引擎記錄所有匹配的規(guī)則法瑟、與匹配規(guī)則相關(guān)的數(shù)據(jù)包數(shù)據(jù)
    b. Log    通知IDS引擎記錄所有匹配的規(guī)則、不記錄與匹配規(guī)則相關(guān)的數(shù)據(jù)包數(shù)據(jù)
    c. Pass   通知IDS引擎對(duì)該數(shù)據(jù)包不做任何處理
    
2. 協(xié)議:通知IDS引擎該規(guī)則適用于何種協(xié)議
    a. tcp
    b. udp
    c. icmp
    d. ip     同時(shí)適用于TCP和UDP協(xié)議時(shí)使用
    e. any

3. 源/目標(biāo) 主機(jī)
    a. 可以是IP列表浮庐,也可以是CIDR形式的IP范圍甚负,可以在配置文件中指定
       來源IP:$EXTERNAL_NET
       目標(biāo)IP:$HOME_NET
       Suricata配置文件:suricate.yaml
    b. 若無法將規(guī)則局限于特定類型的主機(jī),可用關(guān)鍵詞“any”匹配任意主機(jī)

4. 源/目標(biāo) d端口
    a. 可指定具體端口,如80
    b. 可指定任意端口梭域,any

5. 流量方向
    a. ->   從源到目標(biāo)地址的單向流量
    b. <>  雙向流量

二斑举、規(guī)則選項(xiàng):

1. 事件信息選項(xiàng)
1. 消息(msg):對(duì)規(guī)則的描述,可以理解為規(guī)則的“名稱”

2. 特征標(biāo)識(shí)符(sid):用于唯一性地標(biāo)識(shí)規(guī)則病涨,sid不能重復(fù)富玷,且只能為數(shù)值
    a. 0-10000000:為Sourcefire VRT保留
    b. 20000000-29999999:為 Emerging Threats(ET)保留
    c. 30000000+ :公用

3. 修訂(rev):用于表示規(guī)則發(fā)生了修改,可以理解為規(guī)則的版本號(hào)
    a. 當(dāng)創(chuàng)建一條新規(guī)則時(shí)没宾,制定 rev:1; 凌彬,以表明該規(guī)則為第一版本
    b. 當(dāng)規(guī)則被改變時(shí),無需創(chuàng)建新規(guī)則循衰,可保持sid不變铲敛,使rev遞增

4. 引用(reference):用于鏈接外部信息來源,從而為規(guī)則提供附加的情景資料
   好處:保持規(guī)則整潔会钝,減小規(guī)則長度伐蒋,使其更易編輯管理
    
    a. 直接指定: reference:<reference type>,<reference>;
                reference:url,doc.emergingthreats.net/2010235

    b. 可通過在suricata.yaml配置reference.config文件來定義引用類型
       文件中使用格式:config reference:<reference type><reference prefix>;
       例如  文件中:config reference:cve http://cve.mitre.org/cgi-bin/cvename.cgi?name=
            規(guī)則中:reference:cve,2001-0414
            實(shí)際引用:reference:cve,http://cve.mitre.org/cgi-bin/cvename.cgi?name=2001-0414

5. 優(yōu)先級(jí)(priority):用于手動(dòng)指定規(guī)則的優(yōu)先級(jí),提升分析員查看警報(bào)的效率
   此選項(xiàng)可以任意整數(shù)設(shè)置迁酸,可使用0-10之間的數(shù)指定優(yōu)先級(jí)先鱼,0最高,10最低

6. 類別(classtype):用于根據(jù)規(guī)則所檢測(cè)的活動(dòng)類型為規(guī)則分類
   規(guī)則中指定方式:classtype:<Classification Name>;
   通過在suricata.yaml配置classification .config文件來描述規(guī)則中的類別

   文件中格式:config classification: <classification name>,<classification description>,<classification privoroty>
       classification name:類別名稱
       classification description:類別描述
       classification privoroty:類別指定的默認(rèn)優(yōu)先級(jí)奸鬓,當(dāng)規(guī)則使用類別時(shí)以此處優(yōu)先級(jí)為準(zhǔn)
2. 檢查內(nèi)容
1. 檢查內(nèi)容(content):檢查數(shù)據(jù)包內(nèi)容中是否包含某個(gè)字符串
   如:content:"evilliveshere";    
   指定多個(gè)匹配項(xiàng):content:"evilliveshere";  content:"here";  
      a. 使用感嘆號(hào)焙畔!對(duì)匹配項(xiàng)的否定:content:!"evilliveshere"; 
      b. 將字符串的十六進(jìn)制用管道符(|)進(jìn)行包圍:content:"|FF D8|"; 
      c. 字符串與十六進(jìn)制混合使用:content:"|FF D8|evilliveshere"; 
      d. 匹配內(nèi)容區(qū)分大小寫
      e. 保留字符(; \ ")須進(jìn)行轉(zhuǎn)義或十六進(jìn)制轉(zhuǎn)碼
 
2. 檢測(cè)內(nèi)容修飾語:通過在匹配內(nèi)容之后添加一些修飾語,可以精確控制IDS引擎在網(wǎng)絡(luò)數(shù)據(jù)中匹配內(nèi)容的方式串远。

        a. nocase:匹配內(nèi)容不區(qū)分大小寫宏多,如 content:"root";nocase;

        b. offset:用于表示從數(shù)據(jù)包載荷的特定位置開始內(nèi)容匹配,從載荷其實(shí)位置算起
                   注意載荷開始位置從0字節(jié)處開始澡罚,而不是1字節(jié)處
                   content:"root";offset:5;

        c. depth:用于限制搜索匹配內(nèi)容的結(jié)束位置伸但。若使用了offset,則開始位置為offset留搔,否則為載荷開始位置
                  content:"root";offset:5;depth:7;

        d. distance:用于指定上一次內(nèi)容匹配的結(jié)束位置距離本次內(nèi)容匹配的開始位置的距離

        e. within:用于限制本次匹配必須出現(xiàn)在上一次匹配內(nèi)容結(jié)束后的多少個(gè)字節(jié)之內(nèi)

        f. distance和within的同時(shí)使用限制了第二次內(nèi)容匹配的匹配范圍更胖,如下
           content:"evilliveshere";  content:"here"; distance:1;within:7;
           在匹配字符串“evilliveshere”后的1到7個(gè)字節(jié)范圍內(nèi)對(duì)字符串“here”進(jìn)行匹配

        g. http內(nèi)容修飾語:針對(duì)檢測(cè)http流量的規(guī)則,Suricata提供了http流重組能力隔显,同時(shí)提供了用于編寫HTTP流量相關(guān)的更高效的規(guī)則修飾器
           例如:alert tcp any any -> any 80(msg:"Evil Doamin www.appliednsm.com"; "content:"GET";httpmethod;  content:"www.appliednsm.com";http_uri; sid:5445555; rev:1;)

        常用http內(nèi)容修飾語:
        http_client_body       HTTP客戶端請(qǐng)求的主體內(nèi)容
        http_cookie         HTTP頭字段的“Cookie”內(nèi)容
        http_header         HTTP請(qǐng)求或響應(yīng)頭的任何內(nèi)容
        http_method         客戶端使用的HTTP方法(GET却妨,POST等)
        http_uri               HTTP客戶端請(qǐng)求的URI內(nèi)容
        http_stat_code       服務(wù)器響應(yīng)的HTTP狀態(tài)字段內(nèi)容
        http_stat_message     服務(wù)器響應(yīng)的HTTP狀態(tài)消息內(nèi)容
        http_encode         在HTTP傳輸過程中所使用的編碼類型
    ``` 

    3. 兼容Perl語法的正則表達(dá)式(PCRE):通過正則表達(dá)式對(duì)內(nèi)容進(jìn)行匹配
       匹配信用卡號(hào)碼: pcre:"/([0-6]\d\d|7[0-256]\d|73[0-3]|77[0-2])-\d{2} - \d{4}  /";      

######3. 通信流量
    通信流量:根據(jù)TCP協(xié)議網(wǎng)絡(luò)流量狀態(tài)編寫規(guī)則
        三次握手:
        1. 客戶端向服務(wù)器的監(jiān)聽端口發(fā)送SYN包來發(fā)起連接
        2. 此時(shí),服務(wù)器需要向客戶端回復(fù)一個(gè)SYN/ACK包
        3. 一旦收到該包荣月,客戶端會(huì)回復(fù)給服務(wù)器一個(gè)ACK包

    數(shù)據(jù)流規(guī)則有一些專用選項(xiàng)管呵,分為三類:
        1. 狀態(tài)選項(xiàng)
        2. 定向選項(xiàng)
        3. 流量模式狀態(tài)
    
    配置格式:flow:<option>,<option>,<option>
    
    有效聲明選項(xiàng)分別為
        1.  established:只匹配已經(jīng)建立TCP會(huì)話連接的流量
        2. stateless:不論是否已建立TCP會(huì)話連接均匹配
        
    方向選項(xiàng)分別為:
        1. to_server:從客戶端到服務(wù)端的流量
        2. from_server:從服務(wù)端到客戶端的流量
        3. to_client:從服務(wù)端到客戶端的流量
        4. from _client:從客戶端到服務(wù)端的流量

    no_stream:待匹配數(shù)據(jù)是重組后的流
    only_stream:待匹配數(shù)據(jù)是單獨(dú)的數(shù)據(jù)包    

    協(xié)議頭檢測(cè)
        1. TTL:匹配指定的TTL指,可使用關(guān)系運(yùn)算符(< , <=,  >=,  >),可以用來識(shí)別操作系統(tǒng)類型
        2. dsize:匹配一個(gè)指定payload大小的數(shù)據(jù)包哺窄,可使用關(guān)系運(yùn)算符(< , <=,  >=,  >)
        3. itype:匹配指定的ICMP類型值
        4. icode:匹配指定的ICMP代碼值
        5. ip_proto:匹配指定的IP協(xié)議捐下,如IGMP账锹、GRE
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市坷襟,隨后出現(xiàn)的幾起案子奸柬,更是在濱河造成了極大的恐慌,老刑警劉巖婴程,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件廓奕,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡档叔,警方通過查閱死者的電腦和手機(jī)桌粉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衙四,“玉大人铃肯,你說我怎么就攤上這事〈福” “怎么了押逼?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長惦界。 經(jīng)常有香客問我挑格,道長,這世上最難降的妖魔是什么沾歪? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任漂彤,我火速辦了婚禮,結(jié)果婚禮上灾搏,老公的妹妹穿的比我還像新娘显歧。我一直安慰自己,他們只是感情好确镊,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著范删,像睡著了一般蕾域。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上到旦,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天旨巷,我揣著相機(jī)與錄音,去河邊找鬼添忘。 笑死,一個(gè)胖子當(dāng)著我的面吹牛斧吐,可吹牛的內(nèi)容都是我干的煤率。 我是一名探鬼主播蝶糯,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼昼捍,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了担锤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎团赁,沒想到半個(gè)月后熬丧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體析蝴,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年吞滞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了佑菩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡一忱,死狀恐怖菇夸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鞠眉,我是刑警寧澤械蹋,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布唯咬,位于F島的核電站,受9級(jí)特大地震影響胆胰,放射性物質(zhì)發(fā)生泄漏蝎毡。R本人自食惡果不足惜别垮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一解藻、第九天 我趴在偏房一處隱蔽的房頂上張望老充。 院中可真熱鬧,春花似錦螟左、人聲如沸啡浊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽巷嚣。三九已至喘先,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間廷粒,已是汗流浹背窘拯。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留坝茎,地道東北人涤姊。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像嗤放,于是被迫代替她去往敵國和親思喊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 10,869評(píng)論 6 13
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理次酌,服務(wù)發(fā)現(xiàn)恨课,斷路器,智...
    卡卡羅2017閱讀 134,600評(píng)論 18 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,520評(píng)論 25 707
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,135評(píng)論 2 34
  • 子曰:君子無所爭(zhēng)岳服,必也射乎剂公!揖讓而升、下派阱,而飲诬留。其爭(zhēng)也君子。 射:射箭贫母,指周代六藝中的“射”文兑,射屬于六藝中的體育教...
    雕琢未來閱讀 335評(píng)論 1 2