版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、技術(shù)創(chuàng)新,變革未來(lái)打造安全的容器云平臺(tái)Docker 技術(shù)帶的 IT 變革Docker 自身的安全問(wèn)題如何打造安全的容器云平臺(tái)議程Docker 技術(shù)帶的 IT 變革Docker 的架構(gòu)Build, Ship, and Run Any App, AnywhereDocker 的特點(diǎn)輕量級(jí) 快速啟動(dòng) 動(dòng)態(tài)遷移 彈性擴(kuò)展生命周期短 環(huán)境封裝 快速部署 具有可讀性應(yīng)用交付的改變開(kāi)發(fā)環(huán)境環(huán)境構(gòu)建 參數(shù)配置測(cè)試環(huán)境環(huán)境構(gòu)建 參數(shù)配置生產(chǎn)環(huán)境環(huán)境構(gòu)建 參數(shù)配置測(cè)試環(huán)境生產(chǎn)環(huán)境鏡像鏡像開(kāi)發(fā)環(huán)境環(huán)境構(gòu)建 參數(shù)配置傳統(tǒng)的交付模式代碼代碼容器的交付模式給傳統(tǒng)安全解決方案的挑戰(zhàn)容器自身提供了個(gè)新的攻擊對(duì)象容器間共享內(nèi)核
2、帶來(lái)新的攻擊機(jī)會(huì)容器自身的漏洞及調(diào)度方式的改變新的部署方式對(duì)傳統(tǒng)安全工作的影晌容器的運(yùn)維和配置帶來(lái)新的安全問(wèn)題Docker 技術(shù)的自身安全問(wèn)題HardwareHost OSGuest OSGuest OSHypervisorApp 2App 1HardwareHost OSHardware VirtualizationOS-level Virtualization減少 Guest OS 層 減少 Hypervisor 層可直接運(yùn)行在 Baremetal 上 所有容器共享 Linux Kernel通過(guò) Docker Engine 進(jìn)行隔離App 1App 2Docker Engine容器 VS
3、虛擬機(jī)對(duì)容器安全性的擔(dān)憂操作系統(tǒng)級(jí)的虛擬化不如物理級(jí)虛擬化安全容器與宿主機(jī)共用個(gè)內(nèi)核,在容器中可以直接調(diào)用內(nèi)核提供的系統(tǒng)調(diào)用Namespace,cgroup 不安全,且并非所有資源都已隔離同宿主機(jī)上的容器可以通過(guò)掛載共享宿主機(jī)文件系統(tǒng)網(wǎng)絡(luò)的隔離比較弱,同宿主機(jī)下所有容器共用張物理網(wǎng)卡容器產(chǎn)品自身的安全漏洞用戶自定義的配置文件安全漏洞對(duì) Docker Daemon 的攻擊Docker 自身的安全問(wèn)題Linux 內(nèi)核鏡像文件Docker 守護(hù)進(jìn)程Docker 容器配置文件應(yīng)用程序安全漏洞傳輸創(chuàng)建運(yùn)行時(shí)對(duì)宿主造成威脅對(duì)自身應(yīng)用造成威脅對(duì)其他容器造成威脅Docker 在安全性上做的努力Kernel n
4、amespaces Control groupsLinux kernel capabilities Docker daemon attack surfaceProtect the Docker daemon socket SELinux, AppArmor, GRSEC,Seccomp Docker Security ScanningDocker Content Trust默認(rèn)的安全設(shè)置Namespacenamespace引入的相關(guān)內(nèi)核版本被隔離的全局系統(tǒng) 資源在容器環(huán)境下的隔離效果Mount namespacesLinux 2.4.19文件系統(tǒng)掛接點(diǎn)每個(gè)容器能看到不同的文件系統(tǒng)層次結(jié)構(gòu)。UT
5、S namespacesLinux 2.6.19nodename 和domainname每個(gè)容器可以有自己的 hostname 和 domainame。IPC namespacesLinux 2.6.19特定的進(jìn)程間通信資 源,包括System VIPC 和 POSIXmessage queues每個(gè)容器有其自己的 System V IPC 和 POSIX 消息隊(duì)列文件系 統(tǒng),因此,只有在同個(gè) IPC namespace 的進(jìn)程之間才能互相 通信PID namespacesLinux 2.6.24進(jìn)程 ID 數(shù)字空間 (process ID number space)每個(gè) PID namesp
6、ace 中的進(jìn)程可以有其獨(dú)立的 PID; 每個(gè)容器 可以有其 PID 為 1 的root 進(jìn)程;也使得容器可以在不同的 host 之間遷移,因?yàn)?namespace 中的進(jìn)程 ID 和 host 無(wú)關(guān)了。這也 使得容器中的每個(gè)進(jìn)程有兩個(gè)PID:容器中的 PID 和 host 上的PID。Network namespaces始千Linux 2.6.24 完成千 Linux 2.6.29網(wǎng)絡(luò)相關(guān)的系統(tǒng)資源每個(gè)容器用有其獨(dú)立的網(wǎng)絡(luò)設(shè)備,IP 地址,IP 路由表,/proc/net 目錄,端口號(hào)等等。這也使得個(gè) host 上多個(gè)容器內(nèi)的同個(gè) 應(yīng)用都綁定到各自容器的 80 端口上。User namesp
7、aces始千 Linux 2.6.23 完成 千 Linux 3.8用戶和組 ID 空間在 user namespace 中的進(jìn)程的用戶和組 ID 可以和在 host 上不 同; 每個(gè) container 可以有不同的 user 和 group id;個(gè) host 上的非特權(quán)用戶可以成為 user namespace 中的特權(quán)用戶。User NamespaceDocker V1.10 支持默認(rèn)情況下,容器內(nèi)的進(jìn)程的運(yùn)行用戶就是 host 上的 root 用戶增加參數(shù):userns-remap=default 啟用 User Namespace,可以讓容器有一個(gè) “假”的root用戶,它在容器內(nèi)
8、是 root,在容器外是一個(gè)非 root 用戶。Hardware-UTS-IPC-PID-Network-UserLinux KernelUser NamespaceUser NamespaceUser NamespaceUser NamespaceUser NamespaceCgroups對(duì)容器使用的資源進(jìn)行限制控制內(nèi)存使用控制CPU分配時(shí)間控制磁盤I/O控制設(shè)備訪問(wèn)權(quán)限.task_cgroupscontainer 1container 2container N/Cgroupscgroup1cgroup2cgroup3cpusetcpucpuacctmemoryblkionet_clsCap
9、abilityDocker V1.3 支持將傳統(tǒng)超級(jí)用戶的特權(quán)劃分為多個(gè)CapabilitiesLinux 接近40項(xiàng)的 Capabilities可以單獨(dú)啟用或者關(guān)閉,因此同為 root 用戶,權(quán)限卻因 Capabilities 的不同而存在差異。Docker為了確保容器的安全,僅僅支持了其中的14項(xiàng)基本的 Capabilities-privileged 參數(shù)設(shè)為 true,Docker容器的 root 用戶將獲得 37 項(xiàng) Capabilities 能力-cap-add 參數(shù)添加以及移除 Capabilities-cap-drop 參數(shù)移除 Capabilities內(nèi)核強(qiáng)制性的訪問(wèn)控制(MA
10、C)SELinux(Secure Enhanced Linux):是個(gè)Linux安全策略機(jī)制,允許管理員更加靈活的 定義安全策略。通過(guò)策略規(guī)定哪些域可以訪問(wèn)哪些上下文、哪些進(jìn)程可以訪問(wèn)哪些文件。AppArmor 類似于selinux,主要的作用是設(shè)置某個(gè)可執(zhí)行程序的訪問(wèn)控制權(quán)限,可以限 制程序 讀/寫某個(gè)目錄/文件,打開(kāi)/讀/寫網(wǎng)絡(luò)端口等等。GRSecurity 是個(gè)對(duì)內(nèi)核的安全擴(kuò)展,通過(guò)智能訪問(wèn)控制來(lái)阻止內(nèi)存破壞,預(yù)防0day漏 洞。 Docker容器共享宿主機(jī)的內(nèi)存,在內(nèi)存安全上存在不少問(wèn)題,需要針對(duì)內(nèi)存破壞做 防御。SELinux/AppArmor/GRSECFrom: /compare
11、.phpSeccompDocker V1.10 支持安全計(jì)算模式 secure computing mode允許對(duì)系統(tǒng)調(diào)用進(jìn)行篩選,允許或拒絕系統(tǒng)調(diào)用通過(guò)使用“security-opt seccomp=”標(biāo)記來(lái)指定自定義的seccomp描述文件$ docker run -d -security-opt seccomp:allow:clock_adjtime ntpd這條命令將會(huì)允許容器內(nèi)使用clock_adjtime調(diào)用$docker run -d -security-opt seccomp:deny:getcwd /bin/sh這條命令將會(huì)禁止容器內(nèi)執(zhí)行的shell查詢當(dāng)前自己所在的目錄使用
12、 HTTP socket 通信ca-key.pem ca.pemDocker Deamonserver-key.pem server-cert.pemDocker Clientkey.pem cert.pem HTTPSBy default, Docker runs via anon-networked Unix socket and TLS must be enabled$ dockerd -tlsverify -tlscacert=ca.pem -tlscert=server-cert.pem -tlskey=server-key.pem -H=:2376$ docker -tlsveri
13、fy -tlscacert=ca.pem -tlscert=cert.pem -tlskey=key.pem -H=$HOST:2376 version鏡像掃描(Docker Security Scanning)鏡像簽名(Docker Content Trust)已知的Docker的安全漏洞From:https:/暫末緩解的安全漏洞CVE-2015-3290, 5157Linux kernel中存在本地提權(quán)漏洞。本地攻擊者可利用該漏洞獲取 提升的權(quán)限,或使內(nèi)核崩潰。CVE-2016-5195Linux 內(nèi)核的內(nèi)存子系統(tǒng)在處理寫時(shí)拷貝(Copy-on-Write)時(shí)存在 條件競(jìng)爭(zhēng)漏洞,導(dǎo)致可以破
14、壞私有只讀內(nèi)存映射。個(gè)低權(quán)限的本 地用戶能夠利用此漏洞獲取其他只讀內(nèi)存映射的寫權(quán)限,有可能進(jìn)步導(dǎo)致提權(quán)漏洞。 部分緩解措施:在些操作系統(tǒng)這個(gè)漏洞可由seccomp 和 ptrace過(guò)濾的組讓 /proc/self/mem 只讀進(jìn)行緩解。Docker 已知的安全問(wèn)題Docker V1.10前的版本沒(méi)有user namespace,而之后的版本默認(rèn)不開(kāi)啟Docker Client 使用Rest API 與Docker Daemon通信存在安全問(wèn)題容器的網(wǎng)絡(luò)端口默認(rèn)會(huì)綁定到所有的網(wǎng)卡上Dockerfile的復(fù)雜性和Docker 鏡像處理存在風(fēng)險(xiǎn)Docker Daemon 必須以root權(quán)限運(yùn)行同臺(tái)主
15、機(jī)上的容器因?yàn)楣蚕砭W(wǎng)橋可以相互通信Docker Client 默認(rèn)情況下不驗(yàn)證TLS證書容器中有些操作需要root權(quán)限,如文件系統(tǒng)掛載/proc,/sys,/dev,syslog,time,系統(tǒng)命令等未做隔離未來(lái)的發(fā)展非root運(yùn)行Docker daemon對(duì)更多資源進(jìn)行隔離資源限制訪問(wèn)控制權(quán)限控制調(diào)用控制資源隔離增加更多的資源限制打造安全的容器云平臺(tái)七牛數(shù)據(jù)處理平臺(tái)的背景持來(lái)七云存儲(chǔ)的數(shù)據(jù)處理請(qǐng)求持來(lái)七云存儲(chǔ)的數(shù)據(jù)處理請(qǐng)求持來(lái)七云分發(fā)的數(shù)據(jù)處理請(qǐng)求數(shù)據(jù)處理平臺(tái)的挑戰(zhàn)日均請(qǐng)求量百億級(jí),CPU 密集型計(jì)算服務(wù)器負(fù)載不均衡,資源利用率不高突發(fā)流量不可測(cè)量, 大量冗余資源集群負(fù)載過(guò)重,不能自動(dòng)按需擴(kuò)
16、展用戶自定義應(yīng)用(UFOP)質(zhì)量及規(guī)模未知七牛數(shù)據(jù)處理容器平臺(tái)的架構(gòu)性能監(jiān)控系統(tǒng)負(fù)載均衡服務(wù)注冊(cè)與發(fā)現(xiàn)容器集群用戶認(rèn)證 權(quán)限管理 應(yīng)用發(fā)布 應(yīng)用管理 彈性調(diào)度 安全控制 配置管理數(shù) 據(jù) 處 理 容 器 平 臺(tái)IaaS基礎(chǔ)硬件設(shè)施日志監(jiān)控系統(tǒng)鏡 像 倉(cāng) 庫(kù)APICLIPortal業(yè)務(wù) 系統(tǒng)官方數(shù)據(jù)處理用戶自定義數(shù)據(jù)處理第三方數(shù)據(jù)處理Gate彈性伸縮多租戶多數(shù)據(jù)中心私有部署容器云平臺(tái)的安全角度基礎(chǔ)架構(gòu)層安全容器調(diào)度層安全容器自身的安全應(yīng)用系統(tǒng)層安全授權(quán)訪問(wèn)可信內(nèi)容 平臺(tái)安全打造安全容器云平臺(tái)的措施建立容器云平臺(tái)的安全基線容器 CI/CD 過(guò)程加密驗(yàn)證加強(qiáng)平臺(tái)的權(quán)限訪問(wèn)控制或者API密鑰管理加強(qiáng)容器
17、的安全測(cè)試及滲透測(cè)試加強(qiáng)安全漏洞掃容器云平臺(tái)安全基線(一)及時(shí)更新內(nèi)核User Namespace (容器內(nèi)的 root 權(quán)限在容器之外處于非高權(quán)限 狀態(tài))Cgroups (對(duì)資源的配額和度量)SELinux/AppArmor/GRSEC(控 制文件訪問(wèn)權(quán)限)Capability(權(quán)限劃分)Seccomp (限定系統(tǒng)的調(diào)用)禁止將容器的命名空間與宿主機(jī)進(jìn) 程命名空間共享為容器創(chuàng)建獨(dú)立分區(qū)僅運(yùn)行必要的服務(wù)禁止將宿主機(jī)上敏感目錄到映射到 容器對(duì)Docker守護(hù)進(jìn)程,相關(guān)文件和 目錄進(jìn)行審計(jì)設(shè)置適當(dāng)?shù)哪J(rèn)文件描述符數(shù)用戶權(quán)限為root的Docker相關(guān)文件 的訪問(wèn)權(quán)限應(yīng)該為644或更多限制周期性檢查
18、每個(gè)主機(jī)的容器清單, 并清理不必要的容器通過(guò)iptabls設(shè)定規(guī)則實(shí)現(xiàn)禁止或 允許容器之間網(wǎng)絡(luò)流量允許Docker修改iptables禁止將Docker綁定到其他IP/Port 或Unix Socket禁止在容器上映射特權(quán)端口容器上只開(kāi)放所需的端口禁止在容器上使用主機(jī)網(wǎng)絡(luò)模式若宿主機(jī)有多個(gè)網(wǎng)卡,將容器的 進(jìn)入流量綁定到特定的主機(jī)網(wǎng)卡 上網(wǎng)絡(luò)級(jí)別主機(jī)級(jí)別內(nèi)核級(jí)別容器云平臺(tái)安全基線(二)創(chuàng)建本地鏡像倉(cāng)庫(kù)服務(wù)器鏡像中軟件都為最新版本使用可信鏡像文件,并通過(guò)安 全通道下載重新構(gòu)建鏡像而非對(duì)容器和鏡 像打補(bǔ)丁合理管理鏡像標(biāo)簽,及時(shí)移除 不再使用的鏡像使用鏡像掃描使用鏡像簽名容器最小化,操作系統(tǒng)鏡像最小集容器以單主進(jìn)程的方式運(yùn)行禁止 privileged 標(biāo)志使用特權(quán)容器禁止在容器上運(yùn)行 ssh 服務(wù)器以只讀的方式掛載容器的根文件系 統(tǒng)屬于容器的數(shù)據(jù)盤符明確定義通
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 雙減工作總結(jié)匯報(bào)
- 攤位加盟合同范本
- 《廣西壯族自治區(qū)房屋建筑和市政工程施工招標(biāo)文件范本(2023年版)》
- 物業(yè)清洗合同范本
- 第5課《孔乙己》課件+2023-2024學(xué)年統(tǒng)編版語(yǔ)文九年級(jí)下冊(cè) 第1課時(shí)
- 勞務(wù)雇傭臨時(shí)工合同范本
- 消防演練結(jié)束后
- 私人買車合同范本
- 2024年秋初中科學(xué)九年級(jí)下冊(cè)同步課件(浙教版)3.3.1 身體的防衛(wèi)
- 勞務(wù)宿舍合同范本
- 山西省太原市2024-2025學(xué)年高三上學(xué)期期中物理試卷(含答案)
- 酒店崗位招聘面試題與參考回答2025年
- (統(tǒng)編2024版)道德與法治七上10.1愛(ài)護(hù)身體 課件
- 公安接處警培訓(xùn)
- GB/T 30391-2024花椒
- 供電線路維護(hù)合同
- 胸部術(shù)后護(hù)理科普
- 鞋子工廠供貨合同模板
- 2024碼頭租賃合同范本
- 木材采運(yùn)智能決策支持系統(tǒng)
- 【產(chǎn)業(yè)圖譜】2024年青島市重點(diǎn)產(chǎn)業(yè)規(guī)劃布局全景圖譜(附各地區(qū)重點(diǎn)產(chǎn)業(yè)、產(chǎn)業(yè)體系布局、未來(lái)產(chǎn)業(yè)發(fā)展規(guī)劃等)
評(píng)論
0/150
提交評(píng)論