■ 江蘇 朱賢斌
隨著網絡技術的發展,網絡攻擊愈演愈烈,針對服務器的攻擊事件也層出不窮。云計算環境中基本都使用了虛擬化技術,通過物理資源創建虛擬資源池,再創建虛擬服務器(虛機)。虛機可以等同于物理服務器,其中一個優點就是可以使用統一的模版進行部署,也就是將一臺安裝了原始系統的虛機經過安全加固、漏洞修復和補丁升級后,用于云計算環境中。本文研究并定制一個符合等級保護三級要求的虛機。

等級保護2.0標準(簡稱“等保2.0”)于2019年12月1日正式實施。相較于1.0,等保2.0主要的變化如下。
一是調整了分類,新標準分為安全技術要求和安全管理要求兩大類。其中安全技術要求又分為安全物理環境、安全通信網絡、安全區域邊界、安全計算環境和安全管理中心;安全管理要求又分為安全管理制度、安全管理機構、安全管理人員、安全建設管理和安全運維管理。
二是調整各個級別的安全要求為安全通用要求、云計算安全擴展要求、移動互聯安全擴展要求、物聯網安全擴展要求和工業控制系統擴展要求。也就是在通用要求的基礎上,對云計算、移動互聯網、物聯網和工控系統四個場景提出了更高的安全要求。
本文主要研究在云計算環境下,怎樣做好安全計算環境的要求。
參照《信息安全技術 信息系統安全等級保護定級指南》(GB/T 22240-2008),根據云計算中心的業務信息安全和系統服務安全遭到破壞時所侵害的客體和對客體的侵害程度考量,云計算中心保護等級肯定是三級以上。
所以本文重點研究安全計算環境第三級安全要求。
安全計算環境的通用要求有:身份鑒別、訪問控制、安全審計、可信驗證、入侵防范、惡意代碼防范、數據完整性、數據保密性、數據備份恢復、剩余信息保護和個人信息保護。云計算安全擴展要求新增了鏡像和快照保護,具體如下。
(1)應對登錄的用戶進行身份標識和鑒別。身份標識具有唯一性,身份鑒別信息具有復雜度要求并定期進行更換。
(2)應具有登錄失敗處理功能,應配置并啟用結束會話,限制非法登錄次數和當登錄連接超時自動退出等相關措施。
(3)當進行遠程管理時,應采取必要措施防止鑒別信息在網絡傳輸過程中被竊聽。
(4)應采用口令、密碼技術、生物技術等兩種或兩種以上組合的鑒別技術對用戶進行身份鑒別,且其中一種鑒別技術至少應使用密碼技術來實現。
云計算安全擴展要求:當遠程管理云計算平臺中設備時,管理終端和云計算平臺之間應建立雙向身份驗證機制。
(1)應對登錄的用戶分配賬戶和權限。
(2)應重命名或刪除默認賬戶,修改默認賬戶的默認口令。
(3)應及時刪除或停用多余的、過期的賬戶,避免共享賬戶的存在。
(4)應授予管理用戶所需的最小權限,實現管理用戶的權限分離。
(5)應由授權主體配置訪問控制策略,訪問控制策略規定主體對客體的訪問規則。
(6)訪問控制的粒度應達到主體為用戶級或進程級,客體為文件、數據庫表級。
(7)應對重要主體和客體設置安全標記,并控制主體對有安全標記信息資源的訪問。
云計算安全擴展要求:
(1)應保證當虛擬機遷移時,訪問控制策略隨其遷移。
(2)應允許云服務客戶設置不同虛擬機之間的訪問控制策略。
(1)應啟用安全審計功能,審計覆蓋到每個用戶,對重要的用戶行為和重要安全事件進行審計。
(2)審計記錄應包括事件的H期和時間、用戶、事件類型、事件是否成功及其他與審計相關的信息。
(3)應對審計記錄進行保護和定期備份,避免受未預期的刪除、修改或覆蓋等。
(4)應對審計進程進行保護,防止未經授權的中斷。
(1)應遵循最小安裝的原則,僅安裝需要的組件和應用程序。
(2)應關閉不需要的系統服務、默認共享和高危端口。
(3)應通過設定終端接入方式或網絡地址范圍對通過網絡進行管理的管理終端進行限制。
(4)應提供數據有效性檢驗功能,以保證通過人機接口輸入或通信接口輸入的內容符合系統設定要求。
(5)應能夠發現可能存在的已知漏洞,并在經充分測試評估后及時修補漏洞。
(6)應能夠檢測到對重要節點進行入侵的行為,并在發生嚴重入侵事件時提供報警。
云計算安全擴展要求:
(1)應能夠檢測虛擬機之間的資源隔離失效,并進行告警。
(2)應能夠檢測非授權新建虛擬機或者重新啟用虛擬機,并進行告警。
(3)應能夠檢測惡意代碼感染及在虛擬機間蔓延的情況,并進行告警。
應采用免受惡意代碼攻擊的技術措施或主動免疫可信驗證機制,及時識別入侵和病毒行為,進行有效阻斷。
可基于可信根,對計算設備的系統引導程序、系統程序、重要配置參數以及應用程序等進行可信驗證,并在應用程序的關鍵執行環節進行動態可信驗證,在檢測到其可信性受到破壞后進行報警,并將驗證結果形成審計記錄送至安全管理中心。
(1)應采用校驗技術或密碼技術保證重要數據在傳輸過程中的完整性,包括但不限千鑒別數據、重要業務數據、重要審計數據、重要配置數據、重要視頻數據和重要個人信息等。
(2)應采用校驗技術或密碼技術保證重要數據在存儲過程中的完整性,包括但不限于鑒別數據、重要業務數據、重要審計數據、重要配置數據、重要視頻數據和重要個人信息等。
(3)應采用密碼技術保證重要數據在傳輸過程中的保密性,包括但不限于鑒別數據、重要業務數據和重要個人信息等。
(4)應采用密碼技術保證重要數據在存儲過程中的保密性,包括但不限千鑒別數據、重要業務數據和重要個人信息等。
云計算安全擴展要求:
(1)應確保云服務客戶數據、用戶個人信息等存儲于中國境內,如需出境應遵循國家相關規定。
(2)應確保只有在云服務客戶授權下,云服務商或第三方才具有云服務客戶數據的管理權限。
(3)應使用校驗碼或密碼技術確保虛擬機遷移過程中重要數據的完整性,并在檢測到完整性受到破壞時采取必要的恢復措施。
(4)應支持云服務客戶部署密鑰管理解決方案,保證云服務客戶自行實現數據的加解密過程。
(1)應提供異地實時備份功能,利用通信網絡將重要數據實時備份至備份場地。
(2)應提供重要數據處理系統的熱冗余,保證系統的高可用性。
云計算安全擴展要求:
(1)云服務客戶應在本地保存其業務數據的備份。
(2)應提供查詢云服務客戶數據及備份存儲位置的能力。
(3)云服務商的云存儲服務應保證云服務客戶數據存在若干個可用的副本,各副本之間的內容應保持一致。
(4)應為云服務客戶將業務系統及數據遷移到其他云計算平臺和本地系統提供技術手段,并協助完成遷移過程。
(1)應保證鑒別信息所在的存儲空間被釋放或重新分配前得到完全清除。
(2)應保證存有敏感數據的存儲空間被釋放或重新分配前得到完全清除。
云計算安全擴展要求:
(1)應保證虛擬機所使用的內存和存儲空間回收時得到完全清除。
(2)云服務客戶刪除業務應用數據時,云計算平臺應將云存儲中所有副本刪除。
(1)應僅采集和保存業務必需的用戶個人信息。
(2)應禁止未授權訪問和非法使用用戶的個人信息。
此項是云計算安全擴展要求。
(1)應針對重要業務系統提供加固的操作系統鏡像,或操作系統安全加固服務。
(2)應提供虛擬機鏡像、快照完整性校驗功能,防止虛擬機鏡像被惡意篡改。
(3)應采取密碼技術或其他技術手段防止虛擬機鏡像、快照中可能存在的敏感資源被非法訪問。
安全要求可以分為:信息安全類要求(S)、服務保證類要求(A)和通用安全類要求(G)。其中信息安全類要求是指保護數據在存儲、傳輸、處理過程中不被泄露、破壞和免受未授權的修改;服務保證類要求是指保護系統連續正常的運行,免受對系統的未授權修改、破壞而導致系統不可用;通用安全類要求包括安全管理要求和安全擴展要求。
不同級別的等級保護對象對業務信息的安全性要求和系統服務的連續性要求是不同的,即使相同級別的等級保護對象,其對業務信息的安全性要求和系統服務的連續性要求也不同。安全保護等級第三級要求有五種組合,即S1A3G3、S2A3G3、S3A3G3、S3A1G3和S3A2G3??紤]云計算中心是關鍵基礎設施,關鍵基礎設施應該在等級保護制度下實行重點保護,所以云計算中心的虛機統一采用S3A3G3要求。
以下按照S3A3G3要求,以Windows操作系統為例,對單個虛機進行安全加固,制作虛機模版。
身份鑒別(S3)
身份鑒別的大部分策略都在組策略里面設置,運行命令“gpeit.msc”進入組策略,如圖1所示。
1.密碼必須符合復雜性要求
瀏覽到路徑“本地計算機策略→計算機配置→Windows設置→安全設置→帳戶策略→密碼策略”,在右邊窗格中找到“密碼必須符合復雜性要求”,配置為“已啟用”。
2.密碼長度最小值
瀏覽到路徑“本地計算機策略→計算機配置→Windows設置→安全設置→帳戶策略→密碼策略”,在右邊窗格中找到“密碼長度最小值”,配置為不小于“6”。
3.密碼最短使用期限
瀏覽到路徑“本地計算機策略→計算機配置→Windows設置→安全設置→帳戶策略→密碼策略”,在右邊窗格中找到“密碼最短存留期(使用期限)”,配置為非0值。若希望“強制密碼歷史”有效,需將密碼最短使用期限設置為大于0 的值。
4.密碼最長使用期限

