1. 程式人生 > 實用技巧 >開源安全軟體搭建資訊保安體系☞入侵檢測系統HIDS

開源安全軟體搭建資訊保安體系☞入侵檢測系統HIDS

在之前的博文中介紹了NIDS, IDS就像是我們在網路的關鍵節點上假設的一雙雙水汪汪的大眼睛。IDS能幫我們深度檢測流過的資料包,針對資料包中的特徵來觸發告警,並記錄日誌。同時我們也可以根據資產的重要程度,來實施的捕捉流量包,在幫助我們分析網路流量的同時, 也可以配合合規部門來檢查內部人員的網路行為。在NIDS博文裡面, 我重點以Snort為例子來介紹NIDS如何在網路中玩耍。我們可以在對Snort的深度理解之後,使用好這個工具。
當我們在使用NIDS的時候還會面臨幾個解決不了的問題,在這些NIDS鞭長莫及的角落裡面,會隱藏一些隨時準備攻擊我們的威脅。下面我們先來看看那些情況,會影響NIDS的效率:

  • 目前網路流量基本都執行在https或者ssh下,網路層的安全工具不能處理實時解密實時分析實時加密的過程。即使有部分產品支援這個功能,但是整個處理過程效率低下。
  • 有一些流量只存在於同一個vlan內部, 不穿過三層裝置。這導致NIDS會遺漏掉部分流量,變成瞪眼瞎。
  • 網路的邊界被一次一次的突破,全拜移動裝置的大功。無論公司網路設計的多麼合理,安全架構的多麼硬殼。使用者的移動裝置拿回了家,使用者是可以隨便的蹂躪公司的裝置,威脅在一次一次的摩擦中入住公司裝置。第二天裝置一旦接入公司網路,那些小妖精就都跳出來嚇唬人。
    以上是NIDS在日常的網路安全防護中面臨的一些問題,這不能怪他, 他的職責是守好了大門和小門。針對終端的安全訪問問題, 我們就要請出來HIDS。我們在選擇終端安全防護產品的時候,有一個基本的原則就是要儘可能的少在PC端安裝客戶端。我們關注的是網路安全,但是使用者關注的是可用性。如果我們用一層一層的安全軟體把PC鎖死成一塊鐵蛋,雖然安全了,使用者也會跳起來罵祖宗了。
    開源的HIDS產品有很多, 比如OSSEC,Wazuh,還有國產開源的產品馭龍IDS,這裡我著重分析一下OSSEC,這個HIDS的大佬, 當然也有人把它稱作DER,因為OSSEC也包含一個模組叫做response action,可以根據定義的規則自動執行一些指令碼,比如通過防火牆block流量,禁用賬號 等等。

一, 優點和核心的功能 key features & benefits在這裡插入圖片描述

上面這個圖是從OSSEC網站上擄來的,從這個圖中我們能瞭解這個產品的幾個有點:

  • OSSEC agent可以執行在很多系統中,比如window是, solaris, linux , HPux, VMware 等。->Multi platform¶

  • 可以收集其他裝置傳送過來的日誌,比如網路裝置不能安裝agent, 但是可以把日誌傳送過來做分析,基於分析制定規則。->Agent and agentless monitoring¶

  • 可以傳送郵件告警, 有了日誌,又能分析日誌,基於分析結果發出郵件告警,提醒管理員威脅來了。->Real-time and Configurable Alerts¶

  • 有了自己收集過來的agent的日誌,還有外面裝置傳送過來的日誌,定好了規則,接下來就是進行自動響應active response。這個和EDR的功能是最接近的,也是為什麼有人稱其為EDR。->Active response¶

  • 同時OSSEC服務端執行在Linux上,理所當然可以把各種日誌發出去到ELK 或者SIEM系統中進行關自動化關聯分析。->Integration with current infrastructure¶

  • OSSEC 可以和Wzui整合,提供web管理頁面。->Centralized management¶

  • Rootkit detection,可以自動發現一些惡意指令碼。
    當然還有幾項功能在這個圖中沒有展示出來, 我覺得仍然是很讚的。

  • 檔案完整性驗證,生成檔案MD5雜湊值。定義對比之前的雜湊值來確定檔案是否被改動了。

  • 最最值得嘗試一下的是,Ossec可以利用CIS標準進行配置掃描。檢查裝置配置的合規性。->Compliance Requirements¶

二,安裝和執行

