本發(fā)明涉及通信技術(shù)領(lǐng)域,具體地,涉及一種Docker容器的創(chuàng)建方法和創(chuàng)建系統(tǒng)。
背景技術(shù):
目前,Linux操作系統(tǒng)中,所有容器運(yùn)行的是相同的強(qiáng)制訪問控制類型(即SELinux類型,如svirt_lxc_net_t),該類別允許所有網(wǎng)絡(luò)端口都能處于監(jiān)聽狀態(tài),也允許所有網(wǎng)絡(luò)端口都能對外發(fā)起連接。對于容器而言,例如,在一個(gè)容器中運(yùn)行某個(gè)服務(wù)程序,一旦該服務(wù)程序被成功入侵,該服務(wù)程序進(jìn)程將會(huì)連接任何網(wǎng)絡(luò)端口并成為制造垃圾信息的機(jī)器人,也可能會(huì)通過網(wǎng)絡(luò)攻擊其他宿主機(jī)和容器,這便為容器留下了不可否認(rèn)的安全問題。
Docker容器的安全問題本質(zhì)上就是容器技術(shù)的安全性問題,安全性問題90%以上可以歸結(jié)為隔離性問題,Docker容器的隔離性主要運(yùn)用Namespace技術(shù)。Namespace技術(shù)是Linux操作系統(tǒng)提供的一種內(nèi)核級別環(huán)境隔離的方法。但是,雖然Docker容器可通過Namespace的方式分隔出看似是獨(dú)立的空間,然而Linux操作系統(tǒng)內(nèi)核卻不能通過Namespace的方式分隔,所以即使Docker容器具有多個(gè)獨(dú)立的空間(Container),但由于所有的Linux操作系統(tǒng)調(diào)用其實(shí)都是通過主機(jī)的內(nèi)核處理,所以最終還是會(huì)為Docker容器留下安全隱患。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對現(xiàn)有技術(shù)中存在的上述技術(shù)問題,提供一種Docker容器的創(chuàng)建方法和創(chuàng)建系統(tǒng)。該Docker容器的創(chuàng)建方法能使進(jìn)程中運(yùn)行鏡像時(shí)能使用該強(qiáng)制訪問控制策略,從而避免了 主機(jī)內(nèi)核(如Linux操作系統(tǒng))在不同的系統(tǒng)調(diào)用中運(yùn)行Docker容器中的進(jìn)程時(shí)對Docker容器的安全形成威脅,加強(qiáng)了Docker容器的安全性;同時(shí)還簡化了系統(tǒng)調(diào)用或訪問Docker容器中的進(jìn)程時(shí)的強(qiáng)制訪問控制過程。
本發(fā)明提供一種Docker容器的創(chuàng)建方法,包括:
為所述Docker容器中的鏡像定義強(qiáng)制訪問控制策略,以使開啟所述Docker容器中的進(jìn)程時(shí)使用所述強(qiáng)制訪問控制策略;
在所述Docker容器創(chuàng)建時(shí),將所述強(qiáng)制訪問控制策略嵌入所述鏡像中的元數(shù)據(jù)中。
優(yōu)選地,所述為所述Docker容器中的鏡像定義強(qiáng)制訪問控制策略包括:
根據(jù)所述鏡像的功能為所述強(qiáng)制訪問控制策略定義名稱;
定義所述鏡像的強(qiáng)制訪問控制類型;
定義所述鏡像的強(qiáng)制訪問控制類型的類型權(quán)限上界;
為所述鏡像的強(qiáng)制訪問控制類型定義名稱;
定義所述鏡像的強(qiáng)制訪問控制規(guī)則。
優(yōu)選地,所述鏡像的強(qiáng)制訪問控制類型的類型權(quán)限上界包括svirt_lxc_net_t。
優(yōu)選地,所述開啟所述Docker容器中的進(jìn)程時(shí)使用所述強(qiáng)制訪問控制策略包括:
當(dāng)開啟所述Docker容器中的進(jìn)程時(shí),所述進(jìn)程按照所述強(qiáng)制訪問控制規(guī)則執(zhí)行可執(zhí)行文件,包括:
當(dāng)所述進(jìn)程的類型和所述可執(zhí)行文件的類型均屬于系統(tǒng)策略中定義的類型集合時(shí),所述進(jìn)程不能執(zhí)行所述可執(zhí)行文件;
當(dāng)所述進(jìn)程的類型屬于所述系統(tǒng)策略中定義的類型集合,且所述可執(zhí)行文件的類型屬于所述強(qiáng)制訪問控制策略中定義的類型集合時(shí),判斷所述進(jìn)程的類型權(quán)限是否低于所述強(qiáng)制訪問控制類型的類型權(quán)限上界,如果是,所述進(jìn)程能執(zhí)行所述可執(zhí)行文件,且所述進(jìn)程的類型能切換為默認(rèn)類型;否則,所述進(jìn)程不能執(zhí)行所述可執(zhí)行文件,且所述進(jìn)程的類型不能切換為所述默認(rèn)類型;
當(dāng)所述進(jìn)程的類型屬于所述強(qiáng)制訪問控制策略中定義的類型集合,且所述可執(zhí)行文件的類型屬于所述系統(tǒng)策略中定義的類型集合時(shí),判斷所述可執(zhí)行文件的類型權(quán)限是否低于所述強(qiáng)制訪問控制類型的類型權(quán)限上界;如果是,所述進(jìn)程能執(zhí)行所述可執(zhí)行文件,且所述進(jìn)程的類型能切換為默認(rèn)類型;否則,所述進(jìn)程不能執(zhí)行所述可執(zhí)行文件,且所述進(jìn)程的類型不能切換為所述默認(rèn)類型;
當(dāng)所述進(jìn)程的類型和所述可執(zhí)行文件的類型均屬于所述強(qiáng)制訪問控制策略中定義的類型集合時(shí),所述進(jìn)程能執(zhí)行所述可執(zhí)行文件,且所述進(jìn)程的類型能切換為默認(rèn)類型;
其中,所述系統(tǒng)策略中定義的類型集合為系統(tǒng)定義的除所述Docker容器以外的所述系統(tǒng)中的其他進(jìn)程和文件的類型集合;所述強(qiáng)制訪問控制策略中定義的類型集合為給所述Docker容器中的鏡像定義的類型集合。
本發(fā)明還提供一種Docker容器的創(chuàng)建系統(tǒng),包括:
定義模塊,用于為所述Docker容器中的鏡像定義強(qiáng)制訪問控制策略,以使開啟所述Docker容器中的進(jìn)程時(shí)使用所述強(qiáng)制訪問控制策略;
嵌入模塊,用于在所述Docker容器創(chuàng)建時(shí),將所述強(qiáng)制訪問控制策略嵌入所述鏡像中的元數(shù)據(jù)中。
優(yōu)選地,所述定義模塊包括:
第一定義單元,用于根據(jù)所述鏡像的功能為所述強(qiáng)制訪問控制策略定義名稱;
第二定義單元,用于定義所述鏡像的強(qiáng)制訪問控制類型;
第三定義單元,用于定義所述鏡像的強(qiáng)制訪問控制類型的類型權(quán)限上界;
第四定義單元,用于為所述鏡像的強(qiáng)制訪問控制類型定義名稱;
第五定義單元,用于定義所述鏡像的強(qiáng)制訪問控制規(guī)則。
優(yōu)選地,所述鏡像的強(qiáng)制訪問控制類型的類型權(quán)限上界包括 svirt_lxc_net_t。
優(yōu)選地,所述定義模塊用于在開啟所述Docker容器中的進(jìn)程時(shí),使所述進(jìn)程按照所述強(qiáng)制訪問控制規(guī)則執(zhí)行可執(zhí)行文件;
所述定義模塊還用于在所述進(jìn)程的類型和所述可執(zhí)行文件的類型均屬于系統(tǒng)策略中定義的類型集合時(shí),使所述進(jìn)程不能執(zhí)行所述可執(zhí)行文件;
所述定義模塊還用于在所述進(jìn)程的類型屬于所述系統(tǒng)策略中定義的類型集合,且所述可執(zhí)行文件的類型屬于所述強(qiáng)制訪問控制策略中定義的類型集合時(shí),判斷所述進(jìn)程的類型權(quán)限是否低于所述強(qiáng)制訪問控制類型的類型權(quán)限上界,并根據(jù)判斷結(jié)果確定所述進(jìn)程是否能執(zhí)行所述可執(zhí)行文件和所述進(jìn)程的類型是否能切換為默認(rèn)類型;
所述定義模塊還用于在所述進(jìn)程的類型屬于所述強(qiáng)制訪問控制策略中定義的類型集合,且所述可執(zhí)行文件的類型屬于所述系統(tǒng)策略中定義的類型集合時(shí),判斷所述可執(zhí)行文件的類型權(quán)限是否低于所述強(qiáng)制訪問控制類型的類型權(quán)限上界,并根據(jù)判斷結(jié)果確定所述進(jìn)程是否能執(zhí)行所述可執(zhí)行文件和所述進(jìn)程的類型是否能切換為默認(rèn)類型;
所述定義模塊還用于在所述進(jìn)程的類型和所述可執(zhí)行文件的類型均屬于所述強(qiáng)制訪問控制策略中定義的類型集合時(shí),使所述進(jìn)程能執(zhí)行所述可執(zhí)行文件,且所述進(jìn)程的類型能切換為默認(rèn)類型;
其中,所述系統(tǒng)策略中定義的類型集合為系統(tǒng)定義的除所述Docker容器以外的所述系統(tǒng)中的其他進(jìn)程和文件的類型集合;所述強(qiáng)制訪問控制策略中定義的類型集合為給所述Docker容器中的鏡像定義的類型集合。
本發(fā)明的有益效果:本發(fā)明所提供的Docker容器的創(chuàng)建方法,通過為Docker容器中的鏡像提供定制的強(qiáng)制訪問控制策略,能使進(jìn)程中運(yùn)行鏡像時(shí)能使用該強(qiáng)制訪問控制策略,從而避免了主機(jī)內(nèi)核(如Linux操作系統(tǒng))在不同的系統(tǒng)調(diào)用中運(yùn)行Docker 容器中的進(jìn)程時(shí)對Docker容器的安全形成威脅,加強(qiáng)了Docker容器的安全性;同時(shí)還簡化了系統(tǒng)調(diào)用或訪問Docker容器中的進(jìn)程時(shí)的強(qiáng)制訪問控制過程。
本發(fā)明所提供的Docker容器的創(chuàng)建系統(tǒng),通過設(shè)置定義模塊和嵌入模塊,能為Docker容器中的鏡像提供定制的強(qiáng)制訪問控制策略,以使進(jìn)程中運(yùn)行鏡像時(shí)能使用該強(qiáng)制訪問控制策略,從而避免了主機(jī)內(nèi)核(如Linux操作系統(tǒng))在不同的系統(tǒng)調(diào)用中運(yùn)行Docker容器中的進(jìn)程時(shí)對Docker容器的安全形成威脅,加強(qiáng)了Docker容器的安全性;同時(shí)還簡化了系統(tǒng)調(diào)用或訪問Docker容器中的進(jìn)程時(shí)的強(qiáng)制訪問控制過程。
附圖說明
圖1為本發(fā)明實(shí)施例1中Docker容器的創(chuàng)建方法的流程圖;
圖2為本發(fā)明實(shí)施例2中Docker容器中的進(jìn)程執(zhí)行可執(zhí)行文件時(shí)遵循的強(qiáng)制訪問控制規(guī)則;
圖3為本發(fā)明實(shí)施例3中Docker容器的創(chuàng)建系統(tǒng)的原理框圖。
其中的附圖標(biāo)記說明:
1.定義模塊;11.第一定義單元;12.第二定義單元;13.第三定義單元;14.第四定義單元;15.第五定義單元;2.嵌入模塊。
具體實(shí)施方式
為使本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明所提供的一種Docker容器的創(chuàng)建方法和創(chuàng)建系統(tǒng)作進(jìn)一步詳細(xì)描述。
實(shí)施例1:
本實(shí)施例提供一種Docker容器的創(chuàng)建方法,如圖1所示,包括:
步驟S1:為Docker容器中的鏡像定義強(qiáng)制訪問控制策略, 以使開啟Docker容器中的進(jìn)程時(shí)使用強(qiáng)制訪問控制策略。
步驟S2:在Docker容器創(chuàng)建時(shí),將強(qiáng)制訪問控制策略嵌入鏡像中的元數(shù)據(jù)中。
該Docker容器的創(chuàng)建方法通過為Docker容器中的鏡像提供定制的強(qiáng)制訪問控制策略,能使進(jìn)程中運(yùn)行鏡像時(shí)能使用該強(qiáng)制訪問控制策略,從而避免主機(jī)內(nèi)核(如Linux操作系統(tǒng))在不同的系統(tǒng)調(diào)用中運(yùn)行Docker容器中的進(jìn)程時(shí)對Docker容器的安全形成威脅,加強(qiáng)了Docker容器的安全性;同時(shí)還簡化了系統(tǒng)調(diào)用或訪問Docker容器中的進(jìn)程時(shí)的強(qiáng)制訪問控制過程。
實(shí)施例2:
本實(shí)施例提供一種Docker容器的創(chuàng)建方法,包括:
步驟S1:為Docker容器中的鏡像定義強(qiáng)制訪問控制策略,以使開啟Docker容器中的進(jìn)程時(shí)使用強(qiáng)制訪問控制策略。
在該步驟中,為Docker容器中的鏡像定義強(qiáng)制訪問控制策略包括:
步驟S11:根據(jù)鏡像的功能為強(qiáng)制訪問控制策略定義名稱。
如:policy_module(docker_apache,1.0),即定義強(qiáng)制訪問控制策略的名稱為docker_apache,表示Docker容器中運(yùn)行的是apache服務(wù)程序。
步驟S12:定義鏡像的強(qiáng)制訪問控制類型。
如virt_sandbox_domain_template(httpd_t),即定義鏡像的強(qiáng)制訪問控制類型為httpd_t。
步驟S13:定義鏡像的強(qiáng)制訪問控制類型的類型權(quán)限上界。
本實(shí)施例中,鏡像的強(qiáng)制訪問控制類型的類型權(quán)限上界包括svirt_lxc_net_t。如typebounds http_t svirt_lxc_net_t,即定義鏡像的強(qiáng)制訪問控制類型的類型權(quán)限上界為svirt_lxc_net_t。
步驟S14:為鏡像的強(qiáng)制訪問控制類型定義名稱。
如type http_exec_t,即為鏡像的強(qiáng)制訪問控制類型定義 名稱為http_exec_t。
步驟S15:定義鏡像的強(qiáng)制訪問控制規(guī)則。
該步驟是為了在開啟Docker容器中的進(jìn)程時(shí)使用上述強(qiáng)制訪問控制策略,即當(dāng)開啟Docker容器中的進(jìn)程時(shí),該進(jìn)程按照定義的強(qiáng)制訪問控制規(guī)則執(zhí)行可執(zhí)行文件,具體包括:如圖2中所示,
當(dāng)進(jìn)程的類型和可執(zhí)行文件的類型均屬于系統(tǒng)策略中定義的類型集合時(shí),進(jìn)程不能執(zhí)行可執(zhí)行文件。
當(dāng)進(jìn)程的類型屬于系統(tǒng)策略中定義的類型集合,且可執(zhí)行文件的類型屬于強(qiáng)制訪問控制策略中定義的類型集合時(shí),判斷進(jìn)程的類型權(quán)限是否低于強(qiáng)制訪問控制類型的類型權(quán)限上界;如果是,進(jìn)程能執(zhí)行可執(zhí)行文件,且進(jìn)程的類型能切換為默認(rèn)類型;否則,進(jìn)程不能執(zhí)行可執(zhí)行文件,且進(jìn)程的類型不能切換為默認(rèn)類型。
當(dāng)進(jìn)程的類型屬于強(qiáng)制訪問控制策略中定義的類型集合,且可執(zhí)行文件的類型屬于系統(tǒng)策略中定義的類型集合時(shí),判斷可執(zhí)行文件的類型權(quán)限是否低于強(qiáng)制訪問控制類型的類型權(quán)限上界;如果是,進(jìn)程能執(zhí)行可執(zhí)行文件,且進(jìn)程的類型能切換為默認(rèn)類型;否則,進(jìn)程不能執(zhí)行可執(zhí)行文件,且進(jìn)程的類型不能切換為默認(rèn)類型。
當(dāng)進(jìn)程的類型和可執(zhí)行文件的類型均屬于強(qiáng)制訪問控制策略中定義的類型集合時(shí),進(jìn)程能執(zhí)行可執(zhí)行文件,且進(jìn)程的類型能切換為默認(rèn)類型。
其中,系統(tǒng)策略中定義的類型集合為系統(tǒng)定義的除Docker容器以外的系統(tǒng)中的其他進(jìn)程和文件的類型集合;強(qiáng)制訪問控制策略中定義的類型集合為給Docker容器中的鏡像定義的類型集合。本實(shí)施例中的系統(tǒng)如Linux操作系統(tǒng)。
需要說明的是,默認(rèn)類型是指能執(zhí)行可執(zhí)行文件的進(jìn)程切換到的類型,本發(fā)明中對默認(rèn)類型的具體類型不做限定。
本實(shí)施例中將強(qiáng)制訪問控制規(guī)則定義在Docker容器的鏡像 中,在系統(tǒng)調(diào)用或訪問Docker容器中的進(jìn)程時(shí),直接按照該強(qiáng)制訪問控制規(guī)則運(yùn)行即可,無需再實(shí)時(shí)對進(jìn)程和可執(zhí)行文件的類型進(jìn)行判斷和切換,從而簡化了系統(tǒng)調(diào)用或訪問Docker容器中的進(jìn)程時(shí)的類型判斷和切換過程,同時(shí)還避免了系統(tǒng)在不同的系統(tǒng)調(diào)用中運(yùn)行Docker容器中的進(jìn)程時(shí)對Docker容器的安全形成威脅,加強(qiáng)了Docker容器的安全性。
下面舉例說明Docker容器中的進(jìn)程按照定義的強(qiáng)制訪問控制規(guī)則執(zhí)行可執(zhí)行文件時(shí)的類型切換格式:
類型切換的完整格式為:
Type_transition source_type target_type:process default_type;其中,source_type表示進(jìn)程的類型,target_type表示可執(zhí)行文件的類型,default_type表示能執(zhí)行可執(zhí)行文件的進(jìn)程切換到的類型。
例如:類型切換的語句為:type_transition svirt_lxc_net_t http_exec_t:process httpd_t;其意義表示當(dāng)類型為svirt_lxc_net_t的進(jìn)程執(zhí)行類型為http_exec_t的可執(zhí)行文件時(shí),類型為svirt_lxc_net_t的進(jìn)程能切換為類型為httpd_t的進(jìn)程。
步驟S2:在Docker容器創(chuàng)建時(shí),將強(qiáng)制訪問控制策略嵌入鏡像中的元數(shù)據(jù)中。
該步驟中,Docker容器支持通過LABEL指令給一個(gè)鏡像增加元信息,本實(shí)施例通過在創(chuàng)建鏡像時(shí),讓Docker容器鏡像維護(hù)者在鏡像的元數(shù)據(jù)中寫入強(qiáng)制訪問控制策略,從而加強(qiáng)了Docker容器的安全性。
實(shí)施例1-2的有益效果:實(shí)施例1-2所提供的Docker容器的創(chuàng)建方法,通過為Docker容器中的鏡像提供定制的強(qiáng)制訪問控制策略,能使進(jìn)程中運(yùn)行鏡像時(shí)能使用該強(qiáng)制訪問控制策略,從而避免了主機(jī)內(nèi)核(如Linux操作系統(tǒng))在不同的系統(tǒng)調(diào)用中運(yùn)行Docker容器中的進(jìn)程時(shí)對Docker容器的安全形成威脅,加強(qiáng)了Docker容器的安全性;同時(shí)還簡化了系統(tǒng)調(diào)用或訪問 Docker容器中的進(jìn)程時(shí)的強(qiáng)制訪問控制過程。
實(shí)施例3:
本實(shí)施例提供一種Docker容器的創(chuàng)建系統(tǒng),如圖3所示,包括:定義模塊1,用于為Docker容器中的鏡像定義強(qiáng)制訪問控制策略,以使開啟Docker容器中的進(jìn)程時(shí)使用強(qiáng)制訪問控制策略。嵌入模塊2,用于在Docker容器創(chuàng)建時(shí),將強(qiáng)制訪問控制策略嵌入鏡像中的元數(shù)據(jù)中。
該Docker容器的創(chuàng)建系統(tǒng)通過設(shè)置定義模塊1和嵌入模塊2,能為Docker容器中的鏡像提供定制的強(qiáng)制訪問控制策略,以使進(jìn)程中運(yùn)行鏡像時(shí)能使用該強(qiáng)制訪問控制策略,從而避免了主機(jī)內(nèi)核(如Linux操作系統(tǒng))在不同的系統(tǒng)調(diào)用中運(yùn)行Docker容器中的進(jìn)程時(shí)對Docker容器的安全形成威脅,加強(qiáng)了Docker容器的安全性;同時(shí)還簡化了系統(tǒng)調(diào)用或訪問Docker容器中的進(jìn)程時(shí)的強(qiáng)制訪問控制過程。
本實(shí)施例中,定義模塊1包括:第一定義單元11,用于根據(jù)鏡像的功能為強(qiáng)制訪問控制策略定義名稱。第二定義單元12,用于定義鏡像的強(qiáng)制訪問控制類型。第三定義單元13,用于定義鏡像的強(qiáng)制訪問控制類型的類型權(quán)限上界。第四定義單元14,用于為鏡像的強(qiáng)制訪問控制類型定義名稱。第五定義單元15,用于定義鏡像的強(qiáng)制訪問控制規(guī)則。
其中,鏡像的強(qiáng)制訪問控制類型的類型權(quán)限上界包括svirt_lxc_net_t。
本實(shí)施例中,定義模塊1用于在開啟Docker容器中的進(jìn)程時(shí),使進(jìn)程按照強(qiáng)制訪問控制規(guī)則執(zhí)行可執(zhí)行文件。定義模塊1還用于在進(jìn)程的類型和可執(zhí)行文件的類型均屬于系統(tǒng)策略中定義的類型集合時(shí),使進(jìn)程不能執(zhí)行可執(zhí)行文件。定義模塊1還用于在進(jìn)程的類型屬于系統(tǒng)策略中定義的類型集合,且可執(zhí)行文件的類型屬于強(qiáng)制訪問控制策略中定義的類型集合時(shí),判斷進(jìn)程的類型權(quán)限是否低于強(qiáng)制訪問控制類型的類型權(quán)限上界,并根據(jù)判 斷結(jié)果確定進(jìn)程是否能執(zhí)行可執(zhí)行文件和進(jìn)程的類型是否能切換為默認(rèn)類型。定義模塊1還用于在進(jìn)程的類型屬于強(qiáng)制訪問控制策略中定義的類型集合,且可執(zhí)行文件的類型屬于系統(tǒng)策略中定義的類型集合時(shí),判斷可執(zhí)行文件的類型權(quán)限是否低于強(qiáng)制訪問控制類型的類型權(quán)限上界,并根據(jù)判斷結(jié)果確定進(jìn)程是否能執(zhí)行可執(zhí)行文件和進(jìn)程的類型是否能切換為默認(rèn)類型。定義模塊1還用于在進(jìn)程的類型和可執(zhí)行文件的類型均屬于強(qiáng)制訪問控制策略中定義的類型集合時(shí),使進(jìn)程能執(zhí)行可執(zhí)行文件,且進(jìn)程的類型能切換為默認(rèn)類型。
其中,系統(tǒng)策略中定義的類型集合為系統(tǒng)定義的除Docker容器以外的系統(tǒng)中的其他進(jìn)程和文件的類型集合;強(qiáng)制訪問控制策略中定義的類型集合為給Docker容器中的鏡像定義的類型集合。
本實(shí)施例中的系統(tǒng)如Linux操作系統(tǒng)。
需要說明的是,默認(rèn)類型是指能執(zhí)行可執(zhí)行文件的進(jìn)程切換到的類型,本發(fā)明中對默認(rèn)類型的具體類型不做限定。
本實(shí)施例中通過定義模塊1將強(qiáng)制訪問控制規(guī)則定義在Docker容器的鏡像中,在系統(tǒng)調(diào)用或訪問Docker容器中的進(jìn)程時(shí),直接按照該強(qiáng)制訪問控制規(guī)則運(yùn)行即可,無需再實(shí)時(shí)對進(jìn)程和可執(zhí)行文件的類型進(jìn)行判斷和切換,從而簡化了系統(tǒng)調(diào)用或訪問Docker容器中的進(jìn)程時(shí)的類型判斷和切換過程,同時(shí)還避免了系統(tǒng)在不同的系統(tǒng)調(diào)用中運(yùn)行Docker容器中的進(jìn)程時(shí)對Docker容器的安全形成威脅,加強(qiáng)了Docker容器的安全性。
本實(shí)施例中,嵌入模塊2通過Docker容器支持的LABEL指令給一個(gè)鏡像增加元信息,本實(shí)施例通過在創(chuàng)建鏡像時(shí),在鏡像的元數(shù)據(jù)中寫入強(qiáng)制訪問控制策略,從而加強(qiáng)了Docker容器的安全性。
實(shí)施例3的有益效果:實(shí)施例3中所提供的Docker容器的創(chuàng)建系統(tǒng),通過設(shè)置定義模塊和嵌入模塊,能為Docker容器中的鏡像提供定制的強(qiáng)制訪問控制策略,以使進(jìn)程中運(yùn)行鏡像時(shí)能 使用該強(qiáng)制訪問控制策略,從而避免了主機(jī)內(nèi)核(如Linux操作系統(tǒng))在不同的系統(tǒng)調(diào)用中運(yùn)行Docker容器中的進(jìn)程時(shí)對Docker容器的安全形成威脅,加強(qiáng)了Docker容器的安全性;同時(shí)還簡化了系統(tǒng)調(diào)用或訪問Docker容器中的進(jìn)程時(shí)的強(qiáng)制訪問控制過程。
可以理解的是,以上實(shí)施方式僅僅是為了說明本發(fā)明的原理而采用的示例性實(shí)施方式,然而本發(fā)明并不局限于此。對于本領(lǐng)域內(nèi)的普通技術(shù)人員而言,在不脫離本發(fā)明的精神和實(shí)質(zhì)的情況下,可以做出各種變型和改進(jìn),這些變型和改進(jìn)也視為本發(fā)明的保護(hù)范圍。