自從身份驗(yàn)證和授權(quán)成為訪問計(jì)算機(jī)系統(tǒng)的常規(guī)操作,最小權(quán)限原則(POLP)就是實(shí)際上的安全底線。其核心思想在于僅為用戶分配供其完成任務(wù)所需訪問公司數(shù)據(jù)及系統(tǒng)的最小權(quán)限——不多也不少,恰恰夠完成工作。理論上,遵守POLP似乎是最佳身份與訪問管理策略,但實(shí)現(xiàn)最小權(quán)限往往說(shuō)得容易做起來(lái)難。
為什么最小權(quán)限原則一直難以實(shí)現(xiàn)?
原因很多。首先,要實(shí)現(xiàn)最小權(quán)限就得對(duì)每位用戶及其角色所需的恰當(dāng)權(quán)限有著清晰的理解。其次,要有某種工具來(lái)實(shí)施所定義的權(quán)限等級(jí)。再次,授權(quán)的定義與實(shí)施一定不能干擾到用戶的正常工作。最小權(quán)限原則能保護(hù)所有類型的用戶訪問,尤其是管理員權(quán)限訪問。
有些系統(tǒng)角色定義良好,對(duì)與這些角色相關(guān)聯(lián)的權(quán)限也有著細(xì)粒度的劃分,在這些系統(tǒng)上實(shí)現(xiàn)POLP就比較容易。但有些系統(tǒng)就沒那么配合了,因?yàn)樗鼈內(nèi)狈Χx和實(shí)現(xiàn)各級(jí)權(quán)限劃分的原生工具。對(duì)于后者,公司企業(yè)往往只能靠自己粗淺簡(jiǎn)陋的權(quán)限定義設(shè)備和有限的工具來(lái)實(shí)現(xiàn)POLP。造成的結(jié)果就是,很多公司企業(yè)非常想要施行最小權(quán)限,但實(shí)際上卻只在非常有限的范圍內(nèi)真正實(shí)現(xiàn)了POLP。
從管理員權(quán)限的角度看,很多公司圖省事直接給所有可能需要該權(quán)限的用戶都分發(fā)了管理員(或者說(shuō)“超級(jí)用戶”)憑證,讓太多的員工掌握了對(duì)數(shù)據(jù)及系統(tǒng)的過(guò)多權(quán)限,根本就是完全背離了POLP。
管理員權(quán)限應(yīng)用最小權(quán)限原則的經(jīng)典案例是Unix和Linux系統(tǒng)上的開源工具“sudo”(“ superuser do ”的縮寫)。該工具允許公司在“sudoer”文件中定義具有“全權(quán)”root憑證部分權(quán)限的角色。管理員登錄后得在命令前加“su”前綴才可以嘗試執(zhí)行特權(quán)命令,且該命令若不被sudoer策略允許,執(zhí)行嘗試還會(huì)被拒絕。
sudo在很多情況下運(yùn)行良好。但當(dāng)Unix/Linux系統(tǒng)環(huán)境達(dá)到一定的規(guī)模,每臺(tái)Unix/Linux服務(wù)器上獨(dú)立運(yùn)行sudo就讓最小權(quán)限的施行變得難以控制,容易出錯(cuò),適得其反了。于是,各種特權(quán)訪問管理(PAM)解決方案應(yīng)運(yùn)而生,要么用覆蓋整個(gè)環(huán)境的解決方案貫徹統(tǒng)一的策略和實(shí)現(xiàn)規(guī)則集并輔以鍵盤記錄,要么以覆蓋所有實(shí)例的集中式策略增強(qiáng)sudo(相對(duì)于分散在各實(shí)例上的多個(gè)sudoer文件)。
但是,Unix/Linux通常只是PAM整體視圖中的一部分。還有其他系統(tǒng)會(huì)留有未經(jīng)審查的管理員權(quán)限訪問。比如說(shuō),大多數(shù)公司企業(yè)都會(huì)設(shè)置微軟活動(dòng)目錄(AD)和Azure活動(dòng)目錄(AAD)作為終端用戶的主要訪問入口。這就讓AD/AAD管理員成為了任何PAM項(xiàng)目的重要內(nèi)容,POLP也應(yīng)擴(kuò)展到這些管理員身上。
然而,現(xiàn)實(shí)往往沒那么簡(jiǎn)單,除了Unix/Linux和AD/AAD平臺(tái),現(xiàn)代異構(gòu)企業(yè)中非常難以貫徹一致的POLP。有些應(yīng)用內(nèi)置了供POLP實(shí)現(xiàn)的功能,而有些應(yīng)用壓根兒就沒考慮過(guò)POLP。
前路艱險(xiǎn),為了盡可能展開PAM項(xiàng)目,幫助企業(yè)從POLP中收獲最多益處,可以參考下列建議:
在Unix/Linux系統(tǒng)中尋找機(jī)會(huì)增強(qiáng)原生sudo,清除最小權(quán)限實(shí)現(xiàn)過(guò)程中的漏洞并提升操作效率。用商業(yè)解決方案增強(qiáng)或替換sudo能帶來(lái)巨大的安全收益。同樣地,尋求第三方輔助,去除默認(rèn)非此即彼的管理員權(quán)限設(shè)置,是當(dāng)下AD/AAD應(yīng)用POLP的良好方式。
如果最小權(quán)限無(wú)法實(shí)現(xiàn),可以嘗試用特權(quán)口令管理器來(lái)共享管理員口令。隨著日常Unix/Linux和AD/AAD管理員訪問以最小權(quán)限模式委托出去,我們很有必要在其他特權(quán)口令的核發(fā)、批準(zhǔn)和管理上實(shí)現(xiàn)安全和自動(dòng)化。這么做可以去除掉未核準(zhǔn)管理員訪問的匿名性,對(duì)整個(gè)過(guò)程加以管控。特權(quán)口令管理器還可提供向單個(gè)用戶發(fā)放被委托管理員賬戶整套權(quán)限的另一種途徑。委托出日常行為權(quán)限并為緊急事件賦予超級(jí)用戶訪問權(quán)限。
如果不能監(jiān)視管理員用他們手中的特權(quán)都干了些什么,PAM項(xiàng)目就稱不上完整。運(yùn)用會(huì)話審計(jì)和鍵盤記錄來(lái)增強(qiáng)管理員權(quán)限委托,可以讓你知道這些權(quán)限都被用來(lái)了干了什么。
PAM拼圖的最后一塊就是實(shí)現(xiàn)分析功能。特權(quán)行為分析有助于檢測(cè)異常及危險(xiǎn)行為,身份分析則可評(píng)估特權(quán)口令管理器和最小權(quán)限模式中與管理員權(quán)限相關(guān)的那些權(quán)利。對(duì)同類管理員進(jìn)行權(quán)利與權(quán)限分析,可以幫助公司發(fā)現(xiàn)其最小權(quán)限模式中的弱點(diǎn)。
POLP是有效PAM項(xiàng)目中的關(guān)鍵組成部分,但并非唯一的原則。全面的PAM項(xiàng)目還應(yīng)輔以口令管理、會(huì)話審計(jì)和分析,才能真正交付項(xiàng)目設(shè)計(jì)之初的安全目標(biāo)。