婁 峰,韓 超
(中國(guó)民航信息網(wǎng)絡(luò)股份有限公司 運(yùn)行中心,北京 101318)
在企業(yè)數(shù)據(jù)中心的日常運(yùn)行與維護(hù)(簡(jiǎn)稱(chēng):運(yùn)維)中,操作系統(tǒng)賬號(hào)的管理是保障系統(tǒng)安全運(yùn)行的重要手段,同時(shí)信息系統(tǒng)等級(jí)保護(hù)各級(jí)要求都對(duì)系統(tǒng)賬號(hào)管理提出了要求[1]。文獻(xiàn)[2-4]通過(guò)對(duì)信息系統(tǒng)主機(jī)安全等級(jí)保護(hù)測(cè)評(píng)方法的分析研究,明確了從用戶(hù)身份認(rèn)證、訪問(wèn)控制、數(shù)據(jù)加密、容錯(cuò)能力、日志審計(jì)等方面需要改進(jìn)的方向。因此,用戶(hù)管理系統(tǒng)的穩(wěn)定性和可用性會(huì)直接影響到運(yùn)維人員日常的維護(hù)變更及故障的應(yīng)急處理。對(duì)于數(shù)據(jù)中心主機(jī)系統(tǒng)的管理,現(xiàn)有商業(yè)用戶(hù)管理系統(tǒng)無(wú)法滿(mǎn)足對(duì)于特定運(yùn)維模式下的某些個(gè)性化需求。此外,現(xiàn)有商業(yè)用戶(hù)管理系統(tǒng)的采購(gòu)和使用成本巨大,后期仍需大量持續(xù)投資。針對(duì)以上情況,基于文獻(xiàn)[1-2],以及對(duì)國(guó)內(nèi)外市場(chǎng)上已有產(chǎn)品的調(diào)研、對(duì)企業(yè)內(nèi)實(shí)際運(yùn)維需求的分析,本文自主設(shè)計(jì)并實(shí)現(xiàn)了數(shù)據(jù)中心用戶(hù)管理系統(tǒng),以滿(mǎn)足信息安全等級(jí)保護(hù)要求,并為企業(yè)信息系統(tǒng)提供安全保障。
數(shù)據(jù)中心用戶(hù)管理系統(tǒng)基于系統(tǒng)賬號(hào)生命周期管理理念設(shè)計(jì),如圖1所示。

圖1 賬號(hào)生命周期管理
數(shù)據(jù)中心用戶(hù)管理系統(tǒng)的設(shè)計(jì)原則主要包括以下幾個(gè)方面。
(1)運(yùn)維需求:系統(tǒng)的設(shè)計(jì)要基于實(shí)際運(yùn)維中的用戶(hù)管理需求,保證系統(tǒng)的適用性,讓系統(tǒng)真正服務(wù)于運(yùn)維工作。
(2) 等保合規(guī)要求:系統(tǒng)的設(shè)計(jì)要符合信息系統(tǒng)等級(jí)保護(hù)相關(guān)的合規(guī)要求。
(3)用戶(hù)管理規(guī)定:系統(tǒng)的設(shè)計(jì)要符合運(yùn)維部門(mén)現(xiàn)有的系統(tǒng)用戶(hù)管理規(guī)定,系統(tǒng)的建設(shè)是為了使規(guī)定更好得落地、執(zhí)行。
數(shù)據(jù)中心用戶(hù)管理系統(tǒng)的總體架構(gòu),如圖2所示。

