Open5

「リスクから学ぶ Kubernetesコンテナセキュリティ コンテナ開発者がおさえておくべき基礎知識」をやる

でぐらむでぐらむ

Ubuntu 22.04 LTSでVirtualBoxでネステッドVT-x/AMD-Vを有効化できなかったので、Hyper-VでUbuntu 22.04環境を用意し、それに対して

Set-VMProcessor -VMName "Ubuntu 22.04 LTS" -ExposeVirtualizationExtensions $true
Set-VM -VMName "Ubuntu 22.04 LTS" -EnhancedSessionTransportType HvSocket

を実施。※2つめのコマンドは拡張セッションが使用できない場合のためのコマンド

でぐらむでぐらむ

1章まで読んだ

大体知っている事だった。コマンド等は読むだけにとどめた
ただ、コンテナが具体的にLinux上でどういう扱いなのかという点に1歩踏み込んだ領域は知らなかった。もう少し時間があるときに調べてみようと思う。

セキュリティのプラクティス項目については本書を読み終わってからやる

でぐらむでぐらむ

2章初めに

docker hubに脆弱性を含まれたイメージをアップロードしているが、ローカルレジストリに置き換えて出来ないかと考えているため、少し手順を改造してみる。

minikube addons enable registry

結果

$ kubectl get svc -n kube-system
NAME       TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                  AGE
kube-dns   ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP,9153/TCP   11h
registry   ClusterIP   10.109.175.84   <none>        80/TCP,443/TCP           5m12s
$ kubectl port-forward --namespace kube-system service/registry 5000:80
ubuntu@ubuntu-Virtual-Machine:~/Desktop/cve-2014-6271-apache-debian$ docker build -t "localhost:5000/cv
e-2014-6271-apache-debian:buster" .
[+] Building 1.4s (11/11) FINISHED                                                      docker:default
 => [internal] load build definition from Dockerfile                                              0.0s
 => => transferring dockerfile: 1.02kB                                                            0.0s
 => [internal] load metadata for docker.io/library/debian:buster                                  1.3s
 => [internal] load .dockerignore                                                                 0.0s
 => => transferring context: 2B                                                                   0.0s
 => [1/6] FROM docker.io/library/debian:buster@sha256:58ce6f1271ae1c8a2006ff7d3e54e9874d839f573d  0.0s
 => [internal] load build context                                                                 0.0s
 => => transferring context: 62B                                                                  0.0s
 => CACHED [2/6] RUN apt update &&     apt install -y apache2 libtinfo5 netcat sudo wget &&       0.0s
 => CACHED [3/6] RUN wget http://snapshot.debian.org/archive/debian/20130101T091755Z/pool/main/b  0.0s
 => CACHED [4/6] COPY vulnerable /usr/lib/cgi-bin/                                                0.0s
 => CACHED [5/6] COPY danger.html /var/www/html/                                                  0.0s
 => CACHED [6/6] RUN chown www-data:www-data /var/www/html/* &&     chown www-data:www-data /usr  0.0s
 => exporting to image                                                                            0.0s
 => => exporting layers                                                                           0.0s
 => => writing image sha256:309d70270d8bf46aab59dceda4494ee36666df56f878477ae58d8e5464b2cf7b      0.0s
 => => naming to localhost:5000/cve-2014-6271-apache-debian:buster                                0.0s
ubuntu@ubuntu-Virtual-Machine:~/Desktop/cve-2014-6271-apache-debian$ 
ubuntu@ubuntu-Virtual-Machine:~/Desktop/cve-2014-6271-apache-debian$ 
ubuntu@ubuntu-Virtual-Machine:~/Desktop/cve-2014-6271-apache-debian$ docker images
REPOSITORY                                   TAG       IMAGE ID       CREATED      SIZE
localhost:5000/cve-2014-6271-apache-debian   buster    309d70270d8b   3 days ago   241MB
ubuntu@ubuntu-Virtual-Machine:~/Desktop/cve-2014-6271-apache-debian$ docker push localhost:5000/cve-2014-6271-apache-debian
5000/cve-2014-6271-apache-debian         5000/cve-2014-6271-apache-debian:buster
ubuntu@ubuntu-Virtual-Machine:~/Desktop/cve-2014-6271-apache-debian$ docker push localhost:5000/cve-2014-6271-apache-debian:buster 
The push refers to repository [localhost:5000/cve-2014-6271-apache-debian]
a2e02df7c8aa: Pushed 
f369b8df6979: Pushed 
59b5cd88dc83: Pushed 
9d754f8220ef: Pushed 
22dbc7e1d65a: Pushed 
19b1230ac19d: Pushed 
buster: digest: sha256:48dee35e304f472e7f2353c5f6695cdfc8d455b54e22b8612f2364a5b149eb6f size: 1574

参考: Registries | minikube