您好,登錄后才能下訂單哦!
今天講一講安全體系建設(shè)方案,對(duì)于企業(yè)來說,安全體系一直是比較關(guān)心的話題,無論大企業(yè)還是小企業(yè)都對(duì)于如何建設(shè)安全體系以及什么是安全,存在一定的疑問,這篇文章就從基礎(chǔ)組成的角度來討論一下安全架構(gòu)的建設(shè)。
安全架構(gòu)包括哪些方面?
物理方面
比如機(jī)房的安全,物理服務(wù)器的安全,硬盤的安全。有人可能會(huì)問,我的服務(wù)器是放在云上的,存在物理方面的安全嗎?當(dāng)然,對(duì)于企業(yè)而已,云端的物理安全是不需要過于擔(dān)心的,因?yàn)樵铺峁┓綍?huì)對(duì)他們的云機(jī)房做物理安全監(jiān)控,但其實(shí)有很多信息在初期也是需要考察的,比如云機(jī)房的監(jiān)控,云機(jī)房的人員訪問審查,云機(jī)房的高可用,云服務(wù)器的使用時(shí)長(zhǎng)等等。
舉個(gè)例子
在這里舉個(gè)例子,我們的服務(wù)器使用時(shí)間大概已經(jīng)有5年時(shí)間,主板電池有些問題,服務(wù)器一旦重啟就會(huì)刷新時(shí)區(qū),比正常的業(yè)務(wù)時(shí)間慢8個(gè)小時(shí),HTTPS校驗(yàn)時(shí)間時(shí)就出了問題,導(dǎo)致業(yè)務(wù)進(jìn)不來。Crontab的執(zhí)行時(shí)間同步一旦沒有達(dá)到秒級(jí)就會(huì)存在這個(gè)問題,但是正常誰會(huì)把時(shí)間同步定義到秒級(jí)呢?這個(gè)問題直接導(dǎo)致了業(yè)務(wù)的癱瘓,所以在選擇云供應(yīng)商的時(shí)候一定要詢問他們的宿主機(jī)使用時(shí)長(zhǎng)。
云物理監(jiān)控需要看什么?
比如需要監(jiān)控進(jìn)出機(jī)房的人員,早些時(shí)候會(huì)有一些編外人員以云提供商的身份進(jìn)入云機(jī)房進(jìn)行數(shù)據(jù)竊取,這方面國(guó)外最嚴(yán)重,國(guó)內(nèi)經(jīng)過管控已經(jīng)好很多,但是物理監(jiān)控依舊不能掉以輕心。
數(shù)據(jù)方面
數(shù)據(jù)安全,比如存放的數(shù)據(jù)加密,必要時(shí)需要脫敏處理,加密盡量采用雙層加密,這里分享一下我的做法:
原始數(shù)據(jù)的脫敏處理(由于是互聯(lián)網(wǎng)金融行業(yè),會(huì)存在個(gè)人信息的傳輸,存儲(chǔ)中如非必要,這類信息是不允許存儲(chǔ)的,需要脫敏,比如銀行卡號(hào)保留前4后4位等作為支付依據(jù),核對(duì)時(shí)核對(duì)關(guān)鍵信息)。
第一層采用3DES加密算法,把數(shù)據(jù)進(jìn)行加密;
第二層采用RSA強(qiáng)加密算法(2048位)加密3DES的密鑰;
最終密鑰存放于加解密系統(tǒng)中,此系統(tǒng)會(huì)對(duì)存放的密鑰做亂序處理,只有相關(guān)權(quán)限的人申請(qǐng),拿到亂序的密鑰,通過CEO或CTO授權(quán),由密鑰負(fù)責(zé)人做恢復(fù)處理,才能拿到密鑰。
這塊雖然流程會(huì)很麻煩,但是能夠最大程度的保障數(shù)據(jù)的安全。
應(yīng)用方面
其實(shí)應(yīng)用安全是***者們最喜歡***的方面,也是最容易被***的方面,如何做好應(yīng)用安全,決定了***們能否攻進(jìn)或者攻進(jìn)的難易程度。下面從幾個(gè)方面來討論我對(duì)于應(yīng)用安全的處理辦法:
1
誰
首先其實(shí)看到這個(gè)小標(biāo)題,相信有很多人是懵的,簡(jiǎn)單講述一個(gè)小例子好了,我用Jenkins舉例,Jenkins是開源的自動(dòng)化項(xiàng)目部署平臺(tái),一般項(xiàng)目做發(fā)布的時(shí)候使用的,與Apollo不一樣,具體差異我并沒有研究,但是為了結(jié)合項(xiàng)目架構(gòu),兩套自動(dòng)化部署平臺(tái)我都有搭建,Apollo更多體現(xiàn)在微服務(wù)化,Jenkins更多是使用項(xiàng)目發(fā)布。
Jenkins在剛剛安裝好的時(shí)候會(huì)設(shè)置訪問矩陣,就是說授權(quán)什么人做什么事情,比如運(yùn)維授權(quán)做項(xiàng)目發(fā)布,腳本執(zhí)行,審計(jì)授權(quán)做日志查看等等,這個(gè)時(shí)候其實(shí)有幾種不正常的行為:
(1)未授權(quán)訪問
未授權(quán)訪問是指沒有被授權(quán)的用戶可以訪問到系統(tǒng)中,并擁有授權(quán)用戶的權(quán)限。
還是以Jenkins舉例,早期的Jenkins初始化后是沒有訪問矩陣配置的,造成很多使用者不了解,同時(shí)也不知道未授權(quán)訪問的危害,在公網(wǎng)上暴露的Jenkins數(shù)不勝數(shù),或許使用者自己都沒有發(fā)現(xiàn),登錄Jenkins,空用戶名、空密碼是可以登錄的,這在訪問矩陣中是everyone的身份,可怕在于everyone默認(rèn)是有所有權(quán)限的,直接導(dǎo)致任何人只要發(fā)現(xiàn)Jenkins未授權(quán)訪問,就可以進(jìn)入到Jenkins中并且執(zhí)行shell命令,這在Jenkins中是客觀存在的,放下截圖。
同樣存在未授權(quán)訪問這個(gè)問題的還有很多,比如zeppelin、redis、zookeeper、elasticsearch、docker、hadoop等等。
這里我的建議是做好“誰”的把控,控制好所有的應(yīng)用訪問權(quán)限,什么人訪問什么系統(tǒng),擁有什么權(quán)限,當(dāng)然這里人的判斷依據(jù)最好是雙因素判斷。
并且應(yīng)用系統(tǒng)最好是放在內(nèi)網(wǎng)并做訪問控制,即使爆出0day也不會(huì)第一時(shí)間被掃到利用。
公網(wǎng)上開放的應(yīng)用越少,相對(duì)***的***層面就越少,***難度也就越大。
(2)越權(quán)訪問
越權(quán)訪問是指合法用戶,指定A權(quán)限,但卻可以做B權(quán)限能做的事情。
在這里還是以Jenkins為例:
在這里直接貼個(gè)漏洞編號(hào),有興趣的可以查一下,這個(gè)漏洞雖然官方說是嚴(yán)重級(jí)別,但是我給他評(píng)級(jí)只能評(píng)中危,因此沒有詳細(xì)貼出來。
因?yàn)榇寺┒词切枰狫enkins重啟,然而一般這種放在生產(chǎn)環(huán)境的運(yùn)維工具是極少有重啟的機(jī)會(huì)的,除非配合DoS***或者等待機(jī)房故障等不可逆因素。
漏洞整體描述是***者可利用CVE-2018-1999001漏洞從Jenkins主目錄下移除 config.xml 配置文件到其他目錄,當(dāng)Jenkins 服務(wù)再次重啟時(shí),因加載不了config.xml中配置的安全域和授權(quán)策略,退回 legacy 模式,并且賦予匿名用戶管理員訪問權(quán)限。
當(dāng)***者獲取Jenkins權(quán)限后,可查看構(gòu)建歷史數(shù)據(jù),甚至可下載工作區(qū)的代碼,導(dǎo)致核心代碼泄露。
***者在進(jìn)入管理頁面后,可通過“系統(tǒng)管理”下的“腳本命令行”功能,執(zhí)行用于管理或故障探測(cè)或診斷的任意腳本命令,對(duì)Jenkins系統(tǒng)服務(wù)器產(chǎn)生比較嚴(yán)重的影響和危害。
實(shí)際上是就是越權(quán)訪問改動(dòng)了config.xml文件,之后通過未授權(quán)訪問***服務(wù)器。
越權(quán)訪問一般是由于權(quán)限管控不當(dāng)而發(fā)生的,我的建議是在權(quán)限規(guī)劃時(shí),執(zhí)行最小權(quán)限管控,分的稍微細(xì)致一些,并且認(rèn)證一定要做好,每一個(gè)都需要認(rèn)證機(jī)制,這樣能夠最大程度降低越權(quán)訪問發(fā)生的可能。
(3)繞過認(rèn)證訪問
早期比較流行,比如在認(rèn)證頁面,正常輸入用戶名密碼,通過sql注入的方式使sql語句成為真值的計(jì)算,便可以跳過認(rèn)證,進(jìn)入系統(tǒng)中。
目前也有不少CMS系統(tǒng)存在繞過認(rèn)證訪問?;蛲ㄟ^撞庫的方式也算是繞過認(rèn)證。
之前Akamai有個(gè)統(tǒng)計(jì),從2017年11月初到2018年6月末,Akamai的研究分析結(jié)果顯示,惡意登錄嘗試在8個(gè)月內(nèi)超過300億次。
全球惡意登錄的次數(shù)在不斷增加,情況不容樂觀。面對(duì)如此嚴(yán)重的暴力撞庫***,有什么好辦法可以避免嗎?
其實(shí)很多人會(huì)想到雙因素登錄,但是同樣有很多人分不清雙因素登錄與雙因子登錄的區(qū)別。
雙因素登錄是指在登錄時(shí)同時(shí)驗(yàn)證傳統(tǒng)密碼與第二因素認(rèn)證,而雙因子登錄是指先認(rèn)證傳統(tǒng)密碼,成功后再認(rèn)證第二因素。
這兩者區(qū)別就在于雙因素?zé)o法判斷密碼是否是正確,而雙因子即使有第二因素,還可以爆破出密碼,然后通過此密碼進(jìn)行撞庫。
在這里有個(gè)假設(shè),一旦企業(yè)郵箱的密碼與爆破出的密碼是同一個(gè),那么企業(yè)信息泄露,甚至是專業(yè)的社工釣魚便會(huì)如夢(mèng)魘一般圍繞著你,圍繞著企業(yè)。
在這里建議是使用雙因素登錄認(rèn)證來規(guī)避繞過認(rèn)證訪問的問題。
2
做什么
通過行為判斷是否異常。一般來說,正常用戶不會(huì)執(zhí)行異常請(qǐng)求。還是用Jenkins舉個(gè)例子:
正常用戶,比如運(yùn)維,執(zhí)行腳本一般會(huì)執(zhí)行項(xiàng)目替換代碼,比如編譯jar包,比如替換等等;
***者在拿到命令執(zhí)行權(quán)限的時(shí)候第一時(shí)間使用的命令一般是身份類型命令,比如whoami、w、last等等;
然而這些信息一般Jenkins正常操作都是用不到的,需要做管控。當(dāng)然Jenkins本身權(quán)限要執(zhí)行權(quán)限最小化,那也當(dāng)然不可能是root,在執(zhí)行時(shí)也同樣會(huì)增大***難度。
3
怎么做
這一點(diǎn)要考慮***可能通過什么手段***應(yīng)用,最常見的OWASP TOP10中的SQL注入、XSS、XXE、惡意文件上傳、CSRF、×××F等等,基于這些***手段建議采用WAF來阻斷惡意***,具體后續(xù)會(huì)分享開源WAF體系的建設(shè),包括WAF本身與日志審計(jì)、告警工作,感興趣可留言討論,歡迎關(guān)注。
主機(jī)層面
主機(jī)安全是相對(duì)于以上所有安全中最難把控的,包括服務(wù)器安全和終端安全。
技術(shù)層面的安全相對(duì)來說比較好把控,包括服務(wù)器終端的基線安全、殺軟、訪問控制等等,但是最不好把控的其實(shí)是人為的因素。
案例一大把,隨便舉例子,員工私設(shè)WiFi設(shè)置弱口令導(dǎo)致***連接到企業(yè)內(nèi)網(wǎng),進(jìn)行內(nèi)網(wǎng)***;員工瀏覽惡意網(wǎng)站導(dǎo)致終端植入感染病毒,傳播擴(kuò)散到企業(yè)內(nèi)網(wǎng)。
這種事情還有很多,憑借管理制度并不足以防止此類事件的發(fā)生,那么主機(jī)安全應(yīng)當(dāng)如何做?在這里分享我的治理方法:
首先服務(wù)器使用ansible推送安裝ClamAV,定期進(jìn)行查殺,這里可以使用crontab進(jìn)行定時(shí)任務(wù),并將結(jié)果反饋,反饋可以通過filebeat傳遞到日志分析中去做,告警也在日志分析中規(guī)范告警條件。
終端以360為例,統(tǒng)一管控,360有服務(wù)端和客戶端,在服務(wù)器設(shè)置統(tǒng)一管控密碼,客戶端分發(fā)安裝到各終端,終端便會(huì)定時(shí)殺毒,而且不能被關(guān)閉。
定期開展企業(yè)培訓(xùn),提高所有人的安全防范意識(shí),在路由器上設(shè)置訪問控制,禁止訪問有害網(wǎng)站(利用爬蟲做黑名單訪問控制)。
網(wǎng)絡(luò)層面
網(wǎng)絡(luò)層面重點(diǎn)體現(xiàn)在防火墻管控DMZ區(qū)的流量進(jìn)出,管控跨網(wǎng)之間的訪問哪些屬于合規(guī)哪些不合規(guī)。
舉個(gè)例子,假如說我的某一個(gè)業(yè)務(wù)放在阿里云,監(jiān)控體系與主體業(yè)務(wù)在騰訊云,由于成本問題我不想在阿里云單獨(dú)建立一套監(jiān)控體系,只想延用騰訊云的監(jiān)控體系,但又要保證業(yè)務(wù)之間的隔離,那么這時(shí)候就要在云兩端架設(shè)×××,并且設(shè)置僅允許監(jiān)控系統(tǒng)與業(yè)務(wù)之間互相訪問。
但是要保證×××的穩(wěn)定性,在目前國(guó)內(nèi)的形式來說應(yīng)該是挺難的,尤其前段時(shí)間的護(hù)網(wǎng)行動(dòng),×××基本每天都斷上幾次。
多鏈路可靠訪問是針對(duì)網(wǎng)絡(luò)堵塞、大環(huán)境網(wǎng)絡(luò)故障、意外***等情況設(shè)計(jì)的業(yè)務(wù)可用性的體現(xiàn)。
試想一個(gè)業(yè)務(wù)域名,比如ex.com,當(dāng)遇到DDoS***時(shí),大量的商戶訪問不到業(yè)務(wù)域名,造成的損失有多大;
或者大環(huán)境網(wǎng)絡(luò)出現(xiàn)故障,比如前段時(shí)間發(fā)生的114DNS故障導(dǎo)致域名無法訪問、中間節(jié)點(diǎn)路由出現(xiàn)故障等等,造成的損失也是巨大的。
這時(shí)多線路解析以及雙線路出入口的設(shè)計(jì)能夠最大程度保證業(yè)務(wù)的可用性,也就是我們所說的CDN和雙出口。
安全不僅僅是技術(shù)工作,更是管理工作,一切都是為了確保業(yè)務(wù)能夠正常開展。我們需要應(yīng)急,但是如果可以,誰又想需要應(yīng)急。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。