站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

你必須要了解的Docker安全基線

本篇文章給大家?guī)?lái)了docker中安全基線的相關(guān)知識(shí),其中包括服務(wù)配置和文件權(quán)限以及安全審計(jì)的相關(guān)問(wèn)題,希望對(duì)大家有幫助。

你必須要了解的Docker安全基線

Docker安全基線

服務(wù)配置

1.高危-限制容器之間的網(wǎng)絡(luò)流量

描述:

默認(rèn)情況下,同一主機(jī)上的容器之間允許所有網(wǎng)絡(luò)通信。 如果不需要,請(qǐng)限制所有容器間的通信。 將需要相互通信的特定容器鏈接在一起。默認(rèn)情況下,同一主機(jī)上所有容器之間都啟用了不受限制的網(wǎng)絡(luò)流量。 因此,每個(gè)容器都有可能讀取同一主機(jī)上整個(gè)容器網(wǎng)絡(luò)上的所有數(shù)據(jù)包。 這可能會(huì)導(dǎo)致意外和不必要的信息泄露給其他容器。 因此,限制容器間的通信。

加固建議:

在守護(hù)程序模式下運(yùn)行docker并傳遞**–icc = false**作為參數(shù)。 例如,

/usr/bin/dockerd --icc=false

若使用systemctl管理docker服務(wù)則需要編輯

/usr/lib/systemd/system/docker.service

文件中的ExecStart參數(shù)添加 –icc=false項(xiàng) 然后重啟docker服務(wù)

systemctl daemon-reload systemctl restart docker

2.高危-禁止使用特權(quán)容器

描述:

使用–privileged標(biāo)志將所有Linux內(nèi)核功能賦予容器,從而覆蓋–cap-add和–cap-drop標(biāo)志。 確保不使用它。 –privileged標(biāo)志為容器提供了所有功能,并且還解除了設(shè)備cgroup控制器強(qiáng)制執(zhí)行的所有限制。 換句話說(shuō),容器可以完成主機(jī)可以做的幾乎所有事情。 存在此標(biāo)志是為了允許特殊用例,例如在Docker中運(yùn)行Docker

加固建議:

不要使用--privileged標(biāo)志運(yùn)行容器

3.高危-限制容器的內(nèi)存使用量

描述:

默認(rèn)情況下,Docker主機(jī)上的所有容器均等地共享資源。 通過(guò)使用Docker主機(jī)的資源管理功能(例如內(nèi)存限制),您可以控制容器可能消耗的內(nèi)存量。 默認(rèn)情況下,容器可以使用主機(jī)上的所有內(nèi)存。 您可以使用內(nèi)存限制機(jī)制來(lái)防止由于一個(gè)容器消耗主機(jī)的所有資源而導(dǎo)致的服務(wù)拒絕,從而使同一主機(jī)上的其他容器無(wú)法執(zhí)行其預(yù)期的功能。 對(duì)內(nèi)存沒(méi)有限制可能會(huì)導(dǎo)致一個(gè)問(wèn)題,即一個(gè)容器很容易使整個(gè)系統(tǒng)不穩(wěn)定并因此無(wú)法使用。

加固建議

僅使用所需的內(nèi)存來(lái)運(yùn)行容器。 始終使用--memory參數(shù)運(yùn)行容器。 您應(yīng)該按以下方式啟動(dòng)容器:docker run --interactive --tty --memory 256m <Container Image Name or ID>

4.高危-將容器的根文件系統(tǒng)掛載為只讀

描述:

容器的根文件系統(tǒng)應(yīng)被視為“黃金映像”,并且應(yīng)避免對(duì)根文件系統(tǒng)的任何寫操作。 您應(yīng)該顯式定義用于寫入的容器卷。 您不應(yīng)該在容器中寫入數(shù)據(jù)。 屬于容器的數(shù)據(jù)量應(yīng)明確定義和管理。 在管理員控制他們希望開(kāi)發(fā)人員在何處寫入文件和錯(cuò)誤的許多情況下,這很有用。

加固建議:

添加“ –read-only”標(biāo)志,以允許將容器的根文件系統(tǒng)掛載為只讀。 可以將其與卷結(jié)合使用,以強(qiáng)制容器的過(guò)程僅寫入要保留的位置。 您應(yīng)該按以下方式運(yùn)行容器:

docker run --interactive --tty --read-only --volume <writable-volume> <Container Image Name or ID> <Command>

如果您是k8s或其他容器編排軟件編排的容器,請(qǐng)按照相應(yīng)的安全策略配置或忽略。

5.高危-設(shè)置日志記錄級(jí)別

描述:

設(shè)置適當(dāng)?shù)娜罩炯?jí)別,將Docker守護(hù)程序配置為記錄您以后想要查看的事件。 基本日志級(jí)別為“ info”及更高版本將捕獲除調(diào)試日志以外的所有日志。 直到且除非有必要,否則您不應(yīng)在“debug”日志級(jí)別運(yùn)行Docker守護(hù)程序

加固建議:

