欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

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

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

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

          Docker安全基線

          服務(wù)配置

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

          描述:

          默認(rèn)情況下,同一主機(jī)上的容器之間允許所有網(wǎng)絡(luò)通信。 如果不需要,請限制所有容器間的通信。 將需要相互通信的特定容器鏈接在一起。默認(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í)行的所有限制。 換句話說,容器可以完成主機(jī)可以做的幾乎所有事情。 存在此標(biāo)志是為了允許特殊用例,例如在Docker中運(yùn)行Docker

          加固建議:

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

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

          描述:

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

          加固建議

          僅使用所需的內(nè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)避免對根文件系統(tǒng)的任何寫操作。 您應(yīng)該顯式定義用于寫入的容器卷。 您不應(yīng)該在容器中寫入數(shù)據(jù)。 屬于容器的數(shù)據(jù)量應(yīng)明確定義和管理。 在管理員控制他們希望開發(fā)人員在何處寫入文件和錯(cuò)誤的許多情況下,這很有用。

          加固建議:

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

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

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

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

          描述:

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

          描述:

          iptables用于在Linux內(nèi)核中設(shè)置,維護(hù)和檢查IP數(shù)據(jù)包過濾器規(guī)則表。 允許Docker守護(hù)程序?qū)ptables進(jìn)行更改。 如果您選擇這樣做,Docker將永遠(yuǎn)不會(huì)對您的系統(tǒng)iptables規(guī)則進(jìn)行更改。 如果允許,Docker服務(wù)器將根據(jù)您為容器選擇網(wǎng)絡(luò)選項(xiàng)的方式自動(dòng)對iptables進(jìn)行所需的更改。 建議讓Docker服務(wù)器自動(dòng)對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存儲驅(qū)動(dòng)程序

          描述:

          “aufs”存儲驅(qū)動(dòng)程序是最早的存儲驅(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”作為存儲驅(qū)動(dò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

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

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

          加固建議:

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

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

          描述

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

          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)程級別隔離的好處。 有權(quán)訪問容器的人最終可以知道主機(jī)系統(tǒng)上正在運(yùn)行的所有進(jìn)程,甚至可以從容器內(nèi)部殺死主機(jī)系統(tǒng)進(jìn)程。 這可能是災(zāi)難性的。 因此,請勿與容器共享主機(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注冊表和從遠(yuǎn)程Docker注冊表接收的數(shù)據(jù)的功能。 這些簽名允許客戶端驗(yàn)證特定圖像標(biāo)簽的完整性和發(fā)布者。 這確保了容器圖像的出處

          加固建議:

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

          文件權(quán)限

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

          描述:

          確??赡馨舾袇?shù)的文件和目錄的安全對確保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號-2    滬公網(wǎng)安備31011702889846號