運(yùn)維安全需要注意的幾個(gè)方面
前言
運(yùn)維安全是企業(yè)安全保障的基石,不同于Web安全、移動(dòng)安全或者業(yè)務(wù)安全,運(yùn)維安全環(huán)節(jié)出現(xiàn)問(wèn)題往往會(huì)比較嚴(yán)重。
一方面,運(yùn)維出現(xiàn)的安全漏洞自身危害比較嚴(yán)重。運(yùn)維服務(wù)位于底層,涉及到服務(wù)器,網(wǎng)絡(luò)設(shè)備,基礎(chǔ)應(yīng)用等,一旦出現(xiàn)安全問(wèn)題,直接影響到服務(wù)器的 安全;另一方面,一個(gè)運(yùn)維漏洞的出現(xiàn),通常反映了一個(gè)企業(yè)的安全規(guī)范、流程或者是這些規(guī)范、流程的執(zhí)行出現(xiàn)了問(wèn)題,這種情況下,可能很多服務(wù)器都存在這類 安全問(wèn)題,也有可能這個(gè)服務(wù)還存在其他的運(yùn)維安全問(wèn)題。
本文一方面希望幫助甲方覆蓋一些盲點(diǎn),另一方面也能夠?yàn)榘酌弊犹峁┮恍┞┒赐诰虻姆较蚝退悸贰?/p>
Attack Surface
一圖勝千言,下圖是個(gè)人近期總結(jié)的一些常見(jiàn)的運(yùn)維風(fēng)險(xiǎn)點(diǎn)。
附XMIND源地址:https://github.com/LeoHuang2015/ops_security/blob/master/%E8%BF%90%E7%BB%B4%E5%AE%89%E5%85%A8.xmind
運(yùn)維安全對(duì)抗發(fā)展
攻防對(duì)抗本身就是不平等的,防御是一個(gè)面,而攻擊者只需要一個(gè)點(diǎn)。要防住同一level的攻擊,需要投入的防御成本是巨大的。 在攻防對(duì)抗的各個(gè)level,高level的攻擊手段是可以隨意貫穿低level的防御層面。
救火
對(duì)于很多小公司(其實(shí)也包括很多大公司),對(duì)待安全漏洞的態(tài)度基本上都是遇到一個(gè)坑,填一個(gè)坑,這種純“救火”的態(tài)度無(wú)法保障運(yùn)維安全,只會(huì)像打地鼠一樣,疲于奔命。
然而大部分公司都處在這個(gè)level——填坑救火(不救火的公司沒(méi)有討論的必要)。一方面是公司自身的安全意識(shí)不強(qiáng);另一方面是小公司的安全資源配備有限。
漏網(wǎng)之魚(yú) VS 建設(shè) + 運(yùn)營(yíng)
不同于小公司,一些大公司,特別是互聯(lián)網(wǎng)公司,安全發(fā)展已經(jīng)逐漸的從“救火”進(jìn)入到“建設(shè)”的階段。
從甲方的角度而言,這個(gè)過(guò)程是艱辛的,長(zhǎng)久的。
在企業(yè)進(jìn)入安全“建設(shè)”的階段時(shí),運(yùn)維安全漏洞會(huì)呈指數(shù)級(jí)下降,一些常見(jiàn)和普通的問(wèn)題不再出現(xiàn)。
這個(gè)時(shí)候,對(duì)抗點(diǎn)會(huì)集中在一些比較邊緣的點(diǎn)。包括不常見(jiàn)的服務(wù)端口,依賴第三方服務(wù)的問(wèn)題,又或者是一些合作方服務(wù)器安全漏洞等情況。
通常情況下,造成這些安全問(wèn)題并非是安全技術(shù)的缺陷,更多的是安全規(guī)范、標(biāo)準(zhǔn)流程覆蓋不全的情況,如新業(yè)務(wù)、三方業(yè)務(wù)、收購(gòu)的業(yè)務(wù),運(yùn)維體系還沒(méi)有統(tǒng)一,運(yùn)維安全建設(shè)沒(méi)有及時(shí)跟上;即使在安全規(guī)范和流程覆蓋完全的情況下,在具體的執(zhí)行上也會(huì)出現(xiàn)一系列問(wèn)題。安全規(guī)范和標(biāo)準(zhǔn)流程越多,越容易出現(xiàn)執(zhí)行上的問(wèn)題。
這兩類問(wèn)題是建設(shè)時(shí)期比較典型的情況。很多時(shí)候,領(lǐng)導(dǎo)都會(huì)有這樣的疑問(wèn),我們的規(guī)范、流程已經(jīng)推到各個(gè)部門,看起來(lái)各個(gè)部門也按照標(biāo)準(zhǔn)執(zhí)行了,為什么還會(huì)有這么多“漏網(wǎng)之魚(yú)”?
于是,如何主動(dòng)的發(fā)現(xiàn)這些漏網(wǎng)之魚(yú)也是一個(gè)急迫的需求。
這個(gè)時(shí)候需要安全運(yùn)營(yíng)的介入,安全運(yùn)營(yíng)在戴明環(huán)中扮演的量C/A的角色,定期check安全規(guī)范、流程標(biāo)準(zhǔn)的執(zhí)行情況,然后推動(dòng)安全問(wèn)題的Fix,找到根本原因,一方面不斷的完善規(guī)范和流程,另一方面不斷的提升運(yùn)維安全的覆蓋面。
比較常見(jiàn)的就是安全掃描,通過(guò)定期掃描發(fā)現(xiàn)的問(wèn)題,反推流程和規(guī)范的執(zhí)行;當(dāng)然,通過(guò)白帽子報(bào)告的漏洞,確定是流程和規(guī)范的原因后,進(jìn)行反推也是一種有效的方式。
“新”漏洞 VS 預(yù)警 + 響應(yīng)
天下武功,唯快不破
在運(yùn)維安全提醒建設(shè)到相對(duì)完善的情況下,通常情況下,企業(yè)是相對(duì)安全的。但是,一旦有新漏洞的出現(xiàn)(在國(guó)內(nèi),有exp發(fā)布的漏洞往往就等于新漏洞),拼的就是響應(yīng)速度。
一方面是需要安全運(yùn)營(yíng)對(duì)這些嚴(yán)重漏洞的快速預(yù)警;另一方面就是安全專家的技術(shù)功底了。在沒(méi)有官方補(bǔ)丁發(fā)布的情況下,如何通過(guò)一些hack技巧進(jìn)行防御也是非常重要的。
比如最近幾年比較大的安全事件,如2013年7月17日的struts2漏洞,2014年4月7日的心血漏洞,就算是國(guó)內(nèi)甲方最強(qiáng)安全團(tuán)隊(duì)BAT也是難于幸免。 這一level,甲方非常難做,唯一能保障的就是在中招后提示響應(yīng)和修復(fù)的速度。
人 安全意識(shí) VS 安全教育
在整個(gè)運(yùn)維安全的對(duì)抗中,人這一塊尤為重要,運(yùn)維安全做的越好,這塊越發(fā)重要。
安全規(guī)范和標(biāo)準(zhǔn)可以落實(shí)到各個(gè)部門,以流程的方式強(qiáng)制執(zhí)行。但是運(yùn)維人員安全意識(shí)的問(wèn)題,很難進(jìn)行控制。
最簡(jiǎn)單的就是弱口令,弱口令,弱口令!
各種系統(tǒng)的弱口令,各種后臺(tái)的弱口令,各種服務(wù)的弱口令。這么多年了從來(lái)沒(méi)有斷過(guò)。
很多運(yùn)維有些“壞”習(xí)慣。
比如直接在web目錄進(jìn)行web文件備份、nohup后臺(tái)運(yùn)行程序。這樣會(huì)導(dǎo)致備份文件、程序執(zhí)行的日志泄露;又或者隨便開(kāi)一個(gè)web服務(wù)下日志或者傳數(shù)據(jù),如python -m SimpleHTTPServer,這樣就直接把目錄映射到所有用戶,如果是根目錄,影響就更大了;當(dāng)然,還有些運(yùn)維喜歡把自動(dòng)化腳本上傳到git,腳本這東西,密碼就在里面,一不小心就直接泄露了密碼。