圖1 組策略選項
瀏覽到路徑“本地計算機策略→計算機配置→Windows設置→安全設置→帳戶策略→密碼策略”,在右邊窗格中找到“密碼最長存留期(使用期限)”,配置為90天。
5.強制密碼歷史
瀏覽到路徑“本地計算機策略→計算機配置→Windows設置→安全設置→帳戶策略→密碼策略”,在右邊窗格中找到“強制密碼歷史”,配置為不小于“5”。
6.帳戶鎖定閥值
瀏覽到路徑“本地計算機策略→計算機配置→Windows設置→安全設置→帳戶策略→帳戶鎖定策略”,在右邊窗格中找到“帳戶鎖定閾值”,配置為“6”。
7.帳戶鎖定時間
瀏覽到路徑“本地計算機策略→計算機配置→Windows設置→安全設置→帳戶策略→帳戶鎖定策略”,在右邊窗格中找到“帳戶鎖定時間”,配置為30 min。
8.重置帳戶鎖定計數器
瀏覽到路徑“本地計算機策略→計算機配置→ Windows設置→安全設置→帳戶策略→帳戶鎖定策略”,在右邊窗格中找到“復位(重置)帳戶鎖定計數器”,配置為30 min。
9.遠程桌面(RDP)服務端口
瀏覽到路徑HKEY_LO CAL_MACHINESYSTEMCur rentControlSetControlTerminalServerWinSta tionsRDP-Tcp”,修改“Port Number”的數值,使其不等于3899,此數據的有效值為1~65535。
10.禁止Windows自動登錄
瀏覽到路徑HKEY_LOCAL_MACHINESoftwareMicro softWindows NTCurrent VersionWinlogon,將“Auto AdminLogon”的值修改為0。
資源控制(A3)
在組策略中的安全設置里面修改相關配置。
1.配置“允許本地登錄”策略
瀏覽到路徑“本地計算機策略→計算機配置→Windows設置→安全設置→本地策略→用戶權限分配(用戶權利指派)”,在右邊窗格中找到“(允許)在本地登錄”,配置為指定授權用戶或組。
2.啟用“當登錄時間用完時自動注銷用戶”策略
瀏覽到路徑“本地計算機策略→計算機配置→Windows設置→安全設置→本地策略→安全選項”,在右邊窗格中找到“Microsoft網絡服務器:登錄時間過期后斷開與客戶端的連接”,配置為“已啟用”。
3.禁用“登錄時無須按Ctrl+Alt+Del”策略
瀏覽到路徑“本地計算機策略→計算機配置→Windows設置→安全設置→本地策略→安全選項”,在右邊窗格中找到“交互式登錄:無需按Ctrl+Alt+Del”,配置為“已禁用(停用)”。
4.配置服務器在暫停會話前所需的空閑時間量
瀏覽到路徑“本地計算機策略→計算機配置→Windows設置→安全設置→本地策略→安全選項”,在右邊窗格中找到“(Microsoft網絡服務器)暫停(掛起、斷開)會話前所需的空閑時間量”,將其配置為標準值。
5.啟用并正確配置屏幕保護程序
在桌面空白處點擊右鍵,打開屬性中的“個性化”面板,切換到“屏幕保護程序”選項卡,選擇一個屏保程序,將等待時間配置為不大于標準值(以秒為單位)的值,且勾選“在恢復時需要密碼保護(顯示登錄屏幕)”。
訪問控制(S3)
1.共享文件夾的權限設置
運行命令“compmgmt.msc”,打開計算機管理面板,瀏覽到路徑“計算機管理(本地)→系統工具→共享文件夾→共享”,查看每個自定義共享文件夾的共享權限,若其中包含“Everyone(任何人)”,則將其刪除。
2.刪除可遠程訪問的注冊表路徑和子路徑
打開組策略編輯器,瀏覽到路徑“本地計算機策略→計算機配置→Windows設置→安全設置→本地策略→安全選項”,如圖2所示(以下策略都可以在此圖中找到配置項),在右邊窗格中找到“網絡訪問:可遠程訪問的注冊表路徑”,配置為空。
3.刪除可匿名訪問的共享和命名管道
同樣在上述“安全選項”中,在右邊窗格中找到“網絡訪問:可匿名訪問的命名管道”和“網絡訪問:可匿名訪問的共享”,配置為空。
4.更改管理員帳戶名稱
在上述“安全選項”中,在右邊窗格中找到“帳戶:重命名系統管理員帳戶”,將“Administrator”更改為其他名稱。
5.刪除或禁用高危帳戶
在“安全選項”中,在右邊窗格中找到“帳戶:來賓帳戶狀態”,配置為“已禁用”。
安全審計(G3)
1.配置審核策略
如圖3所示,將所有審核策略都勾選“成功”和“失敗”。
2.正確配置系統日志
運行“eventvwr.msc”命令,打開事件查看器。瀏覽到路徑“事件查看器”,右鍵點擊“系統”,打開其屬性對話框,切換到“常規”選項卡,配置“日志文件最大大小”為不小于標準值和“日志文件達到最大大小時”為“按需要覆蓋事件”。