圖2 系統(tǒng)總體架構(gòu)
應(yīng)用層主要基于Java服務(wù)器頁(yè)面(JSP,Java Server Pages)、 jQuery、 Hibernate開(kāi) 發(fā) ; 處 理 層主要處理前臺(tái)請(qǐng)求對(duì)系統(tǒng)賬號(hào)的具體操作,包括消息隊(duì)列、JMS消費(fèi)者、業(yè)務(wù)邏輯、多種系統(tǒng)適配器等部分;數(shù)據(jù)庫(kù)層采用開(kāi)源的MySQL數(shù)據(jù)庫(kù)。
用戶(hù)管理系統(tǒng)在設(shè)計(jì)過(guò)程中,結(jié)合業(yè)務(wù)特點(diǎn),采用基于Spring Cloud 的微服務(wù)架構(gòu)開(kāi)發(fā)系統(tǒng),并在此基礎(chǔ)上進(jìn)行封裝。Spring Cloud 是一個(gè)基于 Spring Boot 實(shí)現(xiàn)的微服務(wù)架構(gòu)開(kāi)發(fā)工具。它為微服務(wù)架構(gòu)中涉及的配置管理、服務(wù)治理、斷路器、智能路由、微代理、控制總線、全局鎖、決策競(jìng)選、分布式會(huì)話(huà)和集群狀態(tài)管理等操作提供了一種簡(jiǎn)單的開(kāi)發(fā)方式。通過(guò)開(kāi)放式微服務(wù)體系可以將不同設(shè)備對(duì)接、不同業(yè)務(wù)系統(tǒng)對(duì)接、不同軟件對(duì)接的單體功能模塊,細(xì)分為多個(gè)開(kāi)放的小功能模塊服務(wù),服務(wù)獨(dú)立部署在不同的進(jìn)程中,不同服務(wù)通過(guò)一些輕量級(jí)交互機(jī)制來(lái)通信,從而滿(mǎn)足業(yè)務(wù)體系的高擴(kuò)展性技術(shù)要求,實(shí)現(xiàn)資源的最大限度利用。
對(duì)象關(guān)系映射(ORM,Object Relational Mapping)是一種將關(guān)系型數(shù)據(jù)庫(kù)映射到面向?qū)ο缶幊陶Z(yǔ)言中的技術(shù)。使用ORM技術(shù),開(kāi)發(fā)人員可以不必編寫(xiě)具體的結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL,Structured Query Language)語(yǔ)句及數(shù)據(jù)類(lèi)型轉(zhuǎn)換代碼,即可輕松操作數(shù)據(jù)庫(kù)。Java持久層應(yīng)用(JPA,Java Persistence API)是由Java EE提供的一套實(shí)現(xiàn)ORM規(guī)范的接口。Spring Data JPA則是由Spring提供的針對(duì)JPA接口的實(shí)現(xiàn)方式,并可方便地與Spring Boot框架組合使用。因此,本系統(tǒng)采用 Spring Data JPA 框架作為ORM工具進(jìn)行開(kāi)發(fā),可以有效地簡(jiǎn)化開(kāi)發(fā)工作,縮短項(xiàng)目周期。
在用戶(hù)管理系統(tǒng)與服務(wù)器或者其他平臺(tái)進(jìn)行交互時(shí),必須等待服務(wù)對(duì)象完成處理返回結(jié)果才能繼續(xù)執(zhí)行,這將嚴(yán)重影響用戶(hù)管理系統(tǒng)的并發(fā)性能,因此在系統(tǒng)設(shè)計(jì)時(shí)引入了消息中間件ActiveMQ。
在進(jìn)行用戶(hù)管理系統(tǒng)的需求收集時(shí),基于文獻(xiàn)[5-7]收集通用需求,結(jié)合運(yùn)維工作實(shí)際情況,提出以下功能需求。
(1)用戶(hù)主目錄策略:在每個(gè)主機(jī)系統(tǒng)中單獨(dú)劃出一個(gè)文件系統(tǒng),專(zhuān)門(mén)用來(lái)存放所有用戶(hù)的主目錄及相關(guān)文件。
(2)用戶(hù)分類(lèi)策略:根據(jù)主機(jī)系統(tǒng)用戶(hù)的屬性或用途進(jìn)行分類(lèi),并對(duì)每類(lèi)用戶(hù)采取不同安全管理策略。
(3)用戶(hù)分組策略:根據(jù)用戶(hù)的部門(mén)或用戶(hù)之間相同的特性,把用戶(hù)分在一組,同組的用戶(hù)可實(shí)現(xiàn)組內(nèi)資源共享,便于對(duì)系統(tǒng)日常維護(hù)的管理。
(4)統(tǒng)一用戶(hù)組命名策略:在各個(gè)主機(jī)系統(tǒng)中應(yīng)采用統(tǒng)一的命名來(lái)建立用戶(hù)組。
(5)統(tǒng)一用戶(hù)命名策略:在各個(gè)主機(jī)系統(tǒng)中對(duì)應(yīng)同一個(gè)運(yùn)維人員的系統(tǒng)用戶(hù)的命名應(yīng)該統(tǒng)一,以此將系統(tǒng)用戶(hù)與實(shí)際人員做唯一對(duì)應(yīng),為用戶(hù)制定相應(yīng)的命名規(guī)則。
(6)用戶(hù)口令策略:對(duì)主機(jī)系統(tǒng)用戶(hù)的口令要制定高強(qiáng)度的密碼策略。
(7)用戶(hù)系統(tǒng)登錄策略:考慮系統(tǒng)用戶(hù)遠(yuǎn)程訪問(wèn)服務(wù)器的安全性,采用安全的遠(yuǎn)程訪問(wèn)方式,并采取必要的登錄失敗處理措施,限制失敗登錄次數(shù)。
(8)管理用戶(hù)使用策略:限制管理用戶(hù)的直接系統(tǒng)登錄權(quán)限,盡可能減少管理用戶(hù)的發(fā)放,控制管理用戶(hù)的用戶(hù)數(shù),對(duì)管理用戶(hù)的使用要制定嚴(yán)格的審批流程和使用規(guī)范,防止系統(tǒng)特權(quán)擴(kuò)散[8-9],保證系統(tǒng)安全,便于管理。
(9)系統(tǒng)用戶(hù)安全審計(jì):針對(duì)等級(jí)保護(hù)二級(jí)及二級(jí)以上系統(tǒng),要求對(duì)每個(gè)主機(jī)系統(tǒng)的用戶(hù)進(jìn)行安全審計(jì),審計(jì)內(nèi)容應(yīng)包括重要用戶(hù)行為、系統(tǒng)資源的異常使用和重要系統(tǒng)命令的使用等系統(tǒng)內(nèi)重要的安全相關(guān)事件。
(10)系統(tǒng)用戶(hù)登錄認(rèn)證:針對(duì)等級(jí)保護(hù)三級(jí)及三級(jí)以上系統(tǒng),要求對(duì)主機(jī)系統(tǒng)用戶(hù)的登錄認(rèn)證過(guò)程,采用兩種或兩種以上組合的鑒別技術(shù)進(jìn)行身份鑒別。
數(shù)據(jù)中心用戶(hù)管理系統(tǒng)的主要功能模塊包括人員管理模塊、賬號(hào)管理模塊、資源管理模塊、策略模塊、基礎(chǔ)服務(wù)模塊、外部服務(wù)模塊和審計(jì)模塊,如圖3所示。

