Ossec
OSSEC 代理如何檢測簽名/警報?
有人可以解釋主動響應配置中的 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 之間,因為它們是專門為該用途而保留的。