運(yùn)行Docker守護(hù)程序,如下所示:

dockerd --log-level=info

若以systemctl管理docker服務(wù)則需要編輯/usr/lib/systemd/system/docker.service的ExecStart參數(shù)添加--log-level="info",并重啟docker

systemctl stop docker systemctl start docker

6.高危-允許Docker對(duì)iptables進(jìn)行更改

描述:

iptables用于在Linux內(nèi)核中設(shè)置,維護(hù)和檢查IP數(shù)據(jù)包過(guò)濾器規(guī)則表。 允許Docker守護(hù)程序?qū)ptables進(jìn)行更改。 如果您選擇這樣做,Docker將永遠(yuǎn)不會(huì)對(duì)您的系統(tǒng)iptables規(guī)則進(jìn)行更改。 如果允許,Docker服務(wù)器將根據(jù)您為容器選擇網(wǎng)絡(luò)選項(xiàng)的方式自動(dòng)對(duì)iptables進(jìn)行所需的更改。 建議讓Docker服務(wù)器自動(dòng)對(duì)iptables進(jìn)行更改,以避免網(wǎng)絡(luò)配置錯(cuò)誤,這可能會(huì)妨礙容器之間以及與外界的通信。 此外,每次選擇運(yùn)行容器或修改網(wǎng)絡(luò)選項(xiàng)時(shí),它都可以避免更新iptables的麻煩。

加固建議:

不使用’–iptables = false’參數(shù)運(yùn)行Docker守護(hù)程序。 若以systemctl管理docker服務(wù)則需要編輯/usr/lib/systemd/system/docker.service的ExecStart參數(shù)刪除--iptables = false, 重啟docker服務(wù)

systemctl daemon-reload systemctl restart docker

7.高危-禁止使用aufs存儲(chǔ)驅(qū)動(dòng)程序

描述:

“aufs”存儲(chǔ)驅(qū)動(dòng)程序是最早的存儲(chǔ)驅(qū)動(dòng)程序。 它基于Linux內(nèi)核補(bǔ)丁集,該補(bǔ)丁集不太可能合并到主要Linux內(nèi)核中。 并且已知“ aufs”驅(qū)動(dòng)程序會(huì)導(dǎo)致一些嚴(yán)重的內(nèi)核崩潰。 'aufs’剛剛獲得了Docker的支持。 最重要的是,許多使用最新Linux內(nèi)核的Linux發(fā)行版都不支持’aufs’驅(qū)動(dòng)程序。

加固建議:

不要明確使用“ aufs”作為存儲(chǔ)驅(qū)動(dòng)程序。 例如,請(qǐng)勿按以下方式啟動(dòng)Docker守護(hù)程序: 若以systemctl管理docker服務(wù)則需要編輯/usr/lib/systemd/system/docker.service的ExecStart參數(shù)刪除--storage-driver aufs重啟docker服務(wù)

systemctl daemon-reload systemctl restart docker

8.高危-禁止在容器上掛載敏感的主機(jī)系統(tǒng)目錄

描述:

不允許將以下敏感的主機(jī)系統(tǒng)目錄作為容器卷掛載,尤其是在讀寫模式下。

/boot /dev /etc /lib /proc /sys /usr

如果敏感目錄以讀寫模式掛載,則可以對(duì)那些敏感目錄中的文件進(jìn)行更改。 這些更改可能會(huì)降低安全隱患或不必要的更改,這些更改可能會(huì)使Docker主機(jī)處于受損狀態(tài)

如果您是k8s或其他容器編排軟件編排的容器,請(qǐng)依照相應(yīng)的安全策略配置或忽略。

加固建議:

不要在容器上掛載主機(jī)敏感目錄,尤其是在讀寫模式下

9.高危-禁止共享主機(jī)的進(jìn)程名稱空間

描述

進(jìn)程ID(PID)命名空間隔離了進(jìn)程ID號(hào)空間,這意味著不同PID命名空間中的進(jìn)程可以具有相同的PID。 這是容器和主機(jī)之間的進(jìn)程級(jí)別隔離。

PID名稱空間提供了流程分離。 PID命名空間刪除了系統(tǒng)進(jìn)程的視圖,并允許進(jìn)程ID重復(fù)使用,包括PID1。如果主機(jī)的PID命名空間與容器共享,則它將基本上允許容器內(nèi)的進(jìn)程查看主機(jī)上的所有進(jìn)程。 系統(tǒng)。 這破壞了主機(jī)和容器之間的進(jìn)程級(jí)別隔離的好處。 有權(quán)訪問(wèn)容器的人最終可以知道主機(jī)系統(tǒng)上正在運(yùn)行的所有進(jìn)程,甚至可以從容器內(nèi)部殺死主機(jī)系統(tǒng)進(jìn)程。 這可能是災(zāi)難性的。 因此,請(qǐng)勿與容器共享主機(jī)的進(jìn)程名稱空間。

加固建議:

不要使用--pid = host參數(shù)啟動(dòng)容器。

