Security

Snort 的自定義規則

  • December 22, 2012

我需要允許某些流量被 snort 阻止,例如來自特定地址的 ICMP。我怎樣才能做到這一點?

主要有兩種方法可以做到這一點

  • suppressrule – 禁用基於源或目標的特定 SID 的警報
  • passrule – 允許通過匹配規則的流量而不檢查任何其他規則

通過規則

可用於忽略來自已知會生成大量警報但也已知受信任的主機的流量。漏洞評估工具很重要。它們以任何其他警報規則的形式編寫,除了使用“pass”語句而不是“alert”如果我們想允許來自其中一個的所有流量,我們可以使用:

pass ip 10.10.8.200/32 any <> any any (msg: "Ignore all Network Health monitoring"; sid: 1000013;)

這是一個非常簡單的規則,它將忽略源地址為“10.10.8.200”的任何 IP 流量,其中任何源埠都指向任何目標埠上的任何地址。

抑制規則

這些主要用於過濾掉誤報。他們要求管理員指定有關規則的更多資訊,例如 gen_id 和 sig_id,以及忽略的條件。假設我們有一個系統定期執行反向 DNS 查找,因此會生成大量 NXDOMAIN 查詢。這通常可以指示網路偵察,但在這種情況下,這是預期的行為。我們可以使用以下方法忽略它:

suppress gen_id 1, sig_id 13948, track by_dst, ip 10.10.8.240

對於標準“警報”規則,gen_id 始終為 1,我們要忽略的 SID 是 13948,執行所有這些查找的主機是“10.10.8.240”。

具體請求

在您佈置的情況下,您應該能夠擺脫類似的情況:

pass icmp 10.10.8.200/32 any <> any any (msg: "Ignore all ICMP Traffic by Host"; sid: 1000087;)

與上述基於 IP 的規則類似,這應該忽略來自“10.10.8.200”的任何 ICMP 流量,無論目的地是誰。

其他資源

當然,這些規則可能會變得更複雜,但您需要閱讀更多有關細節的文件。你最好的選擇是只做一些Google搜尋並通過它們進行分塊,但我發現的有用文件是(沒有特別的順序):

引用自:https://serverfault.com/questions/255843