引言:Citrix提供的XenAPP提供了快速應(yīng)用啟動和無縫的多媒體體驗(yàn)等功能,可以為用戶提供更好的按需應(yīng)用交付體驗(yàn)。在網(wǎng)絡(luò)安全形式日益嚴(yán)峻的當(dāng)下,如何提高XenAPP運(yùn)行的安全性,防止其被黑客惡意利用,是管理人員必須面對的問題。
在虛擬化應(yīng)用場景中,最常用的應(yīng)用程序是虛擬化。虛擬程序具有部署簡便,易于管理,使用靈活等特點(diǎn)。而Citrix提供的XenAPP提供了快速應(yīng)用啟動和無縫的多媒體體驗(yàn)等功能,可以為用戶提供更好的按需應(yīng)用交付體驗(yàn)。XenAPP能夠更加輕松地實(shí)現(xiàn)成本控制,具有廣泛應(yīng)用兼容性,因而得到廣泛應(yīng)用。在網(wǎng)絡(luò)安全形式日益嚴(yán)峻的當(dāng)下,如何提高XenAPP運(yùn)行的安全性是管理人員必須面對的問題。這里就從多個方面出發(fā),來介紹了相關(guān)的解決方法。
用Secure Gateway網(wǎng)關(guān),可以加密客戶端和XenApp服務(wù)器之間的通訊。在默認(rèn)情況下,客戶端會利用ICA協(xié)議和XenApp服務(wù)器進(jìn)行連接,ICA協(xié)議也是一個加密型協(xié)議,可以對雙方發(fā)送的數(shù)據(jù)進(jìn)行加密處理。但是如果從Internet訪問XenApp服務(wù)器,可以利用Secure Gateway網(wǎng)關(guān)來保證更加安全的數(shù)據(jù)傳輸。在客戶端上登錄XenApp服務(wù)器,在訪問頁面中的“應(yīng)用程序”面板中運(yùn)行目標(biāo)程序,在CMD窗口中執(zhí)行“netstat-ano”命令來查看當(dāng)前的網(wǎng)絡(luò)連接信息??梢钥吹?,客戶端會去連接XenApp服務(wù)器的TCP 2598端口,這是使用ICA協(xié)議的情況。
當(dāng)配置了安全網(wǎng)關(guān)后,客戶端會聯(lián)系Secure Gateway服務(wù)器,并建立SSL的加密通道,之后由安全網(wǎng)關(guān)去連接XenApp服務(wù)器來訪問目標(biāo)虛擬程序。這樣,ICA協(xié)議會運(yùn)行在SSL加密通道中,從而大大提高連接的安全性。在準(zhǔn)備作為安全網(wǎng)關(guān)的服務(wù)器上執(zhí)行“mmc”程序,在控制臺中分別選擇菜單“文件”、“添加/刪除管理單元”選項(xiàng),在彈出窗口左側(cè)列表中選擇“證書”選項(xiàng),點(diǎn)擊“添加”按鈕,選擇“計(jì)算機(jī)賬戶”選項(xiàng),點(diǎn)擊“完成”按鈕,將其添加進(jìn)來。在控制臺左側(cè)分別選擇“證書”、“個人”選項(xiàng),在其右鍵菜單上分別點(diǎn)擊“所有任務(wù)”、“申請新證書”選項(xiàng),在向?qū)Ы缑嬷羞x擇“Active Directory注 冊策略”選項(xiàng),點(diǎn)擊“下一步”按鈕,選擇“計(jì)算機(jī)”選項(xiàng),點(diǎn)擊“注冊”按鈕,完成證書申請操作。當(dāng)然,也可以向Internet上的第三方證書頒發(fā)機(jī)構(gòu)申請證書。
在XenApp安裝光盤上運(yùn)行“autorun.exe”程序,在安裝界面中分別選擇“手動安裝組件”、“常見組件”、“Secure Gateway”選項(xiàng),執(zhí)行安全網(wǎng)關(guān)組件的安裝操作,在安裝默認(rèn)窗口中選擇“Secure Gateway”選項(xiàng),表示安裝獨(dú)立的安全網(wǎng)關(guān),該模式接受Internet客戶端的連接,之后穿過企業(yè)防火墻和內(nèi)部的XenApp服務(wù)器建立連接。選擇“Secure Gateway Proxy”選項(xiàng),使用代理安全網(wǎng)關(guān),該模式對應(yīng)于存在多重防火墻的情況,存在多個安全網(wǎng)關(guān),客戶端先連接第一個安全網(wǎng)關(guān),其會穿越第一道防火墻連接第二個安全網(wǎng)關(guān),之后該安全網(wǎng)關(guān)會穿越第二道防火墻連接內(nèi)網(wǎng)XenApp服務(wù)器。
這里選擇前者,在“下一步”窗口中的“Account”列表中選擇“LocalSystem”選項(xiàng),為其設(shè)置本地系統(tǒng)帳號。安裝完畢后,在配置向?qū)Ы缑妫ㄈ鐖D1所示)中選擇“Advanced”選項(xiàng),執(zhí)行高級配置操作,在“下一步”窗口中顯示安裝的證書信息,依次點(diǎn)擊“Next”按鈕,可以選擇安全協(xié)議,加密算法,設(shè)置連接端口(默認(rèn) TCP 443),客戶端訪問控制等信息。一般保持默認(rèn)即可,若想限制客戶端連接,可以選擇“Use an Access Control List”選項(xiàng),點(diǎn)擊“Configure”按鈕,然后點(diǎn)擊“Add”按鈕,設(shè)置特定范圍的IP,這樣只有指定區(qū)域的IP才可以順利連接內(nèi)網(wǎng)XenApp服務(wù)器。
圖1 安全網(wǎng)關(guān)配置向?qū)Ы缑?/p>
在“Server Running the STA”欄中點(diǎn)擊“Add”按鈕,在彈出窗口中的“FQDN”欄中設(shè)置安全票據(jù)頒發(fā)中心主機(jī)地址,其實(shí)就是XenApp服務(wù)器的地址。因?yàn)榘凑誜enApp的訪問模式,當(dāng)客戶端提交的憑據(jù)經(jīng)由Web Interface服務(wù)器提交給Active Directory進(jìn)行驗(yàn)證,當(dāng)通過驗(yàn)證后,客戶端就會獲得Web Interface服務(wù)器分配給其的的應(yīng)用程序,并且會將XenApp服務(wù)器生成的安全票據(jù)也返還給了客戶端??蛻舳司蜁ㄟ^XenApp服務(wù)器來打開目標(biāo)程序。在客戶端和XenApp服務(wù)器交互過程中,XenApp服務(wù)器也需要進(jìn)行身份驗(yàn)證,客戶端就將上述安全票據(jù)提交給XenApp服務(wù)器,當(dāng)檢測無誤后,才允許客戶端成功打開目標(biāo)虛擬程序。如果選擇“Secure Traffice between the STA and the Secure Gateway”選項(xiàng),可以加密安全網(wǎng)關(guān)和XenApp服務(wù)器間的連接。點(diǎn)擊“下一步”按鈕,可以設(shè)置連接的超時時間(默認(rèn)為100秒)以及最大連接數(shù)(默認(rèn)為250)。
在“Access Options”欄中選擇“Indirect”選項(xiàng),取消“Install on this Computer”選項(xiàng),在“FQDN”欄中輸入Web Interface服務(wù)器地址,例如“wi.xxx.com”。這樣就實(shí)現(xiàn)了安全網(wǎng)關(guān)和Web Interface服務(wù)的集成。當(dāng)客戶端訪問時會先連接到安全網(wǎng)關(guān)的TCP 443端口,之后經(jīng)其轉(zhuǎn)發(fā)到Web Interface服務(wù)器,只需在防火墻上開啟TCP 443端口即可,提高了安全性。其余設(shè)置均保持默認(rèn),點(diǎn)擊“Finish”按鈕,啟動安全網(wǎng)關(guān)服務(wù)。為配合安全網(wǎng)關(guān)運(yùn)作,需對Web Interface服務(wù)器進(jìn)行相應(yīng)設(shè)置,如圖2所示。
在 Citrix Web Interface控制臺中選擇對應(yīng)的XenApp站點(diǎn),在右側(cè)點(diǎn)擊“安全訪問”選項(xiàng),在向?qū)Ы缑嬷悬c(diǎn)擊“編輯”按鈕,在彈出窗口(如圖3所示)中的“訪問方法”列表中選擇“網(wǎng)關(guān)(直接)”或“網(wǎng)關(guān)(替代)”選項(xiàng),后者可應(yīng)用于主機(jī)之間不在同一網(wǎng)段,需要NAT映射的環(huán)境。在“下一步”窗口中的“地址”欄中輸入上述安全網(wǎng)關(guān)的地址,例如“secure.xxx.com”。點(diǎn)擊“下一步”按鈕,選擇“安全票據(jù)頒發(fā)中心地址”,即XenApp服務(wù)器地址。點(diǎn)擊“完成”按鈕,完成所需配置。之后在客戶端上打開瀏覽器,輸入安全網(wǎng)關(guān)的地址,例如“secure.xxx.com”,輸 入合適的賬戶和密碼,就可以訪問安全訪問XenAPp服務(wù)器上發(fā)布的虛擬程序了。在安全網(wǎng)關(guān)服務(wù)器上打開Secure Gateway控制臺,分別 選 擇“Secure Gateway Management Console” 、“Session Information” 選項(xiàng),可以查看客戶端連接信息,包括 IP、用戶名、域名、連接的時間以及持續(xù)時間等內(nèi)容。
圖2 配置安全網(wǎng)關(guān)和Web Interface服務(wù)的集成
圖3 配置安全訪問參數(shù)
根據(jù)客戶端和XenApp服務(wù)器的通訊流程,首先客戶端會提交憑據(jù)信息,之后由Web Interface將用戶發(fā)送的憑據(jù)信息傳送給XenAPP服務(wù)器的XML Services服務(wù),最終用戶的身份信息會提交給Active Directory服務(wù)器進(jìn)行驗(yàn)證。通過驗(yàn)證后,XenAPP服務(wù)器上運(yùn)行的XML Services服務(wù)將通過IMA從數(shù)據(jù)庫中獲取分配給用戶的應(yīng)用程序信息,并將這些信息返還給Web Interface服務(wù)器。這樣當(dāng)客戶端用戶登錄之后就會看到分配給其的應(yīng)用程序信息。用戶運(yùn)行應(yīng)用程序后,Web Interface服務(wù)器會尋找最空閑的XenAPP服務(wù)器,XML Services服務(wù)會聯(lián)系最空閑的XenAPP服務(wù)器并返回安全票據(jù)Security Ticket,并將這些信息發(fā)送給Web Interface服務(wù)器。Web Interface服務(wù)器會生 成 名 為“Launch.ica”文件給客戶端,客戶端根據(jù)該文件的信息直接聯(lián)系指定的XenAPP服務(wù)器,來啟動目標(biāo)應(yīng)用程序。IMA服務(wù)是XenAPP服務(wù)器之間通信的框架,運(yùn)行在所有的XenAPP服務(wù)器之上,默認(rèn)通訊端口是TCP 2512。由此可見,Web Interface服務(wù)器對客戶端和Web Interface服務(wù)器之間的通信進(jìn)行SSL加密傳輸,對于提高安全性是極為重要的。當(dāng)然,對于Web Inface服務(wù)器和XenAPP服務(wù)器之間的通訊也可以進(jìn)行加密。因?yàn)樵谕ǔG闆r下,XenAPP服務(wù)器位于防火墻之后,而Web Interface服務(wù)器位于DMZ區(qū)域,對兩者之間的數(shù)據(jù)傳輸進(jìn)行加密可以有力的保證XenAPP服務(wù)器的安全。
首先,按照上述方法申請一張證書。在Web Interface服務(wù)器上打開IIS信息服務(wù)管理器,在左側(cè)分別選擇“網(wǎng)站”、“Default Web Site”選項(xiàng),在左側(cè)點(diǎn)擊“綁定”鏈接,在彈出窗口中選擇與80端口綁定的HTTP項(xiàng)目,點(diǎn)擊“刪除”按鈕。點(diǎn)擊“添加”按鈕,在添加網(wǎng)站綁定窗口中的“類型”列表中選擇“HTTP”選項(xiàng),在“SSL證書”列表中選擇上述證書,點(diǎn)擊“確定”按鈕來創(chuàng)建該綁定關(guān)系。之后在客戶端上打開瀏覽器,訪問“https://Web Interface 服務(wù)器地址”網(wǎng)址,在登錄界面輸入用戶名和密碼,顯示所有可用的應(yīng)用程序。雙擊“目標(biāo)應(yīng)用程序”可以執(zhí)行遠(yuǎn)程訪問操作。在此過程中數(shù)據(jù)傳輸處于加密狀態(tài),可有效防范黑客的嗅探和監(jiān)聽。
僅僅在客戶端和Web Interface服務(wù)器之間進(jìn)行加密通訊是不夠的,還需要在Web Interface和XenAPP服務(wù)器之間進(jìn)行安全通訊。按照上述方法,在XenAPP服務(wù)器申請所需的證書。啟動Citrix SSL中繼配置程序,在主界面(如圖4所示)中的“中繼憑據(jù)”面板中選擇“啟用SSL中繼”選項(xiàng),在“服務(wù)器證書”列表中選擇申請的證書。在“連接”面板中可以修改中繼偵聽端口,默認(rèn)為TCP 443。在“加密標(biāo)準(zhǔn)”欄中可以選擇SSL V3或TLS V1格式(默認(rèn))。點(diǎn)擊“應(yīng)用”按鈕保存配置信息,按提示重新啟動XenAPP服務(wù)器。當(dāng)然,在Web Interface服務(wù)器上也需要進(jìn)行相關(guān)配置,使其使用SSL中繼向XML Services服務(wù)提交信息。
圖4 Citrix SSL中繼配置界面
在Web Interface服務(wù)器上打開Citrix Web Interface管理控制臺,在左側(cè) 選 擇“XenApp Web站點(diǎn)”選項(xiàng),在右側(cè)點(diǎn)擊“服務(wù)器場”鏈接,在管理服務(wù)器場窗口中選擇場名(例如“Farm1”),點(diǎn) 擊“編 輯”按鈕,在其屬性窗口中的“通訊設(shè)置”欄中的“傳輸類型”列表中選擇“SSL Relay”選項(xiàng),表示使用SSL中繼功能。當(dāng)然,也可以選擇“HTTPS”選項(xiàng)來啟用常規(guī)的SSL加密功能。因?yàn)閷τ赪eb Interface服務(wù)器和XenAPP服務(wù)器之間的安全通訊來說,可使用SSL和SSL中繼兩種加密方式。
如果采用HTTPS加密連接,需要在XenAPP服務(wù)器上打開IIS管理器,按照上述方法為其綁定HTTPS安全連接。這里選擇SSL中繼方式,點(diǎn)擊“確定”按鈕,在Citrix Web Inteface管理控制臺左側(cè)選擇“XenApp Services站點(diǎn)”選項(xiàng),點(diǎn)擊“服務(wù)器場”鏈接,按照同樣方法為其設(shè)置SSL中繼代理功能。這樣,在客戶端和Web Interface服 務(wù) 器 間,Web Interface服務(wù)器和XenAPP服務(wù)器間的連接就能全部通過安全通道進(jìn)行。
當(dāng)用戶通過Web Interface來訪問XenAPP服務(wù)器上的應(yīng)用程序時,在打開目標(biāo)程序后,就可以對其進(jìn)行各種操作。在對安全性要求嚴(yán)格的企業(yè)中需要對用戶的操作進(jìn)行監(jiān)控,使用Smart Auditor就可以滿足這種需求。該角色可以按照預(yù)設(shè)的策略,完整的記錄客戶端的訪問虛擬程序的所有操作,并將其記錄為特殊的視頻文件,管理員通過專用的播放器可全面了解用戶的所有操作。因?yàn)镾mart Auditor需要數(shù)據(jù)庫的支持,所以需要在指定的服務(wù)器(將其FQDN設(shè)置為“sa.xxx.com”)上安裝SQL Server 2008數(shù)據(jù)庫。
之后在XenAPP安裝盤 上 運(yùn) 行“autorun.exe”程序,在安裝界面中分別選擇“手動安裝組件”、“服務(wù)器組件”、“附加功能”以及“SmartAuditor管理”選項(xiàng),在安裝界面中的選擇功能窗口中只安裝“Citrix SmartAuditor數(shù)據(jù)庫”組件,在“下一步”窗口中設(shè)置數(shù)據(jù)庫實(shí)例,對于默認(rèn)實(shí)例來說,只需在“數(shù)據(jù)庫實(shí)例”欄中輸入“.”即可,在“訪問用戶賬戶”欄中輸入本機(jī)的賬戶(例 如“xxxsa$”,“xxx”表示域名),該賬戶擁有對數(shù)據(jù)庫的完全管理權(quán)限。點(diǎn)擊“下一步”按鈕完成操作。之后登錄到SQL Server 2008數(shù)據(jù)庫中,可以看到Smart Auditor角色創(chuàng)建的名為“CitrixSmartAuditor” 的數(shù)據(jù)庫。配置好數(shù)據(jù)庫后,在上述安裝界面中依次選擇“Smart Auditor管理”和“Smart Auditor播放器”項(xiàng)來安裝相應(yīng)的管理工具。
圖5 配置SmartAuditor服務(wù)器屬性
打 開“SmartAuditor服務(wù)器屬性”窗口,在“存儲”面板(如圖5所示)中點(diǎn)擊“添加”按鈕,選擇用于存儲記錄會話文件的目錄(例如“C: ecord”)。當(dāng)SmartAuditor代理服務(wù)將捕獲到的客戶端的操作信息后會生成一個記錄文件,并將其提交給SmartAuditor服務(wù)器,將其存儲到該目錄中。為防止別人隨意修改記錄的會話文件,可以對其進(jìn)行簽名處理。在“簽名”面板中點(diǎn)擊“瀏覽”按鈕,選擇相應(yīng)的證書即可。在默認(rèn)情況下,當(dāng)代理程序創(chuàng)建的監(jiān)控文件體積大于50MB,或連續(xù)記錄的時間超過12小時后,就會創(chuàng)建新的記錄文件,繼續(xù)執(zhí)行記錄操作,在“滾轉(zhuǎn)”面板中可以修改上述的記錄閥值。在“通知”面板中可以修改通知信息來提醒用戶注意。點(diǎn)擊“確定”按鈕保存配置信息。
打 開SmartAuditor授權(quán)控制臺,在左側(cè)選擇“Player”選項(xiàng),在其右鍵菜單上依次點(diǎn)擊“分配用戶 和 組”、“從 Windows和Active Directory” 選 項(xiàng),選擇“允許播放監(jiān)控日志的用戶或組”。打開IIS管理器,選擇左側(cè)的“網(wǎng)站”、“SmartAuditorBroker” 選項(xiàng),雙擊“SSL設(shè)置”選項(xiàng),在彈出窗口中取消“要求SSL”選項(xiàng)。啟動SmartAuditor策略控制臺,在登錄界面中直接點(diǎn)擊“確定”按鈕進(jìn)入控制臺界面。可以看到在默認(rèn)情況下處于不記錄狀態(tài),說明SmartAuditor記錄功能并未激活。在左側(cè)選擇“記錄每個人并通知”選項(xiàng),在其右鍵菜單上點(diǎn)擊“激活策略”選項(xiàng),就可以激活該策略,允許記錄每個用戶的操作XenAPP應(yīng)用程序的信息,并且將上述通知發(fā)送給用戶。
也可選擇“記錄每個人而不通知”選項(xiàng),在其右鍵菜單上點(diǎn)擊“激活策略”選項(xiàng)來激活該策略。這樣,可以更加隱蔽的記錄用戶的操作信息。當(dāng)然也可以創(chuàng)建新的策略,在“記錄策略”選項(xiàng)右擊“添加新策略”選項(xiàng),創(chuàng)建新的策略。選擇該策略,右擊“添加新規(guī)則”選項(xiàng),在向?qū)Ы缑妫ㄈ鐖D6所示)中選擇“啟用會話記錄并通知”選項(xiàng),點(diǎn)擊“下一步”按鈕,選擇“用戶或組”、“以發(fā)布應(yīng)用程序”、“應(yīng)用程序服務(wù)器”選項(xiàng),來靈活的定義需要監(jiān)控的用戶,應(yīng)用程序以及應(yīng)用程序服務(wù)器。
圖6 創(chuàng)建自定義策略
圖7 SmartAuditor代理屬性窗口
在XenAPP服務(wù)器上打開XenAPP安裝盤,運(yùn)行“autorun.exe”程序,在安裝界面中依次選擇“手動安裝組件”、“服務(wù)器組件”、“附加功能”、“SmartAuditor 代理”選項(xiàng),在安裝界面中設(shè)置SmartAuditor的名稱。這樣當(dāng)代理程序監(jiān)控到用戶的各種操作后,就會將監(jiān)控信息記錄到SmartAuditor服務(wù)器上。打開SmartAuditor代理屬性窗口(如圖7所示),在“連接”面板中可以修改SmartAuditor服務(wù)器的地址,在“SmartAuditor Broker”欄中的“協(xié)議”列表中選擇“HTTP”選項(xiàng),點(diǎn)擊“確定”按鈕。準(zhǔn)備好以上條件后,在客戶端上訪問Web Interface服務(wù)器,在登錄界面中輸入用戶名和密碼,當(dāng)打開目標(biāo)程序后,Smart Auditor代理程序就開始對其操作進(jìn)行監(jiān)控,如果啟用了通知功能,客戶端就會收到預(yù)設(shè)的通知信息。
管理員可以隨時在Smart Auditor服務(wù)器上先進(jìn)入Smart Auditor播放器安裝目錄,打開其中的名為“SmAudPlayer.exe”的配置文件,將其中的“