話題の脆弱性の、「CVE-2019-5736 runc through 1.0-rc6, as used in Docker before 18.09.2 and other」についてです。
TL;DR
- RHEL7はすでにパッチを提供中
- Scientific Linux 7もすでにパッチを提供中
- CentOS 7は2/14にパッチ提供が始まったのを確認(1.13.1-91.git07f3374.el7.centos)
- Ubuntuも16.04LTS、18.04LTSに提供されている模様
- 未パッチでもSELinux enforcingで緩和できる(任意のコード実行はできない?)
- Debianとそのほかディストリビューションの対応状況
- https://security-tracker.debian.org/tracker/CVE-2019-5736
- 横断的にみれていいね!このサイト
- Docker CEは18.09.2-ceとDocker for mac 2.0.0.3、18.06.2-ceがCVE-2019-5736に対応したバージョン
- RuncherOSは1.5.1で対応
SELinux有効でK8sを運用してみた
Rancher 2でKubernetesを次の構成でデプロイしました。この環境でSELinuxは有効なままで運用していますが、今のところ特に問題はありません。
Rancher 2
- RancherOS 1.5.1上のDocker 17.03.2-ceで稼働
- そのうちDockerのバージョンを上げる予定
etcd,Control Plane
- CentOS 7上のDocker 1.13で稼働(SELinux enforcing)
Worker
- CentOS 7上のDocker 1.13で稼働(SELinux enforcing)
- NFSストレージを利用
SELinux関連でやったこと
強いて挙げれば、次のような対応だけしました。この設定以降色々触っていますが、特にエラーが発生したとかそういったことはありません。起きたら適宜対応するとして、今回の教訓をもとにSELinux enforcingで運用し続けてみたいと思います。
# docker run --rm hello-world (docker runを実行) # cat /var/log/audit/audit.log|egrep "type=AVC|scontext=" # aureport -a (拒否されたか確認) # semanage permissive -a container_t (出てきたtype=AVCから必要なものだけをpermissiveにする)
ちなみに定期的に「SELinux: mount invalid. Same superblock, different security settings for (dev mqueue, type mqueue)」という標準出力がされますが、特に問題はないとのことです。