成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Docker容器實(shí)戰(zhàn):容器安全的優(yōu)秀實(shí)踐

云計(jì)算 云原生
關(guān)于容器的監(jiān)控,目前比較常用的方案有cAdvisor+Prometheus+Grafana+Alertmanager組合,該方案集成監(jiān)控、展示和告警等系列功能,可以有效發(fā)現(xiàn)容器問題。

??想了解更多關(guān)于開源的內(nèi)容,請(qǐng)?jiān)L問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??

一. 容器配置

1、禁止使用特權(quán)容器

使用--privileged啟動(dòng)容器時(shí),會(huì)將所有內(nèi)核功能賦予容器,從而覆蓋Capability的能力限制。在這種情況下,容器可執(zhí)行主機(jī)層面能做的大部分事情,從而給系統(tǒng)帶來較大的安全隱患,所以應(yīng)該被禁止。

$ docker run -d --privileged nginx

2、限制容器的資源使用

默認(rèn)情況下,主機(jī)上的容器對(duì)于資源的訪問并沒有受到限制。此時(shí),當(dāng)某個(gè)容器被攻擊或者程序出錯(cuò)時(shí),將可能因?yàn)檫^多占用資源而影響到主機(jī)和其他容器的運(yùn)行。

因此,可以通過Cgroup的特性來設(shè)置容器的資源使用限制,這樣得以最大程度減少因此類問題而產(chǎn)生的影響 。

示例1:限制CPU可以使用的最大核數(shù)為1 。

$ docker run -d --cpus 1 nginx

示例2:限制容器可以使用特定的CPU,如宿主機(jī)有4個(gè)CPU,我們只允許容器使用第一個(gè)CPU,可以設(shè)置如下 :

$ docker run -d --cpuset-cpus 0 nginx

示例3:限制容器最大內(nèi)存使用量為512M。

$ docker run -d -m 512m  nginx

3、 隔離容器網(wǎng)絡(luò)

Docker默認(rèn)使用bridge網(wǎng)絡(luò),該網(wǎng)絡(luò)會(huì)創(chuàng)建一個(gè)虛擬網(wǎng)橋,連接在同一個(gè)網(wǎng)橋之間的容器可以互相訪問。為了提升網(wǎng)絡(luò)安全性,建議不要依賴默認(rèn)的docker0網(wǎng)絡(luò),而是通過自定義網(wǎng)絡(luò)方式進(jìn)行容器網(wǎng)絡(luò)的劃分,這樣可保證對(duì)宿主機(jī)中的容器之間做到訪問隔離。

另外,在主機(jī)層面也應(yīng)盡可能進(jìn)行網(wǎng)絡(luò)劃分,不同的主機(jī)運(yùn)行不同安全性要求的容器,如開發(fā)環(huán)境、測(cè)試環(huán)境和生產(chǎn)環(huán)境的宿主機(jī)應(yīng)該彼此隔離。

4、禁止掛載主機(jī)系統(tǒng)目錄

主機(jī)中與系統(tǒng)相關(guān)的目錄,包含 /boot、/dev、/etc、/proc、/sys、/usr等,應(yīng)該明令禁止被掛載到容器中。尤其是在讀寫模式下,這種情況會(huì)導(dǎo)致容器具有對(duì)主機(jī)系統(tǒng)進(jìn)行修改的能力,從而給主機(jī)系統(tǒng)帶來極大的安全隱患。

遺憾的是,目前在Docker層面并沒有相關(guān)的技術(shù)方案來限制此類行為,只能通過審計(jì)等手段進(jìn)行發(fā)現(xiàn)。

5、 將容器的根文件系統(tǒng)掛載為只讀

將容器的根文件系統(tǒng)掛載為只讀模式,這種模式可以避免對(duì)根文件系統(tǒng)帶來任何的修改,從而保證了容器的安全性。當(dāng)然,只讀的模式也會(huì)帶來不便 ,需要結(jié)合掛載存儲(chǔ)來使用,將輸出的內(nèi)容寫到持久化存儲(chǔ)中。