圖3 功能邏輯架構(gòu)
3.2.1 人員管理模塊
基于對(duì)各資源服務(wù)器中賬號(hào)的歸屬進(jìn)行規(guī)范化管理,在系統(tǒng)設(shè)計(jì)過(guò)程中引入人員管理模塊。該模塊中核心功能是對(duì)賬號(hào)擁有者即具體運(yùn)維人員信息的維護(hù)和管理,主要包括功能人員基礎(chǔ)信息管理、關(guān)聯(lián)賬號(hào)的別名信息管理,以及涉及供應(yīng)策略的別名組信息管理。人員管理模塊不僅涵蓋運(yùn)維人員的基礎(chǔ)信息維護(hù)功能,也可以操作對(duì)應(yīng)人員擁有的賬號(hào)。在使用過(guò)程中,創(chuàng)建人員基礎(chǔ)信息,綁定對(duì)應(yīng)別名信息,完成基礎(chǔ)信息錄入后,提交在指定資源中創(chuàng)建人員賬號(hào)的請(qǐng)求,后臺(tái)接收到請(qǐng)求消息后自動(dòng)進(jìn)行賬號(hào)創(chuàng)建操作。針對(duì)人員擁有的賬號(hào),可修改賬號(hào)密碼、鎖定賬號(hào)、解鎖賬號(hào)等。同時(shí),管理批量創(chuàng)建賬號(hào)處理策略的別名組,維護(hù)別名組中包含的別名信息。在此基礎(chǔ)上也可對(duì)人員擁有賬號(hào)的合規(guī)性進(jìn)行自動(dòng)化檢測(cè),計(jì)算出供應(yīng)策略控制下多建、少建的賬號(hào)列表,并且根據(jù)需要對(duì)多余或缺失賬號(hào)進(jìn)行相應(yīng)處理。
3.2.2 賬號(hào)管理模塊
該模塊核心功能就是進(jìn)行各資源賬號(hào)執(zhí)行創(chuàng)建申請(qǐng)和孤立賬號(hào)的統(tǒng)一管理。通過(guò)請(qǐng)求賬號(hào)的入口,可以指定資源、人員、別名等創(chuàng)建合規(guī)的賬號(hào)信息,模塊中還可以管理各資源中已存在的賬號(hào)組信息,即賬號(hào)關(guān)聯(lián)的主組、附屬組。在孤立賬號(hào)管理頁(yè)面中,可對(duì)未綁定人員的賬號(hào)進(jìn)行歸屬分配操作,也可對(duì)未使用或多余的孤立賬號(hào)進(jìn)行刪除操作。
3.2.3 資源管理模塊
該模塊主要是針對(duì)各資源IP、資源類(lèi)型(操作系統(tǒng)、數(shù)據(jù)庫(kù))、系統(tǒng)類(lèi)型(操作系統(tǒng)如LINUX、AIX、 SUNOS、 HP-UX等 , 數(shù) 據(jù) 庫(kù) 如 Oracle、MySQL、達(dá)夢(mèng)、EDB等)、狀態(tài)、組織結(jié)構(gòu)、適配器、關(guān)聯(lián)策略等的信息維護(hù)入口,作為整個(gè)應(yīng)用的核心模塊,資源管理模塊中可以查看數(shù)據(jù)中心用戶(hù)管理系統(tǒng)已接管的所有資源信息。該模塊主要分為資源信息管理、資源組管理、適配器管理。資源組是涉及批量創(chuàng)建賬號(hào)處理策略時(shí)定義的組概念,用于關(guān)聯(lián)策略中的資源和別名關(guān)系。適配器管理實(shí)際是針對(duì)各資源的連接方式進(jìn)行管理,定義登錄認(rèn)證方式,如用戶(hù)名、密碼或公鑰、私鑰進(jìn)行資源連接。操作流程方面,在輸入已接管的資源信息后,后臺(tái)將定時(shí)利用指定的適配器信息去連接相應(yīng)資源,自動(dòng)獲取資源上已存在的賬號(hào)信息,完成實(shí)際資源和系統(tǒng)數(shù)據(jù)庫(kù)賬號(hào)信息的同步。在資源列表頁(yè)面,可以查看各資源的主要信息,同時(shí),可進(jìn)行刪除資源、修改資源、資源連接狀態(tài)檢查、資源賬號(hào)同步的基礎(chǔ)操作。針對(duì)具體資源,也能夠查看該資源中所有賬號(hào)信息,并對(duì)賬號(hào)進(jìn)行基礎(chǔ)的維護(hù)管理。
3.2.4 策略模塊
該模塊功能包含供應(yīng)策略、密碼策略和協(xié)調(diào)策略。策略始于用戶(hù)需求,是為方便用戶(hù)提供的快捷服務(wù)模塊,直觀理解可認(rèn)為是批處理和自動(dòng)化處理的配置支撐,用于定義業(yè)務(wù)所需的具體規(guī)則內(nèi)容。(1)供應(yīng)策略主要功能是在批量創(chuàng)建賬號(hào)時(shí)定義規(guī)則,每一個(gè)供應(yīng)策略會(huì)定義資源組和別名組的對(duì)應(yīng)關(guān)系,資源組中包含資源成員,別名組中包含別名成員。供應(yīng)策略實(shí)現(xiàn)了資源和別名的關(guān)聯(lián)規(guī)則配置,當(dāng)資源組和別名組中成員增加時(shí),將觸發(fā)批量賬號(hào)創(chuàng)建操作,自動(dòng)將供應(yīng)策略中涉及的別名在相關(guān)資源中創(chuàng)建。(2)密碼策略約定各賬號(hào)登錄密碼的規(guī)則,指定大小寫(xiě)、數(shù)字、特殊字符、長(zhǎng)度等內(nèi)容,各賬號(hào)的密碼設(shè)置都應(yīng)符合密碼策略定義規(guī)則的要求。(3)協(xié)調(diào)策略是資源賬號(hào)同步過(guò)程中調(diào)度頻率的規(guī)范,不同資源可以指定使用不同的協(xié)調(diào)策略,資源關(guān)聯(lián)對(duì)應(yīng)協(xié)調(diào)策略后,后臺(tái)將自動(dòng)按照該協(xié)調(diào)策略定義的調(diào)度規(guī)則進(jìn)行定時(shí)資源狀態(tài)、賬號(hào)信息同步。
3.2.5 基礎(chǔ)服務(wù)模塊
該模塊是數(shù)據(jù)中心用戶(hù)管理系統(tǒng)運(yùn)行的配置管理模塊,其中,包含系統(tǒng)業(yè)務(wù)中涉及的固定信息和接管賬號(hào)范圍的配置。例如,數(shù)據(jù)在線保留的天數(shù)、郵件服務(wù)器信息、賬號(hào)管理范圍、角色管理范圍、請(qǐng)求消息發(fā)送配置等。該模塊的配置內(nèi)容是系統(tǒng)運(yùn)行過(guò)程中的基礎(chǔ)配置信息,為系統(tǒng)穩(wěn)定運(yùn)行提供數(shù)據(jù)支持。當(dāng)對(duì)配置模塊中相關(guān)內(nèi)容進(jìn)行修改操作后,系統(tǒng)業(yè)務(wù)將實(shí)時(shí)同步獲取到最新的配置信息,以當(dāng)前數(shù)據(jù)為基礎(chǔ)進(jìn)行相關(guān)業(yè)務(wù)流轉(zhuǎn)。
3.2.6 外部服務(wù)模塊
外部服務(wù)模塊即請(qǐng)求管理模塊,該模塊是針對(duì)所有資源、人員、賬號(hào)相關(guān)操作請(qǐng)求的數(shù)據(jù)記錄,在系統(tǒng)中執(zhí)行涉及核心對(duì)象的操作都有對(duì)應(yīng)具體的記錄。例如,創(chuàng)建資源時(shí)生成創(chuàng)建資源的相關(guān)信息,如資源IP、資源類(lèi)型、適配器信息、請(qǐng)求人員、創(chuàng)建時(shí)間、執(zhí)行結(jié)果等,修改賬號(hào)密碼操作時(shí)對(duì)應(yīng)請(qǐng)求信息有賬號(hào)名稱(chēng)、資源信息、密碼信息、修改時(shí)間、執(zhí)行結(jié)果等。請(qǐng)求管理中基本涵蓋系統(tǒng)中所有操作的數(shù)據(jù)記錄,是對(duì)系統(tǒng)和用戶(hù)行為的數(shù)據(jù)備份,通過(guò)請(qǐng)求管理,可追蹤各操作的具體執(zhí)行情況和處理結(jié)果。
3.2.7 審計(jì)模塊
該模塊可針對(duì)人員、資源、賬號(hào)三者間規(guī)范進(jìn)行不定期審計(jì)操作。審計(jì)人員通過(guò)該模塊可完成白名單管理、審計(jì)批次管理、查看審計(jì)結(jié)果、審計(jì)信息統(tǒng)計(jì)等。用戶(hù)需要定義審計(jì)白名單排除無(wú)須參加審計(jì)人員名單,在創(chuàng)建新一批次審計(jì)任務(wù)時(shí),指定起始時(shí)間、審計(jì)賬號(hào)類(lèi)型。當(dāng)啟動(dòng)該審計(jì)流程后,后臺(tái)自動(dòng)將通知郵件發(fā)送給各部門(mén)負(fù)責(zé)審計(jì)人員,審計(jì)人員即可登錄系統(tǒng)查看本部門(mén)內(nèi)需要審計(jì)的人員賬號(hào)列表。審計(jì)人員需要對(duì)被審計(jì)賬號(hào)的狀態(tài)進(jìn)行標(biāo)識(shí)(刪除、鎖定、保留),完成部門(mén)內(nèi)所有賬號(hào)狀態(tài)審計(jì)確認(rèn)。審計(jì)管理者將按照審計(jì)賬號(hào)標(biāo)識(shí)狀態(tài)進(jìn)行最終處理。在整個(gè)審計(jì)過(guò)程中,可隨時(shí)查看審計(jì)批次中各賬號(hào)審計(jì)結(jié)果和審計(jì)信息統(tǒng)計(jì)。
數(shù)據(jù)中心用戶(hù)管理系統(tǒng)適用范圍比較廣,融合性高,實(shí)現(xiàn)了對(duì)數(shù)據(jù)中心內(nèi)約 5 000 臺(tái)服務(wù)器、70萬(wàn)個(gè)系統(tǒng)賬號(hào)的統(tǒng)一納管,對(duì)各類(lèi)系統(tǒng)賬號(hào)從創(chuàng)建、使用、變更到注銷(xiāo)的全生命周期進(jìn)行管理,可以納管多種操作系統(tǒng)(支持管理LINUX、AIX、SUNOS、HP-UX等多類(lèi)型操作系統(tǒng))、多種數(shù)據(jù)庫(kù)類(lèi)型的資源(Oracle、MySQL、達(dá)夢(mèng)、EDB等多類(lèi)型數(shù)據(jù)庫(kù));多種策略配置,符合等級(jí)保護(hù)要求;基于等級(jí)保護(hù)要求指導(dǎo)及運(yùn)維部門(mén)實(shí)際工作需求,將全部納管的用戶(hù)密碼實(shí)行動(dòng)態(tài)調(diào)整的功能設(shè)計(jì),根據(jù)密碼資源策略的配置進(jìn)行動(dòng)態(tài)密碼修改,從而進(jìn)一步提高信息保密的安全等級(jí);賬號(hào)審計(jì)、規(guī)范化管理;支持隨時(shí)對(duì)部門(mén)賬號(hào)進(jìn)行審計(jì),及時(shí)掌握賬號(hào)分配信息,規(guī)范賬號(hào)使用情況,方便各部門(mén)及時(shí)進(jìn)行賬號(hào)自查。
商業(yè)用戶(hù)管理系統(tǒng)與數(shù)據(jù)中心用戶(hù)管理系統(tǒng)主要功能的對(duì)比如圖4所示??梢钥闯觯瑪?shù)據(jù)中心用戶(hù)管理系統(tǒng)在實(shí)現(xiàn)原商業(yè)用戶(hù)管理系統(tǒng)全部使用中的功能外,在別名組管理、資源組管理、協(xié)調(diào)策略、Group管理、適配器管理、超時(shí)時(shí)間配置等功能方面彌補(bǔ)了商業(yè)用戶(hù)管理系統(tǒng)的不足,可以更好地支持日常用戶(hù)管理運(yùn)維工作。

