日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Docker安全之用户资源隔离

發(fā)布時間:2025/7/25 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker安全之用户资源隔离 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Docker安全之用戶資源隔離

docker 字母哥 18小時前 75℃ 0評論

向您推薦

Dcoker入門與實踐系列文章

歡迎加入QQ技術(shù)交流群:300139299

docker進行資源隔離的6種namespace

namespace隔離內(nèi)容內(nèi)核版本
UTS主機名與域名Linux 2.6.19
IPC信號量,消息隊列和共享內(nèi)存Linux 2.6.19
PID進程編號Linux 2.6.24
Network網(wǎng)絡(luò)設(shè)備,網(wǎng)絡(luò)棧,端口始于Linux 2.6.24 完成于 Linux 2.6.29
Mount文件掛載Linux 2.4.19
User用戶用戶組始于 Linux 2.6.23 完成于 Linux 3.8

其中User namespace是從docker1.10開始被支持,并且不是默認開啟的.

以上內(nèi)容不是這篇文章的重點,此篇文章主要是介紹user namespace

一.User namespace的作用

docker 使用namespace進行資源隔離,其中一種是user namespace.user namespace主要隔離了安全相關(guān)的標識符和屬性,包括用戶ID,用戶組Id,root目錄,key(密鑰)以及特殊權(quán)限.

默認的情況下,docker容器使用的root用戶和宿主機的root用戶是同一個用戶,盡管可以限制容器內(nèi)root用戶的權(quán)限(capability),但本質(zhì)上仍然和宿主機root用戶是同一個用戶.

有了user namespace之后,我們就可以將宿主機上的普通用戶映射為容器的root用戶,這樣容器中的實際用戶為普通用戶權(quán)限,可以將容器的安全程度提高一個等級!

實驗一:不使用user namespace進行資源隔離

  • 運行一個容器
docker run -it ubuntu:14.04 top
  • 另外開一個終端,查看該容器進程在宿主機上的用戶
~$ ps -aux|grep top root 18724 0.2 0.0 19848 2400 pts/15 Ss+ 14:16 0:00 top

可以看到,運行top命令的用戶是root,即容器中的root用戶就是宿主機的root用戶

實驗二:使用user namespace進行資源隔離

配置實現(xiàn)

  • 運行docker deamon進程的時候加入?yún)?shù)--userns-remap=default,如:ubuntu中是修改/etc/default/docker中的DOCKER_OPTS,追加配置--userns-remap=default
  • 重啟docker deamon,如:ubuntu中是使用service docker restart

實驗內(nèi)容

  • 運行一個容器
docker run -it ubuntu:14.04 top
  • 另外開一個終端,查看該容器進程在宿主機上的用戶
~$ ps -aux|grep top 165536 19347 0.1 0.0 19848 2424 pts/15 Ss+ 14:32 0:00 top

可以看到,在宿主機上top命令的執(zhí)行使用的用戶是165536(uid),不是root

  • 看看容器內(nèi)的top命令的輸出
1 root 20 0 19848 2424 2108 R 0.0 0.0 0:00.07 top

容器內(nèi),看上去仍然是root用戶.即:有了user namespace之后,我們就可以將宿主機上的普通用戶映射為容器的root用戶.
那么,有一個問題?這個普通用戶是誰?

二.user namespace的默認映射用戶

上面的實驗中,我們已經(jīng)使用了user namespace的最簡化配置.即:--userns-remap=default

實際上,docker新建了一個用戶和用戶組都叫做dockremap,容器內(nèi)的root用戶映射到宿主機的這個dockremap用戶上.

$ cat /etc/passwd …… dockremap:x:10000:10000:,,,:/home/dockremap:/bin/false $ cat /etc/subuid …… dockremap:165536:65536 $ cat /etc/subgid …… dockremap:165536:65536

三.自定義映射用戶

首先在宿主機上創(chuàng)建用戶及用戶組,在啟動docker deamon的時候傳入如下參數(shù).

--userns-remap=<uid> --userns-remap=<uid>:<gid> --userns-remap=<username> --userns-remap=<username>:<groupname>

向您推薦

Dcoker入門與實踐系列文章

歡迎加入QQ技術(shù)交流群:300139299

轉(zhuǎn)載請注明:字母哥博客 ? Docker安全之用戶資源隔離

總結(jié)

以上是生活随笔為你收集整理的Docker安全之用户资源隔离的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。