圖2 刪除可遠程訪問的注冊表路徑和子路徑
3.正確配置應用程序日志
瀏覽到路徑“事件查看器”,右鍵點擊“應用程序”,打開其屬性對話框,切換到“常規”選項卡,配置“日志文件最大大小”為不小于標準值和“日志文件達到最大大小時”為“按需要覆蓋事件”。

圖3 配置審核策略
4.正確配置安全日志
瀏覽到路徑“事件查看器”,右擊“安全”項,打開其屬性對話框,切換到“常規”選項卡,配置“日志文件最大大小”為不小于標準值和“日志文件達到最大大小時”為“按需要覆蓋事件”。
備份和恢復(A3)
對于虛機來說,可以利用快照來對系統進行快速恢復。所以要在虛擬化平臺上制定好虛機快照策略。
剩余信息保護(S3)
1.啟用“不顯示最后的用戶名”策略
運行“gpedit.msc”命令打開組策略編輯器,如圖4所示。
瀏覽到路徑“本地計算機策略→計算機配置→Windows設置→安全設置→本地策略→安全選項”,在右邊窗格中找到“交互式登錄:不顯示上次登錄的用戶名”,配置為“已啟用”。
2.正確配置“鎖定會話時顯示用戶信息”策略
瀏覽到上述路徑中的“安全選項”,在右邊窗格中找到“交互式登錄:鎖定會話時顯示用戶信息”,配置為“不顯示用戶信息”。
入侵防范(G3)
1.關閉不必要的服務
停用并禁止如下服務:
Simple TCP/IP Services
Simple Mail Transport Protocol(SMTP)
Windows Internet Name Service(WINS)
DHCP Server
DHCP Client
Remote Access Connec tion Manage
Message Queuing
2.啟用并正確配置Win dows自動更新

