隨著業(yè)務的發(fā)展,公司業(yè)務人員數(shù)量急劇增加,相關(guān)業(yè)務系統(tǒng)也增加了不少用戶,但是令系統(tǒng)管理人員頭疼的是不少用戶將系統(tǒng)口令設(shè)置得非常簡單,也許這是為了自己的方便,但這種行為無形中嚴重損害了公司的利益,特別是一些重點崗位的業(yè)務人員,如果將公司核心業(yè)務系統(tǒng)的口令設(shè)置得過于簡單,將很可能被一些別有用心的人利用,給企業(yè)帶來極大的損失。
系統(tǒng)管理人員及時向領(lǐng)導匯報了這個情況,領(lǐng)導要求將這些設(shè)置弱口令的用戶找出來,然后通過發(fā)送警示郵件的方式敦促他們修改密碼。但用戶口令都是加密存儲,即使在系統(tǒng)后臺也無法識別哪些是弱口令用戶;而且用戶數(shù)量大,如果單靠人工去手動測試密碼,工作量是無法想象的。如何按照領(lǐng)導指示去完成工作呢?有沒有高效、簡單可行的方法去完成弱口令用戶檢測呢?這也許是很多企業(yè)系統(tǒng)管理人員面臨的窘境。
圖1 自動檢測腳本流程圖
既然人工方式檢測弱口令用戶不可行,我們能否利用運維自動化技術(shù)來實現(xiàn)自動檢測呢?答案是肯定的,因為所有用戶進行口令認證的流程基本一致,這也是運用自動化技術(shù)解決問題的絕佳條件,所以通過編寫腳本程序就能控制整個用戶口令認證的全過程,這樣就能勿需人工干預,實現(xiàn)自動化檢測弱口令用戶的功能,上述問題即可迎刃而解。
本文以某單位的業(yè)務系統(tǒng)為例,詳細介紹實現(xiàn)自動檢測的全過程。該單位的核心業(yè)務系統(tǒng)用戶認證采用的是Cisco ACS系統(tǒng),利用Radius協(xié)議實現(xiàn)用戶的認證,用戶信息都是加密存儲在Cisco ACS系統(tǒng)內(nèi)置的數(shù)據(jù)庫中,管理員是無法看到用戶的明文口令的。針對這個問題,本文采用VBScript語言編寫自動登錄腳本,模擬用戶登錄業(yè)務系統(tǒng)的認證過程,將所有用戶逐個與我們定義的弱口令進行配對檢測,根據(jù)登錄成功與否來判斷用戶是否為弱口令用戶。整個檢測流程如圖1所示。
下面將對圖1所示流程模塊的實現(xiàn)進行介紹(“//”代表注釋)。
1.創(chuàng)建并初始化相關(guān)對象和變量。
2.調(diào)用IE,自動輸入用戶登錄頁面的URL。
3.由于ACS系統(tǒng)是采用https協(xié)議,會彈出警示頁面,需要點擊“繼續(xù)瀏覽此網(wǎng)站(不推薦)”才能進入登錄界面。如果采用的是http協(xié)議,就不需要這一步。
4.依次讀取用戶和對應的弱口令,進行實際的檢測工作;其中用戶名利用userinfoArray這個數(shù)組來存儲。
圖2 用戶登錄界面
圖3 用戶登錄成功界面
圖4 用戶登錄失敗界面
//搜索網(wǎng)頁中是否存在對應的關(guān)鍵字,判斷是否登錄成功;如果存在關(guān)鍵字,表明用戶已經(jīng)成功登錄,那么該用戶就是弱口令用戶;否則就不是弱口令用戶。
如果滿足上述條件,則可以將該用戶標記為弱口令用戶,然后將弱口令用戶寫入WeakUser.txt文件;否則繼續(xù)進行下個用戶檢測,直到所有用戶檢測完畢。
下面將結(jié)合實際案例進行展示。由于Cisco ACS系統(tǒng)有一個頁面供用戶修改密碼,而且修改密碼之前必須先使用用戶名和口令登錄,頁面布局也比較簡單,比較容易抓取網(wǎng)頁的數(shù)據(jù),所以我們選擇這個頁面來進行弱口令用戶檢測。首先我們需要將業(yè)務系統(tǒng)的用戶導出到對應的文本文件中,每行一個用戶;接著定義弱口令,這里可以靈活設(shè)置,如果安全要求較高,可以利用口令生成器按照一定規(guī)則來生成弱口令集,反之,可以手動填充弱口令集。由于管理員在創(chuàng)建本業(yè)務系統(tǒng)用戶時設(shè)置的默認口令統(tǒng)一為56781234,而大多數(shù)弱口令用戶都是沒有修改默認口令,所以本文設(shè)置的弱口令就為56781234。完成這些工作后,就可以雙擊運行自動檢測程序,我們就可以安心去干其他工作了。程序運行后,效果如圖2-5所示。
通過實際測試,檢測一個用戶大概需要3~5秒的時間,速度比較令人滿意,即使是數(shù)百個用戶的規(guī)模,也能在一小時內(nèi)完成檢測工作;而且檢測完成后會生成一份如圖5所示的弱口令用戶名單,根據(jù)這份名單,我們就可以定位到用戶本人,然后通過郵件或者其他方式提示用戶及時修改弱口令。
圖5 檢測后生成的弱口令用戶名單
本文介紹了一套簡便、輕量級的弱口令用戶檢測方案。這套檢測方案在企業(yè)應用后,收到了良好的效果,每季度檢測一次,讓系統(tǒng)管理人員做到了對弱口令用戶心中有數(shù),及時跟蹤并督促,極大地提高了企業(yè)的運維管理能力。本文介紹的方案只是針對某個應用系統(tǒng)用戶的檢測,其實對于其他應用系統(tǒng),檢測思路和框架完全一致,只是在某些模塊的具體實現(xiàn)方面會略有差異,所以能夠比較容易地移植到其他應用系統(tǒng)上。自動化是IT運維管理未來的趨勢,本方案的實施是運維自動化方面的一次有益嘗試,相信對其他企業(yè)也有很好的借鑒效果。