配置只讀的方式很簡(jiǎn)單,在啟動(dòng)容器時(shí)添加 --read only 選項(xiàng),如下:

$ docker run -it  --read-only  nginx sh
# echo 'test' > /root/1.txt
sh: 2: cannot create /root/1.txt: Read-only file system

6、禁止共享主機(jī)的網(wǎng)絡(luò)棧

在啟動(dòng)容器時(shí),使用--network host 可以讓容器與主機(jī)共享網(wǎng)絡(luò)棧,此時(shí),容器會(huì)使用主機(jī)的IP及其他的網(wǎng)絡(luò)配置,并自動(dòng)將容器的端口映射到主機(jī)。

這種方法雖然帶來了一定的便利性,但也給容器帶來了風(fēng)險(xiǎn)。在這種模式下,容器內(nèi)可對(duì)主機(jī)的網(wǎng)絡(luò)棧進(jìn)行操作,所以并不建議使用。

$ docker run -d --network host  nginx

二、鏡像管理

1、禁止在鏡像中存儲(chǔ)機(jī)密信息

容器中程序在正常運(yùn)行的過程中,通常需要使用到一些機(jī)密信息,如數(shù)據(jù)庫賬號(hào)密碼、access token等。諸如此類的敏感信息,不應(yīng)被保存到鏡像中,不然會(huì)造成機(jī)密信息泄露風(fēng)險(xiǎn)。

可以使用配置中心等方案,將這些信息移到外部進(jìn)行管理。

2、選用最小化的基礎(chǔ)鏡像

在使用Dockerfile構(gòu)建應(yīng)用鏡像時(shí),需要選擇一個(gè)鏡像來作為基礎(chǔ)鏡像。對(duì)于該鏡像的選擇,應(yīng)避免使用功能大而全的鏡像,而采用最小化滿足的模式。

這樣可以帶來兩個(gè)好處:

最大程度減少安全漏洞。

減少對(duì)于資源的占用。

3、掃描并驗(yàn)證鏡像

在 2019 年時(shí),作為安全公司的Snyk 發(fā)現(xiàn),10大最流行的 Docker 鏡像中,每個(gè)鏡像至少有 30 個(gè)安全漏洞。這足以引起我們對(duì)于鏡像安全的警覺。

#夏日挑戰(zhàn)賽#Docker容器實(shí)戰(zhàn):容器安全的最佳實(shí)踐-開源基礎(chǔ)軟件社區(qū)

通過對(duì)Docker鏡像進(jìn)行漏洞掃描,可以讓開發(fā)和運(yùn)維人員清楚鏡像的安全狀態(tài),并采取措施修復(fù)發(fā)現(xiàn)的問題,從而實(shí)現(xiàn)更安全的部署。

目前支持鏡像掃描的開源方案有Docker scan、Clair、Anchore等,其中Docker Scan已集成到最新的Docker版本中,可以開箱即用。

4、使用多階段構(gòu)建 

在舊的版本中,構(gòu)建鏡像的操作通常在一個(gè)Dockerfile流程中完成,在這種模式下構(gòu)建的鏡像會(huì)包含很多冗余的文件,如源碼文件、下載的依賴包、打包產(chǎn)生的臨時(shí)文件等。

為了解決這個(gè)問題,Docker在17.05 版本開始支持使用多階段構(gòu)建(Multi-stage builds)。使用這種模式構(gòu)建鏡像時(shí),我們可以第一階段完成代碼的打包等工作流程,然后在第二階段選擇合適的運(yùn)行鏡像,并將上個(gè)階段生成的包拷貝到鏡像中配置運(yùn)行。

多階段構(gòu)建具有速度快、鏡像體積更小、安全性更高等特點(diǎn),建議采用此種方式來進(jìn)行鏡像的構(gòu)建 。

示例:

#階段一:編譯打包
FROM maven:3.5.0-jdk-8-alpine AS builder
ADD ./pom.xml pom.xml
ADD ./src src/
RUN mvn clean package
# 階段二:配置運(yùn)行
From openjdk:8-jre-alpine
COPY --from=builder target/my-app-1.0-SNAPSHOT.jar my-app-1.0-SNAPSHOT.jar
EXPOSE 8080
CMD ["java", "-jar", "my-app-1.0-SNAPSHOT.jar"]

