System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及計算機技術的領域,尤其涉及一種面向多命名空間場景的應用管控方法。
技術介紹
1、隨著計算機云計算技術的發展,云計算已經逐漸成為主流被越來越多的用戶所選擇作為首要的計算和存儲方式。云計算底層主要是基于docker容器等通過命名空間隔離等技術把資源、文件、設備、狀態和配置劃分到一個獨立的空間。雖然容器程序運行在隔離的空間中,但也存在容器逃逸等各種安全問題,能夠對系統造成破壞,威脅系統安全。
2、現有使用強制訪問控制方式,將系統中的進程、文件在內的相關對象分為主體和客體兩種,并給主體、客體設置相應的標記,然后定制特定的強制訪問控制規則來限制主體對客體的操作。此種安全手段需要在容器運行前容器文件系統掛載后對掛載的文件設置特定標記,需要額外的對容器文件系統進行標記的操作,就需要根據定制的策略對其中不同的文件設置不同的標記,就需要記錄文件與標記的對應關系導致整個過程比較復雜。并且修改策略后可能需要重啟容器才會有效果。
技術實現思路
1、為解決上述問題,本專利技術提供了一種面向多命名空間場景的應用管控方法,采用如下的技術方案:
2、一種面向多命名空間場景的應用管控方法,包括:
3、在創建多命名空間時,調用多命名空間引擎模塊生成所述多命名空間的id以及多命名空間名稱并記錄所述多命名空間的id與所述多命名空間名稱的對應關系,所述多命名空間引擎模塊位于應用層;
4、在多命名空間創建完成后,由用戶對所述多命名空間內的多命名空間應用設置管控策略,并
5、擴展進程安全標記,添加所述多命名空間的id;
6、當所述多命名空間啟動時,調用多命名空間引擎模塊將所述多命名空間內的進程對應的多命名空間id由默認值修改為所述多命名空間的id的值,其中,每個進程有對應的進程標記,進程標記包括多命名空間id,進程標記中的多命名空間id的默認值為0;
7、當存在應用程序被執行時,判斷所述應用程序對應的進程的進程標記中所記載的多命名空間id是否為0,基于是否為0確定是否需要由權限控制模塊調取管控策略以確定應用程序的執行權限;
8、當存在應用程序需要聯網時,判斷聯網程序對應的進程的進程標記中所記載的多命名空間id是否為0,基于是否為0確定是否需要由權限控制模塊調取管控策略以確定應用程序的聯網權限;
9、當存在進程需要被殺死時,判斷所述進程的進程標記中所記載的多命名空間id是否為0,基于是否為0確定是否需要由權限控制模塊調取管控策略以確定應用程序的防殺權限。
10、在另一種可能實現的方式中,在應用層所述多命名空間通過多命名空間名稱區分,在內核層所述多命名空間通過多命名空間的id區分,所述管控策略包括管控對象,所述管控對象為需進行管控的多命名空間的id或者多命名空間名稱,所述由多命名空間引擎模塊基于所述對應關系將創建的管控策略導入到策略模塊中,包括:
11、多命名空間引擎模塊基于所述對應關系,將所述管控策略中記載的管控對象由多命名空間名稱轉換為多命名空間的id,得到轉換后的管控策略,并將轉換后的管控策略導入到策略模塊中。
12、在另一種可能實現的方式中,所述策略模塊通過策略庫保存接收到的管控策略,基于是否為0確定是否需要由權限控制模塊調取管控策略以確定應用程序的執行權限,包括:
13、若為0,則確定所述應用程序不屬于所述多命名空間內的應用,通過系統定義的應用程序執行控制流程來確定所述應用程序的執行權限;
14、若不為0,則確定所述應用程序為多命名空間應用,策略模塊從策略庫中查詢是否存在所述應用程序對應的管控策略:若有,則由權限控制模塊調取管控策略以確定所述應用程序的執行權限,若無,則由權限控制模塊直接確定所述應用程序的執行權限為允許執行。
15、在另一種可能實現的方式中,所述策略模塊通過策略庫保存接收到的管控策略,基于是否為0確定是否需要由權限控制模塊調取管控策略以確定應用程序的聯網權限,包括:
16、若為0,則確定所述應用程序不屬于所述多命名空間內的應用,通過系統定義的應用程序聯網控制流程來確定所述應用程序的聯網權限;
17、若不為0,則確定所述應用程序為多命名空間應用,策略模塊從策略庫中查詢是否存在所述應用程序對應的管控策略:若有,則由權限控制模塊調取管控策略以確定所述應用程序的聯網權限,若無,則由權限控制模塊直接確定所述應用程序的聯網權限為允許聯網。
18、在另一種可能實現的方式中,所述策略模塊通過策略庫保存接收到的管控策略,基于是否為0確定是否需要由權限控制模塊調取管控策略以確定應用程序的防殺權限,包括:
19、若為0,則確定所述進程不屬于所述多命名空間內的進程,通過系統定義的進程防殺流程來確定所述應用程序的防殺權限;
20、若不為0,則確定所述進程為多命名空間應用的進程,策略模塊從策略庫中查詢是否存在所述進程對應的管控策略:若有,則由權限控制模塊調取管控策略以確定所述進程的防殺權限,若無,則由權限控制模塊直接確定所述應用程序的防殺權限為允許被殺。
21、綜上所述,本申請包括以下有益技術效果:
22、通過使用策略的方式對多命名空間場景下的應用進行細粒度的安全管控,將安全機制和具體的管控策略分離,通過修改管控策略即可實現不同場景下的應用管控需求。管控策略簡單并可按需靈活配置,即帶來了安全性又提供了靈活管控的能力。并且只對主體設置了標記,沒有對被管控客體設置標記,無需對文件客體標記進行維護,更加簡潔高效。
本文檔來自技高網...【技術保護點】
1.一種面向多命名空間場景的應用管控方法,其特征在于,包括:
2.根據權利要求1所述的一種面向多命名空間場景的應用管控方法,其特征在于,在應用層所述多命名空間通過多命名空間名稱區分,在內核層所述多命名空間通過多命名空間的ID區分,所述管控策略包括管控對象,所述管控對象為需進行管控的多命名空間的ID或者多命名空間名稱,所述由多命名空間引擎模塊基于所述對應關系將創建的管控策略導入到策略模塊中,包括:
3.根據權利要求1所述的一種面向多命名空間場景的應用管控方法,其特征在于,所述策略模塊通過策略庫保存接收到的管控策略,基于是否為0確定是否需要由權限控制模塊調取管控策略以確定應用程序的執行權限,包括:
4.根據權利要求1所述的一種面向多命名空間場景的應用管控方法,其特征在于,所述策略模塊通過策略庫保存接收到的管控策略,基于是否為0確定是否需要由權限控制模塊調取管控策略以確定應用程序的聯網權限,包括:
5.根據權利要求1所述的一種面向多命名空間場景的應用管控方法,其特征在于,所述策略模塊通過策略庫保存接收到的管控策略,基于是否為0確定是否需要
...【技術特征摘要】
1.一種面向多命名空間場景的應用管控方法,其特征在于,包括:
2.根據權利要求1所述的一種面向多命名空間場景的應用管控方法,其特征在于,在應用層所述多命名空間通過多命名空間名稱區分,在內核層所述多命名空間通過多命名空間的id區分,所述管控策略包括管控對象,所述管控對象為需進行管控的多命名空間的id或者多命名空間名稱,所述由多命名空間引擎模塊基于所述對應關系將創建的管控策略導入到策略模塊中,包括:
3.根據權利要求1所述的一種面向多命名空間場景的應用管控方法,其特征在于,所述策略模塊通過策略庫保存接...
【專利技術屬性】
技術研發人員:郇福喜,楊釗,徐葉,楊詔鈞,魏立峰,孔金珠,諶志華,
申請(專利權)人:麒麟軟件有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。