こんにちは!
今回は、何かしらのコンテナサービスを利用していれば気になる、コンテナのセキュリティについて話していきたいと思います。
クラウドのコンテナサービスを利用されている方、オンプレミスで運用されている方、ぜひ参考にしてください!
AWSでは ECS および Fargate・EKS などのサービスがありますね。本記事ではそれらのAWSサービスのセキュリティについては言及しません。コンテナ全般のセキュリティについて説明していきます。
ですが Fargate や App Runner を利用する方にとっても、どんな部分がカバーされているからマネージドなのかを(セキュリティの視点で)理解するために知っておいて損はないものだと思います。
コンテナセキュリティについて知る方法は、まず National Institute of Standards and Technology (NIST) が公開している Application Container Security Guide を一読することをお勧めします。
こちらにコンテナセキュリティの問題と対策が網羅的に記載されているので、コンテナセキュリティに対して具体性のある知見が得られます。
多くのコンテナセキュリティについての記事はこのガイドラインに沿って執筆しているものがほとんどで、本記事もこのガイドラインを踏まえた上でコンテナセキュリティについて言及いたします。
コンテナセキュリティにおいて保護すべき対象についてまず認識していきましょう。以下をご覧ください。
この5つを保護していくことがコンテナのセキュリティを守る行動となります。VM のセキュリティと違ってコンテナでは、より抽象的なレイヤーも保護する対象となっております。
それではひとつずつ問題点を確認していきましょう。
コンテナイメージをセキュリティの観点で評価するには以下の部分に着目します。
コンテナイメージは継続的に監視していかなければなりません。なぜなら安全であるという保証がないためです。利用しているコンテナイメージに脆弱性があったり、誰かが悪意を持って作成したコンテナイメージを利用していたりする場合があるかもしれません。
そのため定期的にイメージスキャンを行うことが必然となります。CI/CD パイプラインにイメージスキャンを組み入れるのもひとつのアプローチとなります。
コンテナイメージを保存するレジストリに対する接続はセキュアにしなければなりません。なぜなら、中間者攻撃のリスクを考慮しなければならないからです。
そのため認証・認可の条件を十分なものにする必要があります。
アクセスポリシーで接続を制限したり、認証の仕組みを整えることが重要となります。
オーケストレータを保護するにはまず、不要な管理者アクセスや不正なアクセスを避けるためのアクセス制御が必須となります。
加えてネットワークをきちんと分離できているか、ノード間の通信は信頼できているのかについて対策を行わなければいけません。
例えば社外に公開しているアプリと社内で利用しているアプリが同じ仮想ネットワーク内にあった場合、社外から侵入されたあとに同じネットワークを辿って社内アプリに不正アクセスできる場合があります。
またノード間の通信についてですが、こちらは例えば同じ認証鍵をすべてのノードで共有している場合や、オーケストレータの設定が脆弱なため通信が暗号化されていない場合などが挙げられます。
こういった事態を防ぐためにも、利用用途によってネットワークを分離しておかなければなりません。
加えてオーケストレータの設定で信頼性の高い状態での通信が行われているかを今一度確認してみましょう。
コンテナのセキュリティはネットワークや、コンテナ内で動作しているアプリケーションに対する外部から保護ができているかを確認してください。
監視や異常検出するための体制を整えることが重要となります。コンテナ向けのセキュリティサービスなどを利用するなどして対策を講じましょう。
コンテナを利用しているからと言って、ホストOSのセキュリティ対策を軽視してはいけません。ホストOSに脆弱性がないか、アクセス制御はできているかをチェックしましょう。
こちらは従来通りのアプローチです。脆弱性を定期的にスキャンしたり不適切なアクセスを制御したりしましょう。
最後にコンテナセキュリティ対策に有効なツールをご紹介いたします。ぜひ各ツールを活用してみてください!
今回はコンテナセキュリティの重要な柱となる5つの視点からお話ししました。より具体的な理解を求めている方はぜひ、コンテナセキュリティのガイドラインを読んでみてください!
このブログでは、AWS の記事をどんどん公開しておりますので、ご興味のある方は他の記事もご覧いただければと思います。
AWS に関する開発は、お気軽にお問い合わせください。
スモールスタート開発支援、サーバーレス・NoSQLのことなら
ラーゲイトまでご相談ください
低コスト、サーバーレスの
モダナイズ開発をご検討なら
下請け対応可能
Sler企業様からの依頼も歓迎