本發明涉及云桌面,具體涉及訪問虛擬應用的方法、裝置、計算機設備及存儲介質。
背景技術:
1、云計算技術日新月異,vdi(virtual?desktop?infrastructure,虛擬桌面基礎架構)云桌面現已被廣泛應用到百行百業。為了提升客戶體驗、降低客戶成本、提高服務器并發數,虛擬應用技術在虛擬化領域也在加快推廣落地。用戶客戶端可以基于rdp(remotedesktop?protocol,遠程桌面協議)與應用服務器進行通信,以訪問應用服務器側的虛擬應用。
2、部分非法身份的客戶端也可能接入應用服務器并訪問。為提高虛擬應用使用的安全性,目前一般利用防火墻設置,添加入站規則,從而禁止rdp服務的端口號連接,例如禁止3389或其他端口。部分方案直接禁止遠程桌面服務(remote?desktop?service),以停止提供rdp服務。
3、無論是禁止rdp服務的端口,還是直接禁止rdp服務的運行,會導致部分合法的客戶端也無法訪問虛擬應用,給應用服務器的正常運行造成負面影響。且非法用戶也可以通過修改rdp服務端口號等方式,仍然能夠正常訪問,使得目前的策略失效,影響虛擬應用的安全性。
技術實現思路
1、有鑒于此,本發明提供了一種訪問虛擬應用的方法、裝置、計算機設備及存儲介質,以解決虛擬應用安全性較低的問題。
2、第一方面,本發明提供了一種訪問虛擬應用的方法,應用于應用服務器,所述應用服務器配置有代理服務程序,包括:
3、基于所述代理服務程序獲取管理平臺下發的已授權信息;所述已授權信息包括已授權的目標用戶名;
4、獲取客戶端發起的會話連接請求,所述會話連接請求包括當前用戶名;
5、基于所述代理服務程序判斷所述當前用戶名與所述目標用戶名是否匹配;
6、在所述當前用戶名與所述目標用戶名不匹配的情況下,基于所述代理服務程序阻止與所述客戶端建立會話連接。
7、在一些可選的實施方式中,在所述基于所述代理服務程序獲取管理平臺下發的已授權信息之后,所述方法還包括:
8、在所述目標用戶名屬于域用戶的情況下,將所述目標用戶名添加至遠程桌面組;
9、在所述目標用戶名屬于本地用戶的情況下,創建與所述目標用戶名相對應的新用戶名,并將所述新用戶名添加至遠程桌面組;
10、所述基于所述代理服務程序判斷所述當前用戶名與所述目標用戶名是否匹配,包括:
11、基于所述代理服務程序判斷所述當前用戶名與所述遠程桌面組中的用戶名是否一致,如果所述當前用戶名與所述遠程桌面組中的用戶名一致,則確定所述當前用戶名與所述目標用戶名匹配。
12、在一些可選的實施方式中,所述方法還包括:
13、修改所述代理服務程序的自主訪問控制列表,以將所述自主訪問控制列表中的訪問控制項修改為禁止手動修改所述代理服務程序的運行狀態。
14、在一些可選的實施方式中,所述修改所述代理服務程序的自主訪問控制列表,包括:
15、獲取遠程過程調用系統服務的安全描述符屬性;
16、將所述遠程過程調用系統服務的安全描述符屬性,設置給所述代理服務程序的安全描述符,以使所述安全描述符屬性中的自主訪問控制列表與所述安全描述符中的自主訪問控制列表一致。
17、在一些可選的實施方式中,所述獲取遠程過程調用系統服務的安全描述符屬性,包括:
18、利用用于打開注冊表的第一api,打開遠程過程調用系統服務的注冊表項;
19、利用用于檢索注冊表項中安全描述符的第二api,獲取所述遠程過程調用系統服務的注冊表項中的安全描述符屬性;
20、所述將所述遠程過程調用系統服務的安全描述符屬性,設置給所述代理服務程序的安全描述符,包括:
21、利用用于設置安全描述符的第三api,將所述遠程過程調用系統服務的安全描述符屬性,設置給所述代理服務程序的安全描述符。
22、在一些可選的實施方式中,所述方法還包括:
23、將所述代理服務程序設置為開機自啟動,和/或,將所述代理服務程序設置為在啟動失敗滿足失敗次數閾值后再次重新啟動。
24、第二方面,本發明提供了一種訪問虛擬應用的方法,應用于管理平臺,所述方法包括:
25、獲取客戶端發送的用于訪問目標虛擬應用的訪問請求;所述訪問請求包括訪問用戶名;
26、在所述訪問請求合法的情況下,向所述客戶端返回與所述目標虛擬應用相對應的應用信息;
27、將所述訪問用戶名作為已授權的目標用戶名,并向應用服務器的代理服務程序返回包括所述目標用戶名的已授權信息;所述已授權信息用于指示所述代理服務程序根據所述目標用戶名判斷客戶端發起的會話連接請求是否合法。
28、第三方面,本發明提供了一種訪問虛擬應用的裝置,應用于應用服務器,所述應用服務器配置有代理服務程序,所述裝置包括:
29、信息獲取模塊,用于基于所述代理服務程序獲取管理平臺下發的已授權信息;所述已授權信息包括已授權的目標用戶名;
30、會話連接模塊,用于獲取客戶端發起的會話連接請求,所述會話連接請求包括當前用戶名;
31、判斷模塊,用于基于所述代理服務程序判斷所述當前用戶名與所述目標用戶名是否匹配;
32、處理模塊,用于在所述當前用戶名與所述目標用戶名不匹配的情況下,基于所述代理服務程序阻止與所述客戶端建立會話連接。
33、第四方面,本發明提供了一種訪問虛擬應用的裝置,應用于管理平臺,所述裝置包括:
34、請求獲取模塊,用于獲取客戶端發送的用于訪問目標虛擬應用的訪問請求;所述訪問請求包括訪問用戶名;
35、第一發送模塊,用于在所述訪問請求合法的情況下,向所述客戶端返回與所述目標虛擬應用相對應的應用信息;
36、第二發送模塊,用于將所述訪問用戶名作為已授權的目標用戶名,并向應用服務器的代理服務程序返回包括所述目標用戶名的已授權信息;所述已授權信息用于指示所述代理服務程序根據所述目標用戶名判斷客戶端發起的會話連接請求是否合法。
37、第五方面,本發明提供了一種計算機設備,包括:存儲器和處理器,存儲器和處理器之間互相通信連接,存儲器中存儲有計算機指令,處理器通過執行計算機指令,從而執行上述第一方面、第二方面或其對應的任一實施方式的訪問虛擬應用的方法。
38、第六方面,本發明提供了一種計算機可讀存儲介質,該計算機可讀存儲介質上存儲有計算機指令,計算機指令用于使計算機執行上述第一方面、第二方面或其對應的任一實施方式的訪問虛擬應用的方法。
39、本發明提供的應用服務器可以在獲取到客戶端發起的會話連接請求之前,基于agent服務程序收到管理平臺發送的已授權信息;在獲取到該會話連接請求時,agent服務程序可以利用已授權信息對該會話連接請求進行認證,以確定會話連接請求的合法性,并在會話連接請求非法時,可以及時地阻止非法客戶端建立會話連接,從而能夠保證虛擬應用的安全性。并且,agent服務程序獨立于應用服務器的rdp服務,既不破壞應用服務器自身的rdp服務,又確保在安全授權的環境下,才允許客戶端使用虛擬應用,避免對應用服務器造成負面影響。