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

リスクから学ぶ Kubernetesコンテナセキュリティ コンテナ開発者がおさえておくべき基礎知識(望月 敬太)|翔泳社の本 https://www.shoeisha.co.jp/book/detail/9784798182780

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

1章のイメージ使うって書いてる。
デプロイしよ