コンテナにセキュリティの落とし穴はないか?
企業でコンテナ活用が広がる一方、セキュリティ対策は何をすれば万全なのか。SB C&S ICT事業本部 技術統括部 テクニカルマーケティングセンター 担当課長でありCISSPを保有している竹石渡氏の元には、セキュリティの相談がよく寄せられている。
ある企業はAWS Fargateでコンテナを活用して顧客にSaaSを提供していながらも、「コンテナに関するセキュリティ対策として何をしたらいいのかわからない」と相談があったという。竹石氏は「商用環境としてコンテナを用いてサービス提供していながらも、セキュリティ対策が手つかずというケースは意外とあり、まだまだコンテナセキュリティの必要性が十分に理解されていません」と懸念する。
従来必要とされてきたセキュリティ対策は当然施しつつも、コンテナを使うなら何を追加しなくてはいけないのか、何を変更しなくてはいけないのか。基本的なところから整理していこう。
そもそも従来のVM(仮想マシン)と比べるとコンテナのランタイムやオーケストレーター(Kubernetesなど)といった登場人物が増えるため、そこに脆弱性や設定ミスがないか目を見張る必要がある。加えて、近年ではより上流工程からセキュリティを組み込むシフトレフトという言葉がもてはやされているように、コンテナデプロイ後からセキュリティを考えるのではなく、イメージを作成するCI/CDパイプラインの早い段階から要所要所でセキュリティチェックを行うのが望ましい。
たとえば、コンテナイメージのスキャン。コンテナイメージを作る際に、脆弱性やマルウェアが含まれていないか、適切な設定になっているか、OSSライセンス違反がないかなどをチェックする必要がある。
特に、Docker Hubのようにパブリックなレジストリには、悪用可能な脆弱性やマルウェアが含まれるものもあるという。たとえば、マルウェアの中にはリソースを不正利用し、暗号通貨をマイニングするようなものもあるという。竹石氏は「パブリックなイメージを活用すること自体は悪いことではありません。大事なのはきちんとスキャンすること。品質ゲートを設け、そこを通っていないイメージは一切信頼しないことです。これはゼロトラストにも通じるアプローチです」と述べる。
スキャンを実施することで脆弱なイメージが本番環境にデプロイされることを防げるものの、それだけで安心はできない。次々に新たな脆弱性が発見されるため、その確認は継続する必要がある。さらに、従来からのセキュリティ対策としてファイアーウォールやWAF(Web Application Firewall)、攻撃されたときに被害を最小限にするためのマイクロセグメンテーションなども忘れてはならない。
コンテナセキュリティを担当するべきは誰なのか……
コンテナ環境のセキュリティ対策が曖昧になりがちな要因の一つとして、組織体制的な背景も挙げられる。特にコンテナは開発者にとってメリットが大きいため、これまで多くの開発者に好まれてきた。しかしセキュリティ対策というと、一般的にインフラやシステム管理者が担当するものというイメージがある中で、近年ではDevOpsでその役割が曖昧になってきている。では、コンテナ活用するときにセキュリティを担当するべきなのは誰なのか。
竹石氏は「大前提だと、システムに携わる全員が他人ごとではなく自分ごととしてセキュリティの意識を持つ必要があります。インフラ担当、開発担当、テスト担当、誰もが自分が担当するプロセスにおいて何ができるか、何をしなくてはいけないかを念頭に置く必要があるでしょう」と話す。
それを踏まえた上で、「とは言いつつも、それは理想論で」と続ける。確かに開発やテストなど、他に専念すべきことがある人にセキュリティを任せるのは現実的ではない。どうするのかというと「自動化することでなるべく負担をかけずにセキュリティを組み込んでいけるので、極力システマチックにしていく必要があります」と強調する。
では、実際にコンテナのセキュリティ対策を始めるなら何を指針にすれば良いのだろうか。標準的なガイドラインやチェックリストとして参考になるものはないかと訊くと、『NIST SP800-190』がおすすめだという。これはアメリカ国立標準技術研究所が発行している「アプリケーションコンテナセキュリティガイド」になる。
同文書には、コンテナに関するセキュリティリスクと対策についてまとめられている。ボリュームがあるため軽く読めるものではないが、コンテナセキュリティの標準としてNIST SP800-190があることは最低限覚えておきたい。
イメージやレジストリ、オーケストレータなど様々な観点でリスクと対策が書かれており、たとえばコンテナイメージなら、先述したように脆弱性やマルウェアのリスクを有しているため、その対策としてスキャンを施すこと、信頼あるイメージのみを許可することが重要だとされている。
インフラが高度化、複雑化するというトレンドを考えると、コンテナだけではなくマルチクラウドのセキュリティも考慮する必要がある。クラウドベンダーはそれぞれが強みとなるサービスを提供しており、用途に応じて使い分けたり、冗長性の確保のため複数のクラウドを採用したりするケースもでてきている。そのため、セキュリティを施すにあたっての標準化や学習コストが新たな課題となっている。
たとえば、AWSのセキュリティに関するサービスだけを見ても多種多様にある。セキュリティチェックやアラートの一元化にはAWS Security Hub、脆弱性管理のAmazon Inspectorなど挙げたらきりがないほどだ。Microsoft AzureやGCPにおいても、セキュリティ関連のサービスが多く用意されている。一つのクラウドベンダーにおけるセキュリティサービスの全体像をつかみ取捨選択することも大変だが、それが複数になると混沌としてしまう。
竹石氏は「それぞれ個別にセキュリティに関するサービスを調査し、運用するとなると、学習コストがものすごくかかります。複雑化し、使い分けもあれば、必然的にミスも増えていきます。そのためマルチクラウドにするなら、セキュリティ対策や監視は単一のプラットフォームで横断的に使えるようなツールを使う必要があります」と指摘する。
また、近年ではガートナーが新しい製品カテゴリーとして「CNAPP(Cloud-Native Application Protection Platform)」を挙げている。各種パブリッククラウド、コンテナ、IaC(Infrastructure as Code)などクラウドネイティブなコンポーネントの監査、保護を一元的に行う。
CNAPPにおける要素の一つにCSPM(Cloud Security Posture Management)というものがある。これはマルチクラウドにわたり、セキュリティに関する設定や権限が健全かをチェックする。特に設定ミスは情報漏えいなど致命的な問題を起こしかねず、かつ人間の目が行き届かないこともあるため、ツールをうまく活用することが重要だ。今では、各セキュリティメーカーがこぞってCNAPP領域に進出してきている。
これから企業におけるコンテナ活用がさらに広がっていくことにあわせて、CNAPP分野の動向もチェックしていく必要がありそうだ。
インフラ担当者は「コンテナセキュリティ」に守備範囲を広げよう
セキュリティ対策はそれだけで利益を生むものではないため、なかなか投資がされにくい領域である。攻撃を防ぐないしは被害を最小限に留めること、言い換えれば多大なマイナスをゼロか、限りなくゼロに近づけようとするもの。何かしらのツールを導入すれば即座にプラスが生まれるものではない。とはいえ、一度でもマイナス(インシデント)が発生すると、致命的な被害で経営を揺るがしかねないのだ。
これまで述べてきたように、コンテナ活用が普及しつつあるもののセキュリティ対策が浸透しているとは言いがたい状況だ。また、DevOpsの流れもあり、開発が運用に近い業務にも手を広げている状況も加味すると、システム担当者にはインフラの可用性を高めるだけでなく、コンテナやマルチクラウドといった最新鋭の環境でもセキュリティ対策を講じることが求められる。つまり、知識やスキルをアップデートすることで、より存在価値を高めることができるのではないだろうか。
竹石氏もインフラ担当者にエールをおくる。「デジタルサービスが普及している今、ストレスなくサービスが利用できるためにもインフラの可用性や拡張性はとても重要です。さらにコンテナやマルチクラウドで複雑化する環境において、セキュリティ対策も万全にしていく必要があるなか、それを実現できる人はまだ希少な存在です。最新情報を獲得し、スキルフルな人材は今後ますます価値が高まるのではないでしょうか」
なおSB C&Sでは、アプリケーションのモダナイズにおける横断的なプラットフォームであるVMware Tanzuをはじめとした、クラウドネイティブ環境の推進に力をいれている。エンドポイントやワークロードのセキュリティ対策として知られるVMware Carbon Blackのコンテナ対応版であるVMware Carbon Black Containerや、マルチクラウドに対応したCSPMのVMware CloudHealth Secure Stateなど、数多くの製品を取り扱っている。
とりわけクラウドネイティブ環境におけるセキュリティ対策の組み合わせは、数多くの開発スタイルがあるように多種多様。まったく同じ環境がない中で竹石氏は、セキュリティの最適解を出すプロフェッショナルだ。「お客様の環境を一からヒアリングして、あらゆる可能性のなかから最適な打ち手をご提案します。インフラの範囲だけに視野を狭めず、いわゆるDevSecOpsの実現となるような開発フェーズのセキュリティ対策からご支援します」と自信をのぞかせる。
モダナイズを実現させるDevOpsソリューション
SB C&Sは、VMware Tanzu をはじめとしたDevSecOpsの成功に必要なサービスを提供し、お客さまのモダナイズをトータルでサポートします。ソリューションの詳細はこちらから!