圖4 兩種系統(tǒng)主要功能對(duì)比
數(shù)據(jù)中心用戶(hù)管理系統(tǒng)投產(chǎn)至今,極大地方便了運(yùn)維人員對(duì)系統(tǒng)賬號(hào)的日常管理工作。從人員維度角度,用戶(hù)組功能模塊減輕了運(yùn)維人員分配賬號(hào)時(shí)的重復(fù)工作;從賬號(hào)維度角度,用戶(hù)別名模塊讓新申請(qǐng)的賬號(hào)格式更加整齊合規(guī),易于整理和查找;從資源維度角度,設(shè)備資源以圖表形式呈現(xiàn)給運(yùn)維人員,減輕了閱讀壓力,使數(shù)據(jù)更加直觀、易讀。
本文在綜合分析等級(jí)保護(hù)要求的基礎(chǔ)上,結(jié)合運(yùn)維部門(mén)的實(shí)際情況,秉承滿(mǎn)足要求、減少投入、方便使用的原則,設(shè)計(jì)并實(shí)現(xiàn)了數(shù)據(jù)中心用戶(hù)管理系統(tǒng)。該系統(tǒng)已在相關(guān)運(yùn)維部門(mén)投入使用,為企業(yè)信息系統(tǒng)提供了更高標(biāo)準(zhǔn)的安全保障,也為信息安全工作的全面開(kāi)展提供了可選產(chǎn)品及解決方案。