劉翠媚 李文祺 尹婕 劉可欣
摘要:采用.Net WinForm等技術制作一款工具,不僅可以批量把域賬號從安全組刪除,而且還可以批量修改域賬號的基本屬性。當前批量處理域賬號基本使用cmd腳本,人機交互界面并不友好,通過對域控事務自動批量處理工具的研究,域控使用人員在處理域控賬號時減少了人工操作時間,減少了人為失誤,提高了效率,實現(xiàn)了賬號安全、權限安全以及數(shù)據(jù)安全。
關鍵詞:域控;批量;.Net;WinForm;權限安全
1? ? 研究背景
如今大型企業(yè)接入局域網(wǎng)的辦公終端數(shù)量級都以千為統(tǒng)計單位,為了實現(xiàn)統(tǒng)一管理,基本都是通過域控來實現(xiàn)計算機命名規(guī)范、組策略控制屏保、計算機安全選項、賬號啟禁用等功能。
此外,文件共享服務器的權限控制也與域控息息相關。在日常運維中發(fā)現(xiàn)的問題主要包括以下幾個方面:
(1)通過在域控里對應的VPN資源安全組添加用戶賬號,使得用戶賬號擁有訪問該VPN資源的訪問權限,但用戶賬號加入安全組后不能設置時效,導致該用戶賬號一直擁有訪問該VPN資源的權限。
(2)用戶只能使用UK登錄計算機,而域賬號的賬號密碼則由信息管理部門統(tǒng)一回收保管。當UK損壞或遺失,才開放賬號密碼登錄計算機。但賬號密碼的回收以及密碼的重置都需要人工操作。
(3)由于用戶會出現(xiàn)調(diào)職的情況,調(diào)職后,用戶需要加入新的安全組才能訪問對應的共享文件夾。實際情況是,人工操作經(jīng)常只會把需要加入的安全組添加了,但卻忘記將不需要的安全組刪除,那么用戶所在的安全組就會一直增加,可訪問的共享文件夾也一直遞增,不符合數(shù)據(jù)安全的要求。
(4)大型企業(yè)人員調(diào)動頻繁,域控中用戶的崗位、聯(lián)系方式、備注描述等基本屬性需要維護,數(shù)量單一時人工操作比較容易,但數(shù)量一旦上百,這些基本屬性的維護工作量就要耗費大量的人力和時間。
(5)微軟自帶一個域控的圖形化頁面管理工具,但該工具只能對某一賬號或者某一計算機記錄進行屬性修改,即使有批量修改的功能,但范圍具有局限性,并不能根據(jù)實際運維進行批量修改。
(6)cmd腳本能夠批量修改用戶賬號或者計算機組織架構(gòu)、基本屬性,但每次操作都需要將用戶賬號或者計算機特異名以及特定腳本結(jié)合起來才能實現(xiàn)某一需求。雖然這個腳本實現(xiàn)的方法比自帶工具快,但是每次操作都要進行數(shù)據(jù)整理,且界面不友好,對不熟悉域控cmd腳本的管理人員整理域控賬號是一大難題。
因此,研究一個自動、批量處理域控用戶賬號、計算機賬號、安全組人員的工具具有較強的實用性和高可靠性,兼具高效率和推廣價值。
通過后臺封裝固化域控腳本功能,域控管理人員能夠通過功能模塊實現(xiàn)批量處理域控事務,即使是剛接手域控的管理人員也能完成基本的運維工作。
2? ? 工具研究與實現(xiàn)
2.1? ? 實現(xiàn)思路
(1)首先要保證該工具的使用安全性。由于該工具在處理域賬號及計算機賬號時能夠批量操作,當發(fā)生人為失誤的時候,對企業(yè)局域網(wǎng)內(nèi)的終端影響很大,容易發(fā)生信息安全事故。因此,該工具前臺需設置賬號密碼登錄進行用戶識別。
(2)由于普通用戶的終端無權限對域控數(shù)據(jù)進行操作,因此,該工具需認證登錄域控服務器,從而對域控用戶賬號以及計算機賬號進行修改。
(3)每次操作后都可以確認執(zhí)行結(jié)果以及提供操作日志查詢,即使誤操作也可以被及時發(fā)現(xiàn)并恢復原狀。
2.2? ? VPN資源安全組人員的添加與刪除功能的實現(xiàn)
該功能最關鍵的是時間,根據(jù)實際運維,操作為delete需在特定時間點定時執(zhí)行,且當操作delete有對同一用戶、同一資源組操作的,以時間最新的覆蓋時間舊的;add操作則是立即執(zhí)行。核心代碼如下:
if (item.Operate == "delete")
lstCmds.Add(string.Format(tsTemplate,"task_"+item.SAMAccount,item.SAMAccount,item.VPNGroup,"rmmbr",item.TaskDateTime.Value.ToString("yyyy/MM/dd"),item.TaskDate-
Time.Value.ToString("HH:mm")));
else if (item.Operate == "add")
lstCmds.Add(string.Format(tsTemplate,"task_"+item.SAMAccount,item.SAMAccount,item.VPNGroup,"addmbr",item.TaskDateTime.Value.ToString("yyyy/MM/dd"),item.TaskDate-
Time.Value.ToString("HH:mm")));
2.3? ? 修改基本屬性功能的實現(xiàn)
修改密碼和修改描述這兩個功能,都需提供修改框給操作員填寫對應需修改的密碼和描述。這兩個修改功能使用dsmod user的腳本,分別對應的參數(shù)是desc和pwd。核心代碼如下:
if (method == Models.BWMethod.DRModifyPWD)
{foreach (var item in list){lstCmds.Add(string.Format("dsmod user \"{0}\" -pwd {1}",item.UniqueName, txtUpdate-
Content.Text.Trim()));
CommandTemplates.Add(string.Format("dsmoduser\"{0}\
"-pwd{{0}}",item.UniqueName));}}
2.4? ? 刪除不屬于用戶安全組功能的實現(xiàn)
分別制作白名單表、組織架構(gòu)與安全組對應表,利用程序進行判斷,當用戶含有的安全組不屬于對應表里相對的組織
架構(gòu),則把該安全組刪除。當用戶含有的安全組屬于白名單里的,則自動保留。核心代碼如下:
lstMapping.Clear(); lstBelongsTo.Clear();
var item = grp.First();
If(item.Item.OrganizationName==null||item.Item.OrganizationName.Trim()==""||item.Item.BelongsTo==null||item.Item.BelongsTo.Trim()=="") continue;
lstMapping.AddRange(grp.Select(i=>i.Mapping.MappingTo.Trim()).Distinct());
foreach (var str in item.Item.BelongsTo.Split(';'))
{if (str.Trim() == "") continue;
lstBelongsTo.Add(str.Trim());}
3? ? 工具應用效益分析
當實驗對象為50名用戶時,實驗結(jié)果如表1所示。
從表1可以看出,修改用戶密碼以及確認用戶隸屬安全組是否存在冗余這兩個操作上,使用工具比人工操作所用時間減少約60%以及80%,極大地提高了工作效率。
4? ? 結(jié)語
隨著科技的日益發(fā)展,計算機信息技術對于企業(yè)的影響力日益增強,電力企業(yè)的信息安全與否直接影響到電力企業(yè)的經(jīng)濟效益,有效的信息運維輔助工具能夠提高系統(tǒng)管理員的操作簡易性,讓信息運維人員有更多的精力投入到智能電網(wǎng)的開發(fā)中。通過對域控事務自動批量處理工具的研究,域控使用人員在處理域控賬號時可以減少人工操作的時間,減少人為失誤,實現(xiàn)賬號安全、權限安全以及數(shù)據(jù)安全,提高工作效率和質(zhì)量,對企業(yè)信息安全建設起到了一定的促進作用。
[參考文獻]
[1] 狄伯豪.AD域控管理在集團性企業(yè)的應用[J].硅谷,2015(2):88.
收稿日期:2019-10-23
作者簡介:劉翠媚(1990—),女,廣東江門人,工程師,研究方向:信息運維智能化。