主機(jī)安全,顧名思義就是保護(hù)主機(jī)的環(huán)境安全的產(chǎn)品。這是一種古老的安全產(chǎn)品,在安全界與“防火墻”“DDoS高防”合稱“老三樣”,是居家旅行、保護(hù)主機(jī)的必備良藥。
主機(jī)安全產(chǎn)品種類繁多、名目不一,但一般常見的就兩種:一種,叫HIDS,全稱為Host-based Intrusion Detection System,即基于主機(jī)型入侵檢測系統(tǒng),通過在主機(jī)里安裝插件來測探各種信息以判斷是否有異?;蛘吖舭l(fā)生,這是最通用的一種主機(jī)安全產(chǎn)品;還有一種,叫NIDS,全稱為Network Intrusion Detection System,即網(wǎng)絡(luò)入侵檢測系統(tǒng),通過測探進(jìn)入主機(jī)的網(wǎng)絡(luò)流量來判斷有沒有發(fā)生攻擊,但這種方式需要消耗的資源比較多,市面上較為少見。
對(duì)云上的用戶來說,云主機(jī)安全產(chǎn)品都是前一種,即HIDS,比如華為云也發(fā)布了一款主機(jī)安全產(chǎn)品叫“企業(yè)主機(jī)安全服務(wù)”,就是典型的HIDS,那下面咱們就來說說HIDS的原理,懂得了原理,就容易懂得一切,所謂一通百通。
一、什么是云上的HIDS?
形象地說,云主機(jī)是個(gè)房子,而HIDS是一個(gè)體系,它首先把一個(gè)攝像頭(專業(yè)術(shù)語叫Agent或者代理)裝在房子里,然后啟動(dòng)攝像頭在云主機(jī)系統(tǒng)里東看看西看看,比如看看系統(tǒng)日志啊、看看系統(tǒng)文件啊、看看進(jìn)程啊、看看系統(tǒng)配置啊,看誰在系統(tǒng)里搞事情、有沒有留下什么蛛絲馬跡,一旦發(fā)現(xiàn)有人搞事情,HIDS就會(huì)上報(bào)給遠(yuǎn)端的服務(wù)器并發(fā)出告警。
二、HIDS的組成是怎么樣的?
上面說到的攝像頭,只是HIDS組件的一個(gè)部分,產(chǎn)品架構(gòu)簡圖如下:
可見,主要由3大部分組成,包括Agent、管理控制臺(tái)、運(yùn)營平臺(tái)。其中:
1、主機(jī)安全Agent組件:相當(dāng)于主機(jī)里的攝像頭,作用是檢測系統(tǒng)文件變更、檢測服務(wù)器狀態(tài)、上傳日志、下發(fā)操作指令等。
2、管理控制臺(tái):用以給管理人員、運(yùn)維人員執(zhí)行防御策略管理、資源管理、命令下發(fā)等。
3、運(yùn)營平臺(tái):實(shí)戰(zhàn)中大規(guī)模的主機(jī)安全產(chǎn)品,比這復(fù)雜得多,主要是要考慮管理海量云主機(jī)帶來的資源開銷和性能損耗,所以真正的主機(jī)安全產(chǎn)品,還需要在Agent和管理控制臺(tái)之間搭建:
·用于加快數(shù)據(jù)分發(fā)效率的負(fù)載均衡;
·用于存儲(chǔ)防御策略和日志的數(shù)據(jù)庫集群;
·用于后臺(tái)安全事件運(yùn)維運(yùn)營的數(shù)據(jù)整合服務(wù)器集群;
·用于實(shí)時(shí)分析數(shù)據(jù)得出可能攻擊的分析集群等等。
比如一款開源HIDS的典型架構(gòu)是這樣的(如不懂技術(shù)可忽略):
這樣才能做到實(shí)時(shí)的分析系統(tǒng)狀態(tài)并及時(shí)下發(fā)防御策略,并且便于日常維護(hù)和運(yùn)營。
大家有沒有發(fā)現(xiàn),HIDS是一款很典型的“云安全”產(chǎn)品:它的Agent放在每個(gè)云主機(jī)上,但大部分功能都在各種集群里,這樣就使得用戶花費(fèi)的計(jì)算資源等開銷會(huì)變得很小,因?yàn)楣δ芏荚凇霸啤鄙?,也就是在遠(yuǎn)端的各種服務(wù)器集群上實(shí)現(xiàn)了大部分功能。
這里也請(qǐng)大家注意,這是目前互聯(lián)網(wǎng)最常用的架構(gòu),而并非是安全產(chǎn)品所獨(dú)有,比如大家日常用的百度APP,功能可能差別很大,但是其原理也是以一個(gè)很小的Agent(應(yīng)用)裝在手機(jī)上,大部分功能都在遠(yuǎn)端的“云”上完成了。
三、如何判斷一款主機(jī)安全產(chǎn)品是不是好產(chǎn)品?
從各大互聯(lián)網(wǎng)廠商對(duì)一款好的主機(jī)安全產(chǎn)品的定義可以作為參考。為什么拿互聯(lián)網(wǎng)廠商做例子?因?yàn)樗麄兊闹鳈C(jī)是海量的,特別需要主機(jī)安全類的產(chǎn)品,而只有少量主機(jī)的話,很難遇到復(fù)雜的攻防場景。比如美團(tuán)發(fā)布的一篇文章介紹了他們的實(shí)踐,他們對(duì)主機(jī)安全產(chǎn)品的需求是這樣的(如果對(duì)技術(shù)不感冒,可以忽略,我后面會(huì)總結(jié)):
·滿足50W-100W服務(wù)器量級(jí)的IDC規(guī)模。
·部署在高并發(fā)服務(wù)器生產(chǎn)環(huán)境,要求Agent低性能低損耗。
·廣泛的部署兼容性。
·偏向應(yīng)用層和用戶態(tài)入侵檢測(可以和內(nèi)核態(tài)檢測部分解耦)。
·針對(duì)利用主機(jī)Agent排查漏洞的最急需場景提供基本的能力,可以實(shí)現(xiàn)海量環(huán)境下快速查找系統(tǒng)漏洞。
·Agent跟Server的配置下發(fā)通道安全。
配置信息讀取寫入需要鑒權(quán)。
·配置變更歷史記錄。
·Agent插件具備自更新功能。
歸納起來,主要是:
·Agent對(duì)系統(tǒng)資源需求少,系統(tǒng)負(fù)載占用小,也就是別一個(gè)Agent裝到主機(jī)里,導(dǎo)致主機(jī)卡頓了,對(duì)應(yīng)的指標(biāo)就是Agent的CPU占用率,一般5%以內(nèi)都算不錯(cuò)的。
·有豐富的API和強(qiáng)大的聯(lián)動(dòng)能力,也就是方便安全數(shù)據(jù)查看分析匯總,方便運(yùn)維運(yùn)營。
·支持規(guī)則引擎,能夠靈活的進(jìn)行防御規(guī)則配置和下發(fā),也就是方便管理員隨時(shí)添加、更新防護(hù)策略,保障能精準(zhǔn)地發(fā)現(xiàn)安全攻擊。
·分布式、高可用,也就是不能隨隨便便掛了,要好好的活著給大家防護(hù)好。