圖4 啟用“不顯示最后的用戶名”策略
打開控制面板,找到“自動更新(Windows Update)”,配置為自動下載更新并安裝。
3.禁用Windows硬盤默認共享
打開計算機管理面板,瀏覽到路徑“計算機管理(本地)→系統工具→共享文件夾→共享”,刪除所有硬盤默認共享。然后在命令提示符中打開注冊表編輯器,瀏覽到路徑“HKEY_LOCAL_MACHINESystemCurrentControlSetSer vicesLanmanServerPara meters”,添加名稱為“Auto ShareServer”和“AutoShare Wks”、類型為DWORD、數據為0的兩個數值,若已存在則修改其數據。
4.關閉不必要的端口445
通過修改注冊表“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetser vicesNetBTParameters”,然后新建DWORD/QWORD項“SMBDeviceEnabled”,將值改為0。之后運行“services.msc”,禁用并停止server服務。
5.開啟Windows防火墻
打開控制面板,找到“Windows防火墻”,將當前網絡位置的防火墻配置為“啟用”,并根據實際需求設置例外。
6.啟用并正確配置SYN攻擊保護
(1)處于SYN_RCVD狀態下的TCP連接閾值。
打開注冊表編輯器,然后找到路徑“HKEY_LOCAL _MACHINESYSTEMCurrent ControlSetServicesTcpipParameters”,添加名稱為“TcpMaxHalfOpen”,類型為DWORD,數據為標準值(16進制)的數值,若已存在則修改其數據。此數據的有效值為在64~ffff(16進制)。
(2)取消嘗試響應SYN請求之前要重新傳輸SYNACK 的次數。
打開注冊表編輯器,然后找到路徑“HKEY_LOCAL_MACHINESYSTEMCurrent ControlSetServicesTcpipParameters”,并添加名稱為“TcpMaxConnectResponse Retransmissions”,類型為DWORD,數據為標準值的數值,若已存在則修改其數據。此數據的有效值為0~255。
(3)處于SYN_RCVD狀態下,且至少已經進行了一次重新傳輸的TCP連接閾值。
打開注冊表編輯器,然后找到路徑“HKEY_LOCAL_MACHINESYSTEMCurrent ControlSetServicesTcpipParameters”,添加名稱為“TcpMaxHalfOpenRetried”,類型為DWORD,數據為標準值(16進制)的數值,若已存在則修改其數據。此數據的有效值為在50~ffff(16進制)。
(4)TCP連接請求閾值。
運行“regedit”命令打開注冊表編輯器,瀏覽到路徑“HKEY_LOCAL_MACHINESYSTEMCurrentControl SetServicesTcpipPara meters”,添加名為“Tcp Max PortsExhausted”,類型為DWORD,數據為標準值(16進制)的數值,若已存在則修改其數據。此數據的有效值為在0~ffff(16進制)。
(5)啟用SYN攻擊保護。
運行“regedit”命令打開注冊表編輯器,瀏覽到路徑“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParame ters”,添加名稱為“SynAttack Protect”,類型為DWORD,數據為標準值(16進制)的數值,若已存在則修改其數據。此數據的有效值為0~1。
7.啟用并正確配置TCP碎片攻擊保護碎片攻擊保護
運行“regedit”命令打開注冊表編輯器,瀏覽到路徑“HKEY_LOCAL_MACHINESYSTEMCurrentControl SetServicesTcpipPara meters”,添加名稱為“Ena ble PMTUDiscovery”,類型為DWORD,數據為標準值的數值,若已存在則修改其數據。此數據的有效值為0~1,其中0表示不自動探測MTU大小,都使用576字節的MTU,1表示自動探測MTU大小。如果不將該值設置為0,攻擊者可能會強制MTU值變得非常小,從而導致堆棧負荷過大。
8.配置TCP“連接存活時間”
運行“regedit”命令打開注冊表編輯器,瀏覽到路徑“HKEY_LOCAL_MACHINESYSTEMCurrentControl SetServicesTcpipPara meters”,添加名稱為“Keep AliveTime”,類型為DWORD,數據為標準值(以毫秒為單位)以內的數值,若已存在則修改其數據。此數據的有效值為1~0xFFFFFFFF。該值控制TCP通過發送“保持活動”的數據包來驗證空閑連接仍然完好無損的頻率。如果仍能連接到遠程計算機,該計算機就會對“保持活動”的數據包作出應答。默認情況下不發送“保持活動”的數據包。建議將該值設置為300 000(5 min)(十進制基數格式)。
9.配置重傳單獨數據片段的次數
打開注冊表編輯器,找到路徑“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParame ters”,添加名稱為“TcpMax Data Retrans missions”,類型為DWORD,數據為標準值的數值,若已存在則修改其數據。此數據的有效值為0~65 535。
10.禁用路由發現功能
打開注冊表編輯器,找到路徑“HKEY_LOCAL_MACHINESYSTEMCurrentControl SetServicesTcpipParame ters”,添加名稱為“Perform Router Discovery”,類型為DWORD,數據為標準值的數值,若已存在則修改其數據。此數據的有效值為0~1。0表示禁用此功能,1表示開啟。“路由發現”請求路由信息以構建整個網絡,如果開啟此功能,系統會將此信息添加到路由表中。
11.啟用并正確配置ICMP攻擊保護
打開注冊表編輯器,找到路徑“HKEY_LOCAL_MACHIN ESYSTEMCurrentControl SetServicesTcpipParame ters”,添加名為“Enable ICMP Redirect”,類型為DWORD,數據為標準值的數值,若已存在則修改其數據。此數據的有效值為0~1。
12.啟用并正確配置源路由攻擊保護
打開注冊表編輯器,瀏覽到路徑“HKEY_LOCAL_MACHI NESYSTEMCurrentControl SetServicesTcpipParame ters”,添加名稱為“Disable IPSource Routing”,類型為DWORD,數據為標準值的數值,若已存在則修改其數據。此數據的有效值為0~2,其中0表示轉發所有數據包,1表示不轉發源路由的數據包,2表示丟棄所有傳入源路由的數據包。
惡意代碼防范
因為網絡版殺毒軟件或者虛擬化殺毒都是需要授權的,按照使用量來購買授權,所以對于虛機模版來說,可以暫時不用安裝殺毒軟件。在虛機部署階段必須要安裝殺毒軟件。
以上策略并不是全部的,因為沒有絕對的安全,只有相對的安全,完善好以上策略還需要結合漏洞掃描系統,對虛機進行一次體檢。漏掃掃描主要是對操作系統進行掃描,比如是否更新了系統最新的補丁,是否關閉了不必要的端口或者服務等等。根據漏掃的結果,再次對虛機進行修復,最后形成一個相對安全的虛機模版。
在云計算中心需要部署應用時,可以用此模版安裝相關中間件、數據庫等軟件。在應用部署完畢后,還要再一次進行漏洞掃描和基線檢查,甚至進行滲透測試,來保證系統和應用的相對安全,以免“帶病運行”。
經過以上檢測、測試后,應用系統可以上線試運行。但是安全工作是沒有終點的,還需要對該應用系統進行網絡安全等級保護工作,包括定級、備案、測評和整改。等級保護工作需要定期開展,三級系統每年需要進行一次等保測評,二級系統每兩年進行一次等保測評。除了定期進行等保測評外,還需要定期對應用系統進行風險評估。
日常安全工作中,也需要定期對應用系統進行漏洞掃描、滲透測試等安全技術檢查,發現問題及時整改,形成安全工作的閉環,保障應用系統安全穩定地運行。