三、管理規(guī)范

1、限制用戶對(duì)容器主機(jī)的訪問

運(yùn)行容器的主機(jī)應(yīng)該存放在安全、可靠的環(huán)境中,如IDC機(jī)房,這可以在物理上保證機(jī)器的安全性。同時(shí) ,做好系統(tǒng)登錄權(quán)限的管控,只允許可信任的用戶登錄訪問主機(jī),這樣能夠減少由于人為影響而出現(xiàn)的故障。

2、定期更新Docker版本

過時(shí)的版本由于已發(fā)現(xiàn)的漏洞,容易受到安全攻擊。新版本通常會(huì)修復(fù)舊版本出現(xiàn)的Bug和程序錯(cuò)誤,有利于更好地保證容器安全。作為容器的管理員,需要定期進(jìn)行Docker版本的更新,并維持著較新的版本。

3、完善容器監(jiān)控

如何合理有效的利用好監(jiān)控是容器管理員的重要工作,一套完善的監(jiān)控系統(tǒng)有利于幫助我們及時(shí)發(fā)現(xiàn)容器的問題,例如資源負(fù)載高、容器退出等。

關(guān)于容器的監(jiān)控,目前比較常用的方案有cAdvisor+Prometheus+Grafana+Alertmanager組合,該方案集成監(jiān)控、展示和告警等系列功能,可以有效發(fā)現(xiàn)容器問題。

??想了解更多關(guān)于開源的內(nèi)容,請(qǐng)?jiān)L問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??。

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2019-12-16 12:11:53

Docker容器Kubernetes

2022-04-20 12:08:17

容器安全漏洞網(wǎng)絡(luò)安全

2021-02-21 09:33:19

Docker容器安全 應(yīng)用程序

2020-12-16 08:23:06

DevOps容器安全容器

2022-08-01 07:27:36

JavaDocker容器

2022-07-18 11:13:07

容器安全Docker

2022-08-24 08:16:33

容器安全容器

2021-06-08 10:26:10

云計(jì)算云計(jì)算產(chǎn)業(yè)云應(yīng)用

2023-04-11 15:14:57

2019-04-26 07:56:40

容器秘密安全

2020-11-23 18:39:54

容器Kubernetes架構(gòu)

2023-10-06 12:11:52

2023-10-10 17:09:19

2020-03-04 09:56:56

網(wǎng)絡(luò)安全云原生容器

2022-05-10 11:12:09

容器容器安全

2022-03-13 10:48:52

容器Docker容器管理軟件

2022-05-27 05:42:34

容器云安全

2024-11-08 09:45:47

2015-08-19 14:54:25

2023-11-12 22:29:13

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美日本在线观看 | 久久久一二三区 | 日本成人中文字幕 | 欧美九九九 | 久久国产精品色av免费观看 | 在线观看中文字幕av | 免费国产一区二区视频 | 日本一区二区影视 | .国产精品成人自产拍在线观看6 | 欧美国产精品 | 欧美日韩不卡合集视频 | 国产高清视频在线观看 | 午夜欧美一区二区三区在线播放 | 天天色天天色 | 久久专区 | 日本成人福利 | 在线观看国产wwwa级羞羞视频 | 日日干天天干 | 国产区久久 | 久草免费在线视频 | 99综合 | www亚洲精品 | 中文字幕一区二区三区精彩视频 | 亚洲精品一二三 | 日韩欧美在线观看 | 久久久久久91| 亚洲社区在线 | 国产精品特级毛片一区二区三区 | 亚洲视频中文 | 黄色一级大片在线免费看产 | 国产精品jizz在线观看老狼 | www.一级片 | 国产视频福利一区 | а天堂中文最新一区二区三区 | 91电影| 久久国产成人 | 狠狠操av | 成人免费一区二区三区视频网站 | 久久网一区二区 | 午夜国产一区 | 在线亚洲欧美 |