DevOps專業(yè)人員如何成為網(wǎng)絡(luò)安全擁護(hù)者
打破信息孤島,成為網(wǎng)絡(luò)安全領(lǐng)域的擁護(hù)者,將會(huì)對(duì)您、您的職業(yè)以及您的企業(yè)組織產(chǎn)生有利影響。
安全是DevOps中一個(gè)被誤解的元素,有些人認(rèn)為,它不在DevOps的職權(quán)范圍之內(nèi),而另一些人則認(rèn)為,它足夠重要(并且經(jīng)常被忽視),因此建議您改為使用DevSecOps。不過,無論您認(rèn)同哪一方的觀點(diǎn),一個(gè)很明顯的事實(shí)是,網(wǎng)絡(luò)安全都會(huì)影響到我們每一個(gè)人。
每一年,有關(guān)攻擊行為的統(tǒng)計(jì)數(shù)據(jù)總是令人大為震驚。例如,每39秒就會(huì)有一次黑客攻擊行為發(fā)生,這可能會(huì)導(dǎo)致您為公司編寫的日志記錄、身份信息以及專有項(xiàng)目被盜。您的安全團(tuán)隊(duì)可能需要花費(fèi)幾個(gè)月(甚至可能永遠(yuǎn)找不到)的時(shí)間,才能發(fā)現(xiàn)幕后黑手的身份、丟失了什么、哪里被攻破了、以及什么時(shí)間被攻破的。
面對(duì)這些棘手問題,運(yùn)營專家應(yīng)該做些什么?按照我的想法,我們是時(shí)候成為網(wǎng)絡(luò)安全的擁護(hù)者,變?yōu)榻鉀Q方案的一部分了。
破除藩籬:讓部門之間不撕皮
在與IT安全團(tuán)隊(duì)一起肩并肩作戰(zhàn)的數(shù)十年里,我注意到了很多事情。一個(gè)很大的問題是,DevOps和安全團(tuán)隊(duì)之間的關(guān)系通常劍拔*張。究其原因,這種緊張關(guān)系幾乎都是源于安全團(tuán)隊(duì)為了保護(hù)系統(tǒng)、防范漏洞所作出的努力(例如,設(shè)置訪問控制或者禁用某些東西),而這些努力會(huì)中斷DevOps的工作并阻礙其快速部署應(yīng)用程序的能力。
對(duì)于這一點(diǎn),我相信每個(gè)人應(yīng)該都經(jīng)歷或者說看到過。一小撮的怨恨最終燒毀了雙方信任的橋梁,要么是花費(fèi)一段時(shí)間修復(fù),要么就是兩個(gè)團(tuán)體之間開始一場小型的地盤爭奪戰(zhàn),這個(gè)結(jié)果會(huì)使DevOps實(shí)現(xiàn)變得更加困難。
換位思考
為了打破這些孤島并結(jié)束互相撕皮的現(xiàn)象,我在每個(gè)安全團(tuán)隊(duì)中都選了至少一個(gè)人來交談,以了解我們組織日常安全運(yùn)營里的來龍去脈。我最開始是出于好奇才做的這件事,但讓我繼續(xù)做下去的原因是,它總是能帶給我一些有價(jià)值的新觀點(diǎn)。例如,我了解到,對(duì)于每個(gè)因安全性問題而被叫停的部署,IT安全團(tuán)隊(duì)都在竭力修復(fù)其所發(fā)現(xiàn)的其他10個(gè)問題。他們反應(yīng)的莽撞和尖銳是因?yàn)樗麄儽仨氃谟邢薜臅r(shí)間里修復(fù)這些問題,否則這些問題就會(huì)變成一個(gè)大問題。
考慮到發(fā)現(xiàn)、識(shí)別和撤銷已完成操作所需的大量知識(shí),或者指出 DevOps 團(tuán)隊(duì)正在做什么(沒有背景信息)然后復(fù)制并測試它。所有這些工作通常都要由人手配備嚴(yán)重短缺的安全團(tuán)隊(duì)完成。
這就是您的安全團(tuán)隊(duì)的日常生活,而這一切,您的DevOps團(tuán)隊(duì)根本無法看到,更談何理解。IT安全團(tuán)隊(duì)的日常工作可能意味著超時(shí)加班和過度勞累,以確保公司、公司的團(tuán)隊(duì)以及團(tuán)隊(duì)正在進(jìn)行的所有項(xiàng)目安全運(yùn)行。
成為安全擁護(hù)者的方法
當(dāng)您成為了自己的安全團(tuán)隊(duì)的擁護(hù)者之后,便可以成為他們的助力而不再是絆腳石。這也就意味著,對(duì)于您做的所有操作,您必須仔細(xì)、認(rèn)真地查看所有能夠讓其他人登錄的方式,以及他們能夠從中獲得什么。
幫助您的安全團(tuán)隊(duì)就是在幫助您自己。將工具添加到您的工作流程中,以此將你知道的要干的活和他們知道的要干的活結(jié)合到一起。從小事入手,例如閱讀公共漏洞披露(CVE),并將掃描模塊添加到你的 CI/CD 流程里。對(duì)于您構(gòu)建的所有內(nèi)容,都會(huì)有一個(gè)開源掃描工具,從長遠(yuǎn)來看,添加小型開源工具(例如下面列舉的工具)是可以讓項(xiàng)目變得更好的。
容器掃描工具:
- Anchore Engine——Anchore是一款針對(duì)容器的安全掃描的工具,能對(duì)應(yīng)用容器的脆弱性進(jìn)行靜態(tài)掃描,同時(shí)支持whitelist/blacklist以及評(píng)估策略的設(shè)定。
- Clair——Clair是由coreos所推出的一款針對(duì)容器的安全掃描的工具,能對(duì)應(yīng)用容器的脆弱性進(jìn)行靜態(tài)掃描,同時(shí)支持APPC和DOCKER。
- Vuls——Vuls 是一款適用于 Linux/FreeBSD 的漏洞掃描程序,無代理,采用 Go 語言編寫,能夠通知用戶與系統(tǒng)相關(guān)的漏洞;通知受影響的服務(wù)器的用戶;自動(dòng)執(zhí)行漏洞檢測;使用 CRON 或其他方法定期生成報(bào)告;管理漏洞等等。
- OpenSCAP——OpenSCAP由Redhat主導(dǎo)開發(fā),是一個(gè)整合了SCAP中各標(biāo)準(zhǔn)的開源框架,其為SCAP的使用者提供了一套簡單易用的接口。OpenSCAP實(shí)現(xiàn)了對(duì)SCAP數(shù)據(jù)格式的解析以及執(zhí)行檢查操作所使用的系統(tǒng)信息探針,它能夠讓SCAP的采納者專注于業(yè)務(wù)實(shí)現(xiàn),而不是處理一些繁瑣的底層技術(shù)。目前OpenSCAP最新版本完全支持SCAP 1.0規(guī)范中的全部標(biāo)準(zhǔn)。
代碼掃描工具:
- OWASP SonarQube——SonarQube 是一個(gè)開源的代碼分析平臺(tái),用來持續(xù)分析和評(píng)測項(xiàng)目源代碼的質(zhì)量。通過SonarQube我們可以檢測出項(xiàng)目中重復(fù)代碼、潛在bug、代碼規(guī)范、安全性漏洞等問題,并通過SonarQube web UI展示出來。
- Find Security Bugs——Find Security Bugs是一款用于審計(jì)Java Web應(yīng)用程序和Android應(yīng)用FindBugs插件。
- Google Hacking Diggity Project——Google Hacking Diggity是一個(gè)利用搜索引擎(如Google、Bing)快速識(shí)別系統(tǒng)弱點(diǎn)和敏感數(shù)據(jù)的工具集項(xiàng)目。
Kubernetes 安全工具:
- Project Calico——Calico為容器和虛擬機(jī)工作負(fù)載提供一個(gè)安全的網(wǎng)絡(luò)連接。它可以創(chuàng)建并管理一個(gè)3層平面網(wǎng)絡(luò),為每個(gè)工作負(fù)載分配一個(gè)完全可路由的IP地址。工作負(fù)載可以在沒有IP封裝或網(wǎng)絡(luò)地址轉(zhuǎn)換的情況下進(jìn)行通信,以實(shí)現(xiàn)裸機(jī)性能,簡化故障排除和提供更好的互操作性。
- Kube-hunter——Kube-hunter是由Aqua推出的一款工具,利用 Kube-hunter 可以進(jìn)行免費(fèi) Kubernetes 環(huán)境滲透測試,在 Kube-hunter 網(wǎng)頁中,系統(tǒng)會(huì)列出使用者環(huán)境出現(xiàn)的漏洞、嚴(yán)重性,以及問題的描述。利用 URL,企業(yè)用戶也可以與組織內(nèi)其他成員分享掃描結(jié)果。
- NeuVector——Neuvector可以提供主機(jī)和pod的連續(xù)運(yùn)行時(shí)保護(hù),它可以通過掃描Kubernetes集群、節(jié)點(diǎn)、pod以及容器鏡像來保護(hù)容器不受安全漏洞的影響。
保持你的DevOps態(tài)度
如果您正在擔(dān)任與DevOps相關(guān)的職務(wù),那么學(xué)習(xí)新技術(shù)以及如何運(yùn)用這項(xiàng)新技術(shù)創(chuàng)造新事物就是您工作的一部分。安全也是一樣的。在DevOps安全方面,我始終緊跟時(shí)代發(fā)展步伐,下面是我的學(xué)習(xí)秘訣:
- 每周閱讀一篇有關(guān)您所從事的工作與安全性相關(guān)的文章;
- 每周查看CVE官方網(wǎng)站,了解出現(xiàn)了什么新漏洞;
- 嘗試做一次黑客馬拉松(Hackathon)——通常是一種連續(xù)、集中式的編程活動(dòng),由報(bào)名人員組隊(duì)參賽并且在規(guī)定的時(shí)間內(nèi)完成計(jì)劃的活動(dòng)。一些公司每個(gè)月都要這樣做一次;如果您覺得還不夠、想了解更多,可以訪問 Beginner Hack 1.0 網(wǎng)站;
- 嘗試每年至少與您的安全團(tuán)隊(duì)成員一起參加一次安全會(huì)議,學(xué)會(huì)從他們的角度來看事情。
成為擁護(hù)者是為了更好的未來
您應(yīng)該成為自己團(tuán)隊(duì)的安全擁護(hù)者的原因有很多,首先也是最重要的是增長您的知識(shí),并且?guī)椭穆殬I(yè)發(fā)展。第二個(gè)原因是幫助其他的團(tuán)隊(duì),建立新的關(guān)系,并打破對(duì)您的組織有害的孤島現(xiàn)象。在整個(gè)組織內(nèi)建立友好關(guān)系有很多好處,包括樹立溝通團(tuán)隊(duì)的典范,并鼓勵(lì)人們一起工作。同時(shí),您還能促進(jìn)在整個(gè)組織中分享知識(shí),并給每個(gè)人提供一個(gè)在安全方面更好的內(nèi)部合作的新契機(jī)。
總的來說,成為一個(gè)網(wǎng)絡(luò)安全的擁護(hù)者會(huì)讓您成為您整個(gè)組織的擁護(hù)者。