10.中危-為Docker啟動(dòng)內(nèi)容信任

描述:

默認(rèn)情況下禁用內(nèi)容信任。 您應(yīng)該啟用它。 內(nèi)容信任提供了將數(shù)字簽名用于發(fā)送到遠(yuǎn)程Docker注冊(cè)表和從遠(yuǎn)程Docker注冊(cè)表接收的數(shù)據(jù)的功能。 這些簽名允許客戶端驗(yàn)證特定圖像標(biāo)簽的完整性和發(fā)布者。 這確保了容器圖像的出處

加固建議:

要在bash shell中啟用內(nèi)容信任,請(qǐng)輸入以下命令:export DOCKER_CONTENT_TRUST=1 或者,在您的配置文件中設(shè)置此環(huán)境變量,以便在每次登錄時(shí)啟用內(nèi)容信任。 內(nèi)容信任目前僅適用于公共Docker Hub的用戶。 當(dāng)前不適用于Docker Trusted Registry或私有注冊(cè)表。

文件權(quán)限

11.高危-確認(rèn)docker相關(guān)文件權(quán)限適合

描述:

確保可能包含敏感參數(shù)的文件和目錄的安全對(duì)確保Docker守護(hù)程序的正確和安全運(yùn)行至關(guān)重要

加固建議:

執(zhí)行以下命令為docker相關(guān)文件配置權(quán)限:

chown root:root /usr/lib/systemd/system/docker.service chmod 644 /usr/lib/systemd/system/docker.service chown root:root /usr/lib/systemd/system/docker.socket chmod 644 /usr/lib/systemd/system/docker.socket chown root:root /etc/docker chmod 755 /etc/docker

若文件路徑與實(shí)際系統(tǒng)中不同可以使用以下命令獲取文件路徑:

systemctl show -p FragmentPath docker.socket systemctl show -p FragmentPath docker.service

12.高危-確保docker.sock不被掛載

描述:
docker.sock掛載的容器容易被獲取特殊權(quán)限,一旦危險(xiǎn)進(jìn)入到docker中,嚴(yán)重影響了宿主機(jī)的安全.

加固建議:

按照提示<image name> <container name>查找啟動(dòng)的docker容器 , 以非docker掛載docker.sock的形式重新啟動(dòng)容器

docker stop <container name>

docker run [OPTIONS] <image name>或docker run [OPTIONS] <image id>

安全審計(jì)

13.高危-審核Docker文件和目錄

描述:

除了審核常規(guī)的Linux文件系統(tǒng)和系統(tǒng)調(diào)用之外,還審核所有與Docker相關(guān)的文件和目錄。 Docker守護(hù)程序以“ root”特權(quán)運(yùn)行。 其行為取決于某些關(guān)鍵文件和目錄。如 /var/lib/docker、/etc/docker、docker.service、 docker.socket、/usr/bin/docker-containerd、/usr/bin/docker-runc等文件和目錄

加固建議:

在/etc/audit/audit.rules與/etc/audit/rules.d/audit.rules文件中添加以下行:

-w /var/lib/docker -k docker -w /etc/docker -k docker -w /usr/lib/systemd/system/docker.service -k docker -w /usr/lib/systemd/system/docker.socket -k docker -w /usr/bin/docker-containerd -k docker -w /usr/bin/docker-runc -k docker

然后,重新啟動(dòng)audit程序 service auditd restart.

推薦學(xué)習(xí):《docker視頻教程》

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
无码日韩人妻av一区免费| 国产精品视频福利| 无码日韩精品一区二区免费暖暖| 久久亚洲AV永久无码精品| 无码精品前田一区二区 | 亚洲av午夜精品一区二区三区| 亚洲日韩中文字幕日韩在线| 国产精品白嫩在线观看| 久久久久久久久无码精品亚洲日韩| 午夜精品久久久久久影视riav | 日韩在线观看视频黄| 国产精品香蕉在线观看不卡| 国产精品日韩欧美一区二区三区 | 精品一久久香蕉国产线看播放 | 国产精品内射久久久久欢欢 | 国产精品99久久久久久人| 亚洲精品中文字幕麻豆| 久久精品无码精品免费专区| 国产精品区免费视频| 久久精品中文字幕久久| 女人香蕉久久**毛片精品| 国产精品无码AV一区二区三区| 日产精品一线二线三线京东| 国产精品无打码在线播放| 国产精品免费久久| 国产精品无码一区二区在线观一| 亚洲性日韩精品一区二区三区| 四虎国产精品永免费| 国产A√精品区二区三区四区| 亚洲国产成人精品无码久久久久久综合 | 亚洲永久精品ww47| 亚洲精品无码久久一线| 国产麻豆一精品一AV一免费| 无码人妻精品一区二区三区99不卡 | 在线观看精品国产福利片100| 国产伦精品一区二区三区不卡| 国模吧一区二区三区精品视频| 国产精品成人亚洲| 国产日韩一区二区三区在线观看| 日韩在线视频免费看| 亚洲综合精品网站在线观看|