<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    3.5 Snort Post-Detection規則選項

    3.5.1 logto

    logto關鍵字告訴Snort將觸發此規則的所有包記錄到一個特殊的輸出日志文件中。這對于合并來自NMAP活動、HTTP CGI掃描等的數據尤其方便。應該注意,該選項在Snort處于二進制日志記錄模式時不起作用。

    3.5.1.1 格式

    logto:"filename";

    3.5.2 session

    session 關鍵字用于從TCP會話中提取用戶數據。在很多情況下,查看用戶在telnet、rlogin、ftp甚至web會話中輸入的內容非常有用。

    會話規則選項有三個可用的參數關鍵字:printablebinaryall

    printable關鍵字只打印用戶通常會看到或能夠鍵入的數據。binary關鍵字以二進制格式打印數據。all關鍵字用十六進制的等價物替換不可打印字符。

    3.5.2.1 格式

    session:[printable|binary|all];

    3.5.2.2 例子

    下面的示例記錄telnet包中的所有可打印字符串。

    log tcp any any <> any 23 (session:printable;)

    給定端口12345上的FTP數據會話,本示例以二進制形式記錄有效負載字節。

    log tcp any any <> any 12345 (metadata:service ftp-data; session:binary;)

    3.5.2.3 警告

    使用session關鍵字可能會大大降低Snort的速度,因此不應該在高負載情況下使用它。session關鍵字最適合后處理二進制(pcap)日志文件。

    關鍵字“binary”不會記錄任何應用層以下的協議頭,當記錄重新組裝的包時,流重新組裝將導致重復數據。

    3.5.3 resp

    resp關鍵字支持一個主動響應,該響應可以消除干擾會話。Resp可以在被動模式或內聯模式中使用。

    3.5.4 react

    react關鍵字支持主動響應,包括向客戶端發送web頁面或其他內容,然后關閉連接。React可以在被動模式和內聯模式中使用。

    3.5.5 tag

    tag關鍵字允許規則記錄多個觸發規則的數據包。一旦一個規則被觸發,涉及源和/或目標主機的額外流量將被標記。記錄標記的流量,以允許分析響應代碼和攻擊后流量。帶標記的警報將被發送到與原始警報相同的輸出插件,但是正確處理這些特殊警報是輸出插件的責任。

    3.5.5.1 格式

        tag:host, <count>, <metric>, <direction>;
        tag:session[, <count>, <metric>][, exclusive];

    type

    • session - 記錄會話中設置規則的包
    • host - 記錄來自主機的導致標簽激活的數據包(使用[方向]修改器)

    count

    • <integer> - 計數指定為單位數。單位在< metric>字段中指定.

    metric

    • packets - 為主機/會話標記 < count >數據包
    • seconds - 為主機/會話標記< count>秒
    • bytes - 為主機/會話標記< count>字節

    other

    • src - 標記包,其中包含生成初始事件的包的源IP地址。只有在使用主機類型時才相關。
    • dst - 包含產生初始事件的包的目的IP地址的標記包。只有在使用主機類型時才相關。
    • exclusive - 標簽包只在第一個匹配的會話。只有在使用會話類型時才相關。

    注意,后續的警報和事件過濾器都不會阻止標記包被記錄。隨后的標記警報將導致限制重置。

        alert tcp any any <> 10.1.1.1 any
            (flowbits:isnotset,tagged; content:"foobar"; nocase;
             flowbits:set,tagged; tag:host,600,seconds,src;)

    還請注意,如果在使用“數據包”以外的度量的規則中有標記選項,那么將使用tagged_packet_limit來限制已標記的數據包的數量,而不管是否達到了字節計數。默認的tagged_packet_limit值為256,可以通過使用snort.conf文件中的config選項修改tagged_packet_limit配置選項。您可以禁用這個包限制為特定規則通過添加一個“包”度量你的標簽選項,其計數設置為0(可以在全球范圍內通過設置tagged_packet_limit在snort . conf中選擇0)。這樣做將確保數據包標記的全額字節,不會被切斷的tagged_packet_limit。(注意,tagged_packet_limit的引入是為了避免在高帶寬傳感器上對具有高“秒”或“字節”計數的標記規則使用DoS情況。)

        alert tcp 10.1.1.4 any -> 10.1.1.1 any
            (content:"TAGMYPACKETS"; tag:host,0,packets,600,seconds,src;)

    3.5.5.2 例子

    這個示例記錄任何telnet會話的前10秒或’ tagged_packet_limit ‘(無論哪個先出現)。
    alert tcp any any -> any 23 (flags:S,CE; tag:session,10,seconds;)

    雖然tag:host 至少需要一個計數和度量,但是沒有任何度量的tag:session 可以用來獲得完整的會話,如下所示:

      pass tcp any any -> 192.168.1.1 80 (flags:S; tag:session,exclusive;)

    3.5.6 replace

    replace關鍵字是內聯模式中可用的一個特性,它將導致Snort用給定的字符串替換之前匹配的內容。新字符串和要替換的內容必須具有相同的長度。在一個規則中可以有多個替換,每個內容一個替換。

    replace:"<string>";

    3.5.7 detection_filter

    detection_filter定義了一個速率,在規則生成事件之前,源主機或目標主機必須超過這個速率。detection_filter的格式如下:

        detection_filter:
            track <by_src|by_dst>,
            count <c>, seconds <s>;
    選項 描述
    `track by_src by_dst`
    count c 超過檢測篩選器限制之前允許的最大規則匹配數(以秒為單位)。C必須是非零的。
    seconds s 累計計數的時間周期。該值必須是非零的。

    Snort在評估所有其他規則選項(與過濾器在規則源中的位置無關)之后,將detection_filter作為檢測階段的最后一步進行評估。每個規則最多允許一個detection_filter

    例子 - 在一個60秒的采樣周期內,在第一次30次失敗的登錄嘗試之后,該規則將在10.1.2.100開始的每一次失敗的登錄嘗試上觸發:

        drop tcp 10.1.2.100 any > 10.1.1.100 22 (
            msg:"SSH Brute Force Attempt";
            flow:established,to_server;
            content:"SSH"; nocase; offset:0; depth:4;
            detection_filter:track by_src, count 30, seconds 60;
            sid:1000001; rev:1;)

    因為可能會生成許多事件,所以detection_filter通常會與event_filter一起使用,以減少記錄的事件數量。

    注意:如上所述,Snort將’ detection_filter ‘作為檢測的最后一步,而不是在檢測后進行評估。

    3.5.8 Post-Detection 快速參考

    下表顯示Post-detection規則選項關鍵字:

    關鍵字 描述
    logto logto關鍵字告訴Snort將觸發此規則的所有包記錄到一個特殊的輸出日志文件中。
    session 構建session關鍵字是為了從TCP會話中提取用戶數據。
    resp resp關鍵字用于在觸發警報時試圖關閉會話。
    react 通過關閉連接并發送通知,該關鍵字使用戶能夠對匹配Snort規則的流量做出反應。
    tag tag關鍵字允許規則記錄多個觸發該規則的數據包。
    replace 用相同長度的給定字符串替換前面匹配的內容。只能在內聯模式下使用。
    detection_filter 按源或目標IP地址跟蹤,如果規則匹配的速率超過配置的速率,它將觸發。

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类