摘要:近年來,越來越多的企業選擇IBM的z系列主機來處理其日益整合和靈活的業務流程。IBM主機作為高效、靈活并響應及時的IT平臺的基準,特別是針對高度復雜、整合、運行關鍵業務的環境,能夠為用戶提供高安全性,高可靠性的解決方案。原因就在于其能夠從系統層,網絡層,交易層提供系統全方位的保護。該文對集群系統的安全管理機制進行了研究,對其原理進行了調查和學習,最后給出其實現步驟。
關鍵詞:安全管理;電子商務;集群系統
中圖分類號:TP393文獻標識碼:A 文章編號:1009-3044(2008)23-945-03
eBusiness Sysplex Security Management
LV Qing, ZHANG Hui-juan, GAO Zhen
(School of Software Engineering, Tongji University, Shanghai 201804, China)
Abstract:In recent years, more and more companies choose IBM mainframe to handle the complex business process which is integrated and flexible. IBM mainframe can provide secure solutions with high availability to customers, especially in a complex, integrated and key running environment. The reason is that it delivers all-around high security on system, network and transaction levels. This paper introduces and studies mechanism, principle and implementation of security management on eBusiness sysplex environment.
Key words: security management; eBusiness; sysplex
1 引言
現代商業依賴于信息技術,商務系統往往通過內部網與公用互聯網相連。公司雇員可以經由各種內部或公用接口操作公司數據;公司客戶可以通過基于互聯網的電子商務系統購買商品,并通過在線銀行進行金融交易。對于商業系統數據和信息的全方位保護已成為越來越值得注意的問題。
計算機商業應用有著與其他行業不同的特性:實時性和高度可用性。實時性指的是企業采用的是實時分布處理系統,企業網絡覆蓋全國,營業網點遍布城鄉;高度可用性指的是企業必須擁有一定的冗余資源(通常是建立Sysplex系統環境)來確保無宕機,以此來保證客戶交易的順利。所以對于這樣一個復雜的應用系統,需要從各個方面制定系統安全管理解決方案,建立多層次防范機制;以提高計算機系統的安全性,提高應用系統的可靠性。
系統安全機制主要可以劃分為以下三層:
1)系統層:該層主要實現識別和鑒別用戶,訪問控制和系統的完整性。一個典型的z/OS中應用系統安全的例子就是使用RACF進行安全管理。
2)網絡層:該層增強連接至網絡上的系統的安全性能,包括傳輸數據的保密性和完整性。z/OS通信服務器整合IP安全功能,能提供系統對于外部不安全網絡的防御能力。
3)交易層:該層提供除了系統層和網絡層的一些其他對于交易的安全保護,比如授權和數據加密都是該層保護的典型例子。
2 大型集群系統
大型集群(Sysplex)系統是一個使用多系統數據和資源共享技術的系統復合體。它允許配置中的所有處理節點(或服務器)直接,并發地讀/寫共享數據,而不影響性能或數據完整性。通過硬件輔助集群范圍的串行化和一致性控制,每個節點都可以并發地將共享數據緩存在本地處理器內存中。所以在一個系統中,單一工作負載的處理請求,諸如商務交易或數據庫查詢,可以基于每個節點可用的處理器能力,動態被分發到系統復合體集群上的節點上并發執行。圖1顯示一個并行系統復合體的硬件。
Sysplex系統幫助確保大型系統環境的持續可用性。Sysplex系統可以連接多達32臺服務器,創造出了強大的商業處理集群系統。通過這種最新的集群技術,多個系統可以一起和諧工作,更有效地處理大規模商業負載。這對于當今電子商務來說無疑是一個福音。
Sysplex系統依靠一個或多個耦合設備(Coupling Facilitie,CF)。一個耦合設備是一個主機處理器,帶有內存、特殊通道和一個內嵌的操作系統。CF的信息存放在內存中,CF通常有很大的內存。CF可以是一個獨立的系統,也可以是一個邏輯分區(Logical PARtition)。
CF有以下功能:
對所有連接系統之間共享的信息進行加鎖
對所有連接系統之間共享的信息(比如一個數據庫)進行緩存
所有連接系統之間共享的數據列表信息
圖2為一個Sysplex系統的架構圖:整個系統部署在三個獨立的邏輯分區上。
3 系統安全管理設施(RACF)
RACF(資源訪問控制程序)是用于IBM主機(大型服務器)操作系統的安全管理產品。RACF通過自身數據庫中User Profiles, Dataset Profiles和Resource Profiles等來記錄用戶對資源的存取權限及對各種Profile的管理權限。系統安裝上RACF,就像在用戶和資源之間增加了一個安全檢查機構,每當用戶請求登錄系統,RACF就會對其進行合法身份檢查,口令驗證,是否有權利完成所申請的任務,是否有資格使用被保護的系統資源。
Sysplex系統環境下,系統加入了CF和GRS(Global Resource Serialization)來確保多個系統之間的RACF協調作業和安全數據的完整性。由圖3可見,安全管理員可以單點控制所有系統上的安全環境;一些全局操作命令將會自動在每個系統上執行。各個系統的安全數據都存儲在一個RACF數據庫中,由GRS負責序列化訪問,確保系統數據一致性。這樣既可以節省磁盤空間,也利于統一管理。
4 Sysplex環境中安全管理解決方案
Sysplex環境中的安全管理可以從三個角度來考慮:系統層、網絡層和交易層。商業大型集群系統中,RACF作為安全管理軟件引入系統中。上述的安全機制的實現將達到系統資源的安全管理和應用系統的安全控制。
4.1 系統層
在系統層,RACF主要實現了以下功能:
1)識別和鑒別用戶:規劃系統的用戶組,定義User Profiles,包括用戶的屬性,類別和角色。
定義用戶的命令為ADD USER,USER PROFILE的格式如下:
USER NAMEPASSWORDGROUPAUTHORITY…
2)訪問控制:保護系統數據集、用戶數據集、源程序庫和通用資源等。當用戶申請存取某個受RACF保護的數據集時,RACF根據數據庫中DATASET PROFILE的記錄審查該用戶是否有權使用該數據集,記錄越權企圖,及時通知監督員,同時拒絕非授權用戶訪問該數據集數據。
定義數據集保護的命令為ADDSD,定義通用資源保護的命令為RDEFINE。
3)保護系統的完整性:保護系統設備不被用戶破壞,比如CF,Couple Dataset,LOG資源,Sysplex操作命令等。
安全管理員需要控制各個子系統和程序訪問CF,那就要利用RACF在FACILITY中定義名為IXLSTR.
Couple Dataset是一類特殊的數據集,分為多種類型,分別由不同的XCF程序所創建,可以被Sysplex環境中部分或所有系統所共享。Couple Dataset對應的安全保護PROFILE是FACILITY類中的’MVSADMIN.XCF.*’ PROFILE。
LOG資源是系統的日志文件。要保護它,則要保護LOG的地址空間(IXGLOGR)和日志應用程序(logrec或OPERLOG)。為了讓LOG能夠完全記錄系統各種情況,推薦將IXGLOGR地址空間的RACF狀態設為TRUSTED或PRIVILEGED。
Sysplex操作命令是用戶在主控臺上發出的命令。為了限制用戶使用對系統有負面影響的命令,OPERCMDS類提供一些PROFILES幫助保護一些高級系統命令;同時CONSOLE類則保護主控臺的功能,即為,如果某個主控臺受到保護,那RACF將確保用戶擁有對該PROFILE的讀權限才能登陸該系統。
在系統層,用戶可以根據自己的需求定制自己的保護機制,用RACF實現以滿足安全需求。然而讓該安全機制在Sysplex環境下所有的系統上生效,還需要將RACF數據庫在Sysplex環境下實現共享。由于共享涉及到多個系統同時訪問或更新RACF數據庫,所以要利用CF來協調各系統的訪問和更新。實施步驟如下:
1)定義CF結構
STRUCTURE NAME(IRRXCF00_P001) //for primary data base
SIZE(1644)
PREFLIST(CF01,CF02)
STRUCTURE NAME(IRRXCF00_B001) // for backup database
SIZE(329)
PREFLIST(CF02,CF01)
EXCLLIST(IRRXCF00_P001)
2)定義CF策略并激活該策略
SETXCF START,POLICY,TYPE=CFRM,POLNAME=CFRM01
3)激活資源共享模式
RVARY DATASHARE
4)確認結果
ICH15013I RACF DATABASE STATUS:
ACTIVE USE NUMBER VOLUME DATASET
YES PRIM 1 TOTSM1 SYS1.RACFESA
YES BACK 1 TOTRS1 SYS1.RACF.BKUP1
MEMBER xxxx IS IN DATA SHARING MODE.
ICH15020I RVARY COMMAND HAS FINISHED PROCESSING.
5)更改RACF名字表格
在RACF名字表空間中更改對應的標志位,使得更改在下次IPL后也能生效。更改后的標志位應該為:B’10001100’。
在完成這些實施步驟時,用戶需要確認所有的系統都能物理訪問到RACF數據庫,也能訪問到包含RACF結構的CF,所有系統上的RACF選項設置和激活的類都應相同,等等。具體實施以及考慮請參見參考文獻[2]。
4.2 網絡層
商務系統不可避免地要和互聯網連接,完成電子商務和客戶交易,而浩瀚無垠的互聯網又往往是一個復雜且危險的環境。如果在網絡層無法保證系統安全和數據完整,那整個商務系統也就形同虛設,無法真正運作起來。TCP/IP堆棧為一個層次結構,每一層都和下層相連。在最上層為IP應用程序(比如網頁瀏覽器)。圖4展示了一個網絡層次結構圖。網絡層的保護主要針對網絡層次結構中的網絡層進行,其所對應的最常見的保護機制是IPSec VPN,系統對網絡的訪問(IP域和SERVAUTH類)以及網絡對系統的訪問(IP安全過濾)。本文主要介紹后兩種保護機制。
系統的IP安全過濾將能按照IP地址進行訪問過濾,從而在一定程度上保護系統的安全。圖5是一個IP安全過濾的工作原理圖。
當一個包送達至堆棧網絡接口時,運行在TCP/IP堆棧的IP過濾便開始在安全策略數據庫(SPD)中搜索符合包特性的記錄,然后完成相應的動作:1)允許包入棧或出棧;2)拒絕包,即為系統不通知源系統自己的處理行為;3)如果包帶有IPSec協議,則觸發程序鑒定包;4)記錄特定的事件和決定。
IP過濾策略是一套用來在TCP/IP堆棧資源中間建立聯系的語句,它們決定接受或拒絕網絡中的IP包。常見的保護是對系統的FTP程序進行入棧和出棧的IP過濾,并對FTP的所有活動都進行記錄。具體的定義語句如下:
IpFilterPolicy
{FilterLogging On
IpFilterLogImplicit Yes
IpFilterGroupRef MVS}
IpGenericFilterAction Permit-Log
{IpFilterAction Permit
IpFilterLogging Yes}
IpFilterGroup MVS
{IpFilterRuleRef FTP235ControlLocal
IpFilterRuleRef FTP235DataLocal}
IpFilterRule FTP235ControlLocal
{IpSourceAddr 9.100.193.235
IpDestAddr 9.100.199.0/24
IpService
{Protocol Tcp
SourcePortRange 21
DestinationPortRange 1024 65535
Direction BiDirectional InboundConnect //說明保護是雙向的,但是首次連接必須是包入棧
Routing Local
SecurityClass 1}
IpGenericFilterActionRef Permit-Log}
通過使用IP過濾,棧和程序都只能看到安全的客戶機和服務器通信的包。所有的其他包都將在IP層就被丟棄,這將能夠阻止其他非法網絡干擾本地服務器,也將能夠保證系統內部人員無法訪問外部未授權網絡,帶給系統雙重的安全性。
4.3 交易層
電子商務的盛行不但要求網絡環境安全無非法入侵,也同時要求保證交易的完整性。一個交易通常定義為一個過程:用戶通過網絡發出命令,命令通過加密傳送至系統,系統解密后執行并更新后臺數據庫,后臺數據庫將返回結果加密發送回用戶,用戶解密后看到結果。在這個復雜的過程中,系統內部交易的完整性由數據庫保證,而網絡間的交易完整性就要由SSL/TLS協議保證。交易層的保護主要針對網絡的傳輸和應用層,其主要手段是AT-TLS。
由圖6可知,交易層對應的保護機制為AT-TLS或SSL/TLS。SSL/TLS是TCP網絡常見的加密協議。AT-TLS(Application Transparent TLS)隨著操作系統z/OS的版本改進而出現,它的特點在于無需其他應用程序的介入,即為,用戶無需在應用層的程序中加入任何SSL相關代碼,換言之,該協議對于應用程序來說是透明的。TCP/IP地址空間負責所有的TLS相關功能,比如握手,鑒別,數據的加密解密等,保證交易層的數據準確和安全。所有這些功能的執行都基于用戶定義的策略。AT-TLS的實現和數據流如下圖:1)客戶機和服務器建立連接;2)服務器明文發送數據至TCP層隊列中;3)確定服務器的身份后,TCP層調用系統SSL來完成SSL握手;4)TCP層調用系統SSL加密隊列中的數據并發送數據至客戶機;5)客戶機發送加密數據,TCP層調用系統SSL進行解密;6)服務器接受明文數據。
Z/OS網絡安全助手工具將自動生成一個AT-TLS的配置文件,用戶可以根據自己的需求改動參數,一個典型的使用AT-TLS的案例是設置AT-TLS解密來自外部網絡的數據包。具體的配置實施如下:
TTLSRule AT-TLS1~1
{LocalAddrRef addr1
RemoteAddrSetRef addr2
LocalPortRangeRef portR1
RemotePortRangeRef portR2
Direction Inbound
Priority 255
TTLSEnvironmentActionRef eAct1~Server
TTLSConnectionActionRef cAct1~Server}
TTLSEnvironmentAction eAct1~Server
{HandshakeRole Server //表明棧將等待客戶機的HELLO消息。
EnvironmentUserInstance 0
TTLSKeyringParmsRef keyR~MVSIT}
TTLSConnectionAction cAct1~Server
{HandshakeRole Server
TTLSCipherParmsRef cipher1~AT-TLS__Platinum
Trace 255}
TTLSKeyringParms keyR~MVSIT //該密碼用來允許服務器開始任務的用戶ID。
{Keyring tlsKeyring}}
IpAddr addr1
{Addr 9.100.193.234 9}
IpAddrSet addr2
{Prefix 9.100.0.0/16}
PortRange portR1
{Port 8443 10}
PortRange portR2
{Port 1024-65535}
通過使用AT-TLS可以保護服務器和客戶機的通信安全,通過上例的配置,我們將可以保證從addr2的地址群到本機的傳輸數據的安全性和可靠性。
5 結束語
商業世界里,信息安全對于企業的成功和績效非常重要。而IBM大型服務器能提供系統內部,網絡訪問和交易級別的全方位的安全保護,為企業解除了數據安全的后顧之憂。這也是為何如今大型企業和銀行越來越多地選擇IBM大型服務器作為后臺計算機的原因。
在IBM大型服務器上搭建Sysplex系統的做法并不少見,這種能幫助提升系統穩定性和保證系統可用性的做法得到了很多企業的推崇。在Sysplex系統中將RACF數據庫共享,不但能取得單點安全控制的效果,也同時幫助企業更快達到安全管理的標準化和規范化,更在提高系統性能和可升級性的條件下,減少了安全管理員的工作量。
參考文獻:
[1] Rayns C, Kappeler P, Rodolfi G, et al. Sysplex eBusiness Security z/OS V1R7 Update [M].USA:IBM Corporation,2006:133-154.
[2] Kyne F, Ferguson M, Nick M, et al. S/390 Parallel Sysplex: Resource Sharing [M]. USA: IBM Corporation,1999:58-79.
[3] Corporation B M. Security Server RACF Security Administrator's Guide [M]. USA: IBM Corporation,1998:35-45.
[4] IBM Corporation. Security Server RACF System Programmer's Guide(2)[M]. USA: IBM Corporation,2000:212-223.