DevSecOpsも実現できる。公開コンテナセキュリティ、5つの勘所とは?:DevSecOpsも実現できる。コンテナアプリを脅威から簡単・確実に守る方法Web/モバイルアプリケーションが重要な顧客接点となっている近年、ITサービス開発・改善のスピードを獲得するべく、コンテナ活用に乗り出す企業が増えている。重要なのは「スピード」だけではない。セキュリティも確実に担保しなければ自社の社会的信頼を失墜させてしまう。コマース&サービスの竹石渡氏に話を聞いた。});開発・改善のスピードを重視するあまり、セキュリティがおろそかに......デジタルトランスフォーメーションのトレンドが進展し、ビジネスがソフトウェアの戦いに変容して久しい。テクノロジーを使った新たな体験価値、より良い利便性を生み出す「企画力」と、ニーズに合わせて迅速にソフトウェアに落とし込む「スピード」がビジネス差別化の一大要件となり、今やWebサービス系に限らず、金融、流通など多くの業種でDevOpsに取り組む企業が増えつつある。した中、DevOps実践のキーテクノロジーとして、企業の注目を集めているのがDockerやKubernetesに象徴されるコンテナ技術やコンテナ管理ソフトウェアだ。言うまでもなく、開発スピードを上げるだけでは、今求められているアプリケーションを迅速にエンドユーザーに届けることはできない。「開発したアプリケーションを本番環境にデプロイするまでのリードタイム」をいかに短縮できるかがカギになる。その点、コンテナ技術は「ホストOS上の他のプロセスから隔離されたアプリケーション実行環境」を構築する技術。コンテナによってアプリケーションをパッケージ化することで、開発したアプリケーションを開発環境とは構成が異なる本番環境にもそのままデプロイできるようになる。従来は人手中心で行っていたデプロイ作業を、コンテナとコンテナ管理ソフトウェアを使って標準化・自動化することで、本番環境に展開するスピードを大幅に高めることができる。これを生かし、CI/CDを実践する企業も増えつつあるなど、コンテナとコンテナ管理ソフトウェアの活用は、「ソフトウェアの戦い」を勝ち抜く上での一大要件となっているのだ。コンテナへの注目度が増し、そのメリットも広く認識されつつある中で、コンテナのセキュリティリスクも顕在化しつつある。コマース&サービスの竹石渡氏は次のように話す。「新しいテクノロジーが登場すると、攻撃者は必ず狙ってくるものです。コンテナ技術も例外ではありません。懸念されるのは、DevOpsやコンテナに対する注目度は高まっているものの、具体的な取り組みについては手探り状態という企業が少なくないことだという。「つまりコンテナ環境を構築することがまず優先され、その分セキュリティに対する意識が薄くなっているケースが目立つ」のだという。ITサービス開発・提供のスピードアップ——すなわちビジネス展開のスピードアップはコンテナ導入の大きなメリットだ。スピードを重視するあまり、セキュリティを担保できず情報漏えいなどを起こしてしまうようでは、ビジネスどころか自社の社会的信頼・ブランドを失墜させてしまう。つなげるためには、コンテナセキュリティを確実に担保することが大前提となるのだ。NISTによる「コンテナ、5つのリスク」では、コンテナセキュリティはどのように担保していけばいいのか。800-190は2017年9月に公表されたコンテナセキュリティのベストプラクティスで、コンテナの「5つのリスクと対策」を解説している。1つ目は「イメージリスク」だ。具体的には、コンテナイメージに潜む脆弱性、アクセス制御など設定の不備、コンテナイメージへの埋め込みマルウェア、暗号化せずに保存されるシークレット情報、信頼されないコンテナイメージの利用などを指している。2つ目は「レジストリリスク」。コンテナイメージを配布するレジストリへの安全でない接続、レジストリ上での古く脆弱性の残ったイメージの配布、不十分な認証とアクセス制御の不備などが挙げられている。3つ目は「オーケストレータリスク」。これはコンテナをデプロイ/管理するためのツールに関連するリスクであり、無制限の特権アクセス、権限のない者によるアクセス、コンテナ内部トラフィックの不十分な分離、機密情報を扱うワークロードの混在、オーケストレーターのノードの信頼性などを指す。4つ目は「コンテナリスク」。ランタイムソフトウェアに潜む脆弱性、各コンテナからの無制限なネットワークアクセス、信頼できないコンテナのランタイム設定、アプリケーションの脆弱性などを指す。5つ目は「ホストOSリスク」。ホストOSそのものが備えるリスクであり、攻撃領域の広さ、カーネルを共有するリスク、OSコンポーネントの脆弱性、不適切なユーザーアクセス権限、ファイルシステムの書き換えなどを挙げている。800-190では、こうしたリスクに対してベストプラクティスを推奨しています。『一般的な脆弱性スキャンツールではなく、コンテナに特化した脆弱性スキャンツールを使うこと』『コンテナレベルでファイアウォールを設置すること』『情報機密度のレベルに応じてグルーピングすること』などです。Platform」ただ前述のように、コンテナ活用自体もいまだ手探り状態にある中で、以上のようなコンテナに特化したセキュリティ対策を行うことは難しいのが現実だ。Platform」(以下、Aqua)だ。Aquaはコンテナアプリケーションの開発(Build)、出荷(Ship)、運用(Run)というライフサイクル全体のセキュリティを担保することで、まさしく“コンテナセキュリティのベストプラクティス”実践を支援するツールだ。Technologies、Imperva出身のエンジニアが共同創業者やチーフアーキテクトを務めている。創業3年目だが、AWS、Microsoft、IBM、Googleといった主要なクラウドプロバイダーとパートナーシップを結び、すでに多くのエンタープライズ企業がAquaの採用を決めている。Foudry、Docker、VMware、Splunkなどが戦略的バートナーとなっており、今後もパートナーは増えていく見込みだという。このように、Aquaが多くのベンダー、ユーザー企業から注目されている理由として、竹石氏は「NISTのベストプラクティスを満たしていることもありますが、“コンテナの利点を生かしながら、セキュリティを確実に担保するための3つの要素”に、包括的に応えた製品であることが挙げられます」と話す。1つ目の要素は「セキュリティチェックの自動化」だ。開発サイクルを速める上では、セキュリティが足かせになりやすい。実際、セキュリティ面の問題で手戻りが発生するケースも多い。その点、後述する各種機能によってセキュリティチェックを自動化し、DevOpsのプロセスの中にチェックプロセスを埋め込めばDevSecOpsを実践できる。CI/CDのパイプライン全体を確実・効率的に守ることで、コンテナならではのスピードを阻害せずに、“セキュリティのシフトレフト”(手戻りを防ぐことで、スケジュール全体を前倒しすること)を支援できるわけだ。CI/CDのパイプライン全体を確実・効率的に守ることで、コンテナならではのスピードを阻害せずに、“セキュリティのシフトレフト”を実現できる《クリックで拡大》2つ目は「コンテナに特化したセキュリティを実施」できること。具体的には、後述する各種機能により、コンテナの不変性の維持、コンテナの特性を加味した脆弱性スキャン、コンテナファイアウォールによるアクセス制御、状況可視化とコンプライアンス対応などを実現する。3つ目は「複数のプラットフォームに対応」していること。インフラを選ばずポータビリティに優れたコンテナのメリットを生かせるよう、プラットフォーム、クラウド、OSに関わらずアプリケーションを単一の方法で守ることができる。800-190が掲げるリスク1つ1つに対処するために複数のツールを使うようでは運用負荷が高まってしまいます。その点、Aquaはこれらを単一のツールで行えるため、運用負荷削減にも大きく役立つのです」と付け加える。多彩なプラットフォーム、クラウドサービス、OS、オーケストレーターに対応。多くの企業やSIerの開発現場に、“包括的なコンテナセキュリティ機能”をスムーズに導入できる《クリックで拡大》ただ単にコンテナセキュリティを担保するのではなく、スピードやポータビリティといったコンテナ本来のメリットを阻害せず、自動化によって運用負荷や人的ミスを抑えながら、確実にセキュリティ脅威からコンテナを守る——いわば、開発とサービス提供に集中できる環境を整えられることが、Aquaが支持される大きな理由と言えるだろう。コンテナアプリを確実に守る7つの機能では具体的にはどのような機能を持っているのだろうか。Aquaは「イメージスキャン」「ロールベースのアクセス制御(RBAC)」「シークレット管理」「イメージアシュアランス(保全性保証)」「ランタイムプロテクション」「コンテナファイアウォール」「コンプライアンス」という大きく7つの機能を備えている。イメージスキャンこれは既知の脆弱性、マルウェア、設定関連の問題、およびハードコードされたシークレットについて、コンテナ環境で使用されるイメージをスキャンする機能だ。Intelligence」を活用しているという。スキャンはレジストリ内、ビルドなどのタイミングで実施でき、後述するさまざまなレジストリ、CI/CDツールと連携させることが可能だ。これにより、例えば「ビルドの段階でマルウェアが発見されたら、デプロイできない」といった仕組みも作ることができる。イメージアシュアランスイメージのスキャン結果を評価して、ホスト上で実行できるかどうかを判断する「イメージアシュアランスポリシー」を定義し、その判断に基づいてアクションを実行する機能。※2)、機密データ、スーパーユーザー権限などのパラメータに基づいて定義できる。「スキャンしたイメージのCVSSスコアがいくつ以上ならデプロイさせない」といったポリシーを設定できる。情報システムの脆弱性に対するオープンで包括的、汎用的な評価手法。正しくひも付けるためのものランタイムプロテクション実行時にコンテナを監視して、疑わしいプロセスの振る舞いを検知し、ブロックする機能。コンテナの挙動から学習したデータを使って、必要最低限の権限および機能を提供することで、イメージの不変性を維持する。コンテナファイアウォールコンテナのネットワーク接続を可視化し、許可された接続をホワイトリストに登録することで、不正な接続を防ぐルールを生成する機能。ロールベースのアクセス制御クラスター、デプロイメント、ホスト、アプリケーションごとにユーザー特権を強制し、職務の分離とコンプライアンスを保証する機能。実行中のコンテナに、パスワードやSSHキーなどの秘密情報を注入できる機能。Vault」など各種シークレット管理ツールと連携させ、シークレット管理ツールから秘密情報を取り出し、アクセス制御ルールに基づいて自動的にコンテナに注入することができる。コンプライアンスイメージスキャンの結果から発見された脆弱性と、推奨される修正のレポートを生成する機能。コンテナの実行時にホストやコンテナ上で発生するセキュリティーイベントの監査証跡も保持する。Consoleサーバー」というコンポーネントで構成される。Enforcerはホスト上のコンテナとして動作し、コンテナの動作を監視。Consoleサーバーにイベント情報を送信するというイメージだ。Management)のSplunkや、開発現場に深く浸透しているコミュニケーションツール、Slackとも連携できる。このように多彩なパートナーを持ち、多数の製品と連携できる点も強みだが、竹石氏は、「コンテナセキュリティに必要な機能をここまで包括的に提供していること、またコンテナ稼働中にスキャニングできる——すなわちビジネスを止めずにセキュリティを担保できることが、Aquaの大きなアドバンテージだと思います」とまとめる。「今やWebサービス系にとどまらず、多くの業種でより良い体験価値をスピーディーに作ることが重視されていますが、セキュリティは経営課題である以上、リスクヘッジも重要です。企業として信頼を確実に守るためには、“脅威からサービスを守る仕組み”を開発・運用プロセスに埋め込むことが肝要だと考えます。メールマガジンをご購読ください。申し込みページへ利用規約ITmediaはアイティメディア株式会社の登録商標です。