GitHubモチベーションDocker環境のセキュリティ診断ツールを触ってみるDockerのセキュリティDockerが日常的に利用されるようになり、そのセキュリティの重要性も日に日に増してきている。BlogでDockerのセキュリティポリシーやCVE情報等、Dockerのセキュリティ周辺情報を提供している。Security“でDockerコンテナを使うことでインフラリソースの追加投入をぜずにセキュリティを強化できることを述べており、特に以下の3点を言及している。コンテナは基盤となるインフラのリソースを使うことなく、ホストの攻撃ベクトル(攻撃経路)を減らすために、アプリケーション同士やアプリケーションとホストを分離する保護レイヤを追加する。コンテナと仮想マシンは同一環境にデプロイ可能でそれらはサービスをセキュアに分離するレイヤを提供する。コンテナの本質は高速かつ簡易なOS、アプリケション及びインフラの各レイヤへのパッチ、アップデートを可能にさせることであり、システム全体のセキュリティ・コンプライアンスを維持を支援することである。コンテナで1つレイヤーを追加し、適切にサービスとリソースの管理を行うことでセキュリティレベルが向上するという主張だ。Engineのベンチマーク調査をしている。この調査では、CISのセキュリティベンチマークプログラムが、組織がセキュリティのアセスメントと堅牢化をするための明確な定義を持ち、公正に議論されたベストプラクティスを提供していること、また、このコミュニティベースのベンチマークがLinuxやDockerの推奨設定を提供していると述べている。Securityはこのベンチマーク調査の推奨設定を基準にDockerコンテナの設定を自動的に診断するツールである。Securityを使うために環境の準備を行う。今回はVagrant上にUbuntu14.04を起動して、Dockerのインストールする。テスト用のコンテナとしてNginxのコンテナを準備する。Ubuntuに従い必要な環境を準備する。listに保存されているubuntu14_04を使う。Vagrantfileを編集する。"192.168.33.10"VMを起動して環境情報を確認、最新化、dockerのインストールを行う。shテストをしてみる。Securityテスト用のNginxコンテナを作成する。nginxNginxのコンテナが起動していることを確認する。Securityコンテナを起動したホストで管理しているコンテナに対してセキュリティ診断を行える。diogomonica/docker-bench-security先ほど作成したNginxコンテナの診断結果。running見て分かる通り、セキュリティの文脈で色々な指摘をされている。Securityは非常に簡単にDockerコンテナのセキュリティ診断を可能にさせるツールだった。コンテナのセキュリティに不安がある人もこのツールの診断内容に従って一つずつセキュリティ・ホールを潰していくことで堅牢なコンテナ環境ができる。Practicesにもとづいており、このコンセプトの達成を支援するものだ。そのためオリジナルのコンセプトを理解するべきであるし、そもそも自分の想定するセキュリティとマッチしているのかも判断する必要がある。