滲透測試是一項旨在確定和解決任何黑客可能利用漏洞的IT安全性措施。就如同傳統(tǒng)數(shù)據(jù)中心廣泛采用這一測試方法一樣,很多企業(yè)的IT部門也在他們的公共云計算環(huán)境中使用著這種滲透測試。無論是AWS、谷歌還是微軟Azure的云計算,這里將介紹一些針對公共云計算制定滲透測試計劃的最佳實踐。
首先,由于滲透測是看上去就好像是攻擊,那么在執(zhí)行這樣的測試之前,與云計算供應(yīng)商進行充分的事前溝通則是非常重要的。
其次,應(yīng)確定一份具體的測試對象清單,具體包括服務(wù)器、終端、應(yīng)用程序、網(wǎng)絡(luò)服務(wù)和持久性數(shù)據(jù)存儲。你可以使用諸如Metasploit之類的工具或者諸如Tinfoil安全這樣的第三方服務(wù)供應(yīng)商所提供的安全掃描工具來執(zhí)行滲透測試。但無論使用哪種方法,你都需要一個包括待測試組件信息的明確定義列表。
然后,確定需要執(zhí)行哪些測試。開放式Web應(yīng)用程序安全項目(OWASP)所維護的一份列表中就包括了Web應(yīng)用程序的十大安全漏洞。這是一個很好的起點,我們可以將其視為企業(yè)用戶應(yīng)予以重點關(guān)注測試的最小漏洞集合。該列表包括了注入攻擊、中斷會話管理與認(rèn)證、跨站點腳本程序和安全性錯誤配置。
請務(wù)必確保測試所有的潛在攻擊點。你有可能希望用戶一直使用你所提供的網(wǎng)絡(luò)接口,但是攻擊者可以直接利用Web服務(wù)或數(shù)據(jù)庫服務(wù)器。在你的應(yīng)用程序堆棧中測試所有面向公眾的接入點,其中包括API函數(shù)和應(yīng)用程序接口。
如果你擁有足夠的時間和資源,那么還應(yīng)針對無法從互聯(lián)網(wǎng)訪問的服務(wù)進行測試。例如,你可能需要配置你的數(shù)據(jù)庫服務(wù)器以便于只接受來自于你的應(yīng)用程序服務(wù)器的連接。有的人可能會認(rèn)為這個數(shù)據(jù)庫是無法從Web端進行訪問的,所以它是受到一定程度保護的,但是這一點并不一定是正確的。
安全措施有可能會失效。如果能夠訪問數(shù)據(jù)庫服務(wù)器的應(yīng)用程序服務(wù)器被攻陷,那么黑客們就可以將應(yīng)用程序服務(wù)器作為攻擊數(shù)據(jù)庫服務(wù)器的主機。所以,在不影響正常功能的情況下,應(yīng)盡可能多地強化數(shù)據(jù)庫服務(wù)器的安全措施。按照縱深防御的做法,實施多種控制措施來保護數(shù)據(jù)和系統(tǒng)資源。數(shù)據(jù)庫服務(wù)器的安全性不應(yīng)只是依靠一個具有較高安全性的應(yīng)用程序服務(wù)器。
最后,請記得并不是所有的攻擊都是來自于組織外部的。來自內(nèi)部的攻擊有可能可以合法且惡意地訪問眾多系統(tǒng)。審查日志文件,從而確定是否捕獲足夠的信息以便于對一個實際的攻擊做出響應(yīng)。此外,還應(yīng)檢驗安全信息和事件管理軟件的功能。應(yīng)確保按照預(yù)先設(shè)計發(fā)出警報,以安全專家能夠確定警報原因的形式向他們提交安全數(shù)據(jù)。