我不打算在我的博文中詳細介紹安裝的具體過程,所有開源軟體安裝的文件都多如牛毛。我再效仿別的博主贅述一下安裝過程,知會給大家帶來更多的困惑。關於開源軟體的安裝和排錯,大家只要記住兩個網址就ok了, 看源網站的文件,看不懂就去百度搜。基本上你遇到的問題, 前人都遇到過。如果不喜歡看文件,自己又有既定基礎的,那就看各種日誌,總之Ossec安裝過程不難。
1, https://www.ossec.net/
2, www.baidu.com
Ossec 還是比較仁義的, 在安裝開始的時候提供了語言選擇的選項, 可以選擇中文。這點可以給英語不好的小夥伴一些幫助。
ossec的所有設定都在ossec/etc/ossec.conf 裡面, 內容很多,如果是新手的話, 基本不用動裡面的配置。
a)設定郵件告警,提供郵箱地址和SMTP地址資訊。
在這裡插入圖片描述
b) 配置syscheck進行檔案完整性掃描的頻率和白名單目錄,區分Linux和windows目錄,預設的掃描頻率是每22小時。如果大家真的把Ossec投入生產環境的話, 需要考慮好了掃描時間,掃描對系統性能會有影響。
在這裡插入圖片描述
c) 配置rootcheck和system audit路徑,這裡面是ossec最值得稱讚的。rootkit的檢查配置檔案,和system_audit配置檔案。這兩部分都在下圖對應的路徑下, 大家可以新增或者刪除路徑下的檔案。我們後面也會拿出來部分的配置檔案進行分析,嘗試自己定義一些檢查規則。
在這裡插入圖片描述
d) Ossec 的active response功能配置。command就是ossec裡面配置的一些指令碼, 這些指令碼可以根據日誌分析結果進行聯動, 比如deny一些流量,停用賬戶等操作。ossec自帶的指令碼有限,它能提供給我們這樣一個框架,就感動的大鼻涕流好幾條街(gai)了。
在這裡插入圖片描述
大家可以在下面的路徑裡面找到具體的指令碼檔案:
在這裡插入圖片描述
以及具體的指令碼內容:
在這裡插入圖片描述
e)主動響應部分的配置, 這塊需要用到上面提到的command模組,這個裡面的主動響應模組是有時間閾值的哦, 過期自動回覆。
在這裡插入圖片描述
active response 模組裡面的level是根據rule裡面定義的level來的, 大家可以看看rule裡面內容的格式:
在這裡插入圖片描述
f)配置rule部分的規則,如果有不適用的規則,可以新增或者修改下面的路徑:
在這裡插入圖片描述
以上就是ossec.conf裡面的配置環節, 如果作為一個新手, 沒有必要修改裡面的內容。Ossec的資料可以錄入mysql資料庫, 這塊我並沒有照章執行, 因為我在搭建資訊保安體系的時候需要對各個裝置有個職責劃分。發揮各個工具的長項,因為有的工具雖然提供了某些誘人的功能, 但是從資訊保安整體體系搭建上來看,並不能滿足整體安全的要求。我計劃在稍後的文章中介紹一些SIEM系統,把IDS生成的log都匯入SIEM系統 ,進行綜合分析。和呼應了我們國家等保的資訊保安集中管理的要求,另外還可以實現威脅視覺化,或者通過大資料平臺進行資訊保安的AI分析。

三,OSSEC功能挖掘

Ossec這個工具我比較感興趣的是合規性掃描還有active response。 關於log 集中管理這塊,我還是傾向於讓SIEM系統來做。
a)active response這個功能的實現需要依賴幾個模組, 一是rule的定義,二是command指令碼的編寫,最後才是啟用active response模組。
1)rule的定義, 類似於Snort的分析。我們學習的最快捷的方式就是模仿,那麼我們就找出來一個rule,仔細分析分析如何根據自己公司的實際情況,自定義規則。
ossec給我們準備瞭如此多的規則,都是xml格式的,具體路徑在ossec/rules 下面。
在這裡插入圖片描述
我們開啟一條規則sshd_rules.xml分析一下,ossec規則的格式和要求。這個裡面先定義一條主的規則,比如下面的第一條規則rule_id=5700, 下面的規則會首先判斷是否觸發了第一條規則<if_sid>,也就是否是一條sshd的日誌。然後判斷日誌裡面是否存在(match)一條相匹配的字串, 這個也可以通過正則來匹配。如果都對應上了這個規則的level就是自己定義好的。這個level value也是會在active response裡面要引用的。

在這裡插入圖片描述
2)自定義active response執行的指令碼(command),路徑在ossec/active-response/bin下面。
在這裡插入圖片描述
我們編輯一個指令碼看看具體是如何配置的,每一個動作的指令碼都包括對應的兩部分, 比如deny<->UNdeny. 大家看到的指令碼數量不多, 但是基本上夠用了, 我們不能過度的依賴規則, 很多時候規則不夠靈活,會把公司網路環境搞掉。
在這裡插入圖片描述
3)關於啟用active response的配置,就是在ossec.conf裡面配置,由於前文已經描述過了,故不再贅述。
b)關於檔案完整性掃描,系統審計掃描和rootkit掃描,這幾塊是依賴ossec agent_control 模組來執行。
在這裡插入圖片描述
1)我們可以使用引數-r -a 對所有活躍的客戶端執行上述檢查,也可以使用-r來這對特定的客戶端執行掃描。
2)掃描的結果會自動回傳到伺服器的/ossec/queue/rootcheck 或者/ossec/queue/syscheck目錄中。
檔案完整性掃描結果就是下面這個樣子,會有檔案的hash值還有掃描的時間。ossec還會對照每次掃描結果的不同,hash值有變化的話會自動生成告警。這個檔案完整性掃描的功能有的時候可以及時發現攻擊者修改敏感檔案比如history,passwd, shadow等等。當然過如果有病毒修改了檔案或者生成新的檔案,也會生成告警。在這裡插入圖片描述
3)systemaudit掃描結果如下,主要是根據ossec.conf的配置, 對照終端配置和cis推薦的配置。我們可以根據結果進行調整配置。這個功能也可以幫助我們完成作業系統的基線建設。
在這裡插入圖片描述

四,圖形化管理介面

ossec主要是一些命令列的操作, 當然也可以安裝一些外掛,提供圖形化介面。通常這類外掛包括analogi和ossec-wui。通常執行在Linux下面的產品我們不推薦安裝圖形介面,這樣會增加系統負擔,減慢效率。但是ossec是一個具有如此多功能的一個主機IDS產品。我還是嘗試安裝了一個web外掛, 可以很方便我們進行一些查詢操作。具體安裝方法很簡單, 大家可以去度娘自行學習。

在這裡插入圖片描述