Ossec

OSSEC 代理如何檢測簽名/警報?

  • July 3, 2013

有人可以解釋主動響應配置中的 ossec 代理如何檢測或響應事件(例如,掃描網路伺服器 404 狀態程式碼的嘗試)。

我知道伺服器上的以下 xml 塊最終會在代理端觸發響應。但是所有規則都保存在 /root 目錄中,而不是代理的常用安裝目錄。除了監視 apache 訪問日誌之外,它沒有告訴我們要檢查什麼狀態程式碼的腳本或正則表達式。

它是使用 udp 埠​​ 1514 在客戶端和伺服器之間動態共享的嗎?請幫助我理解它。

!-- Active response to block http scanning -->
   <active-response>
       <command>route-null</command>
       <location>local</location>
   <!-- Multiple web server 400 error codes from same source IP -->
       <rules_id>31151</rules_id>
       <timeout>600</timeout>
   </active-response>

這正是 Ossec 的工作原理。引用Ossec 文件

OSSEC 由多個部分組成。它有一個中央管理器監控一切,並從代理、系統日誌、數據庫和無代理設備接收資訊。

因此,Ossec 代理在某種程度上是“愚蠢的”,他們無法自行決定阻止/解除阻止。它們將來自指定日誌源(定義在 中etc/shared/agent.conf)的所有數據提供給管理伺服器(定義在 中etc/ossec.conf)。管理伺服器解析日誌條目並根據定義的規則採取行動rules/,如果需要,命令代理採取預定義的行動(通常阻止/取消阻止 IP 地址)。

例如,要監控 ossec 管理伺服器日誌解析,您可以執行tail -f logs/alerts/alerts.log.

如果您希望忽略來自 http 日誌的所有 400 錯誤,您可以將以下內容添加到您rules/local_rules.xml的 Ossec 伺服器上。

<rule id="100010" level="2">
 <if_sid>31151</if_sid>
 <description>Don't care about 400 errors</description>
</rule>

您應該始終在local_rules.xml文件中進行自定義,並保留提供的解碼器(例如web_rules.xml)。您還應該將本地規則的規則 ID 保留在 100000-119999 之間,因為它們是專門為該用途而保留的。

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