コンテナとマイクロサービスがセキュリティに及ぼす影響

コンテナとマイクロサービスがセキュリティに及ぼす影響
  • クラウドネイティブのアプリケーションとインフラストラクチャでは、セキュリティに対してまったく異なるアプローチが必要です。これらのベストプラクティスを念頭に置いてください

今日、大規模から小規模まで、あらゆる組織がクラウドネイティブ テクノロジーの導入を検討しています。 「クラウド ネイティブ」とは、ソフトウェアをコンテナと呼ばれる標準化されたユニットにパッケージ化するアプローチを指します。コンテナはマイクロサービスに編成され、接続してプログラムを形成し、実行中のアプリケーションが完全に自動化されて速度、柔軟性、スケーラビリティが向上するようにします。

[[209844]]

このアプローチはソフトウェアの構築、展開、実行の方法を根本的に変えるため、ソフトウェアを保護する方法も根本的に変わります。クラウド ネイティブ プログラムとインフラストラクチャは、組織のクラウド ネイティブ テクノロジの使用をサポートするために新しいセキュリティ プログラムを構築する必要のあるセキュリティ専門家にとって、いくつかの新たな課題をもたらします。

これらの課題を確認し、セキュリティ チームがそれらの課題に対処するためにどのようなベスト プラクティスを採用すべきかについて説明します。最初の課題は次のとおりです。

従来のセキュリティ インフラストラクチャにはコンテナの可視性が欠けています。既存のホストベースおよびネットワークベースのセキュリティ ツールのほとんどには、コンテナのアクティビティを監視またはキャプチャする機能がありません。これらのツールは、個々のオペレーティング システムまたはホスト間のトラフィックを保護するように設計されており、それらで実行されているアプリケーションを保護するようには設計されていないため、コンテナ イベント、システムの相互作用、およびコンテナ間のトラフィックの可視性が欠如しています。

攻撃対象領域は急速に変化する可能性があります。クラウド ネイティブ アプリケーションは、マイクロサービスと呼ばれる多数の小さなコンポーネントで構成されており、これらは高度に分散されているため、それぞれを個別に監査して保護する必要があります。これらのアプリケーションはオーケストレーション システムを通じて構成および適応されるように設計されているため、攻撃対象領域は常に変化し、従来のモノリシック アプリケーションよりもはるかに高速です。

分散データフローは継続的に監視する必要があります。コンテナとマイクロサービスは軽量で、プログラム可能な方法で相互接続したり、外部のクラウド サービスと相互接続したりするように設計されています。これにより、環境全体で大量の高速移動データが生成され、攻撃や侵害の兆候、および不正なデータアクセスや流出に対処するために継続的な監視が必要になります。

検出、防止、対応は自動化する必要があります。コンテナによって生成されるイベントの速度と量は、現在のセキュリティ運用プロセスを圧倒します。コンテナの寿命が短いため、インシデントの捕捉、分析、根本原因の特定も困難になります。効果的な脅威保護とは、データの収集、フィルタリング、相関、分析を自動化し、新しいインシデントに迅速に対応できるようにすることを意味します。

これらの新たな課題に直面して、セキュリティ専門家は、組織でのクラウドネイティブ テクノロジの使用をサポートするための新しいセキュリティ プログラムを構築する必要があります。当然のことながら、セキュリティ プランでは、クラウド ネイティブ アプリケーションのライフサイクル全体に対応する必要があります。これは、ビルドとデプロイメント フェーズと、ランタイム フェーズという 2 つの異なるフェーズに分けられます。各フェーズには異なるセキュリティ上の考慮事項があり、包括的なセキュリティ プランを作成するには、これらすべてに対処する必要があります。

コンテナのビルドとデプロイメントの保証

ビルドおよびデプロイ フェーズ中のセキュリティは、開発者のワークフローと継続的インテグレーションおよびデプロイ パイプラインに制御を適用して、コンテナーの起動後に発生する可能性のあるセキュリティ問題のリスクを軽減することに重点を置いています。これらの制御には、次のようなガイドラインとベスト プラクティスが含まれます。

画像はできるだけ小さくしてください。コンテナ イメージは、アプリケーション コードとその依存関係をパッケージ化する軽量の実行可能ファイルです。各イメージをソフトウェアの実行に必要なものに制限することで、イメージから起動される各コンテナの攻撃対象領域を最小限に抑えます。 Alpine Linux などの最小限のオペレーティング システム ベース イメージから開始すると、イメージ サイズが縮小され、イメージの管理が容易になります。

画像のスキャンに関する既知の問題。イメージをビルドするときには、既知の脆弱性の開示がないか確認する必要があります。イメージを構成する各ファイル システム レイヤーをスキャンし、その結果を定期的に更新される Common Vulnerabilities and Exposures (CVE) データベースと比較できます。開発チームとセキュリティ チームは、イメージを使用してコンテナを起動する前に、発見された脆弱性に対処できます。

デジタル署名された画像。イメージが作成されたら、展開する前にその整合性を検証する必要があります。一部の画像形式では、画像の内容が変更されたかどうかを検出するために使用できるダイジェストと呼ばれる一意の識別子が使用されます。秘密キーを使用してイメージに署名すると、コンテナの起動に使用される各イメージが信頼できる当事者によって作成されたことが暗号化によって保証されます。

ホスト オペレーティング システムへのアクセスを強化し、制限します。ホスト上で実行されるコンテナーは同じオペレーティング システムを共有するため、適切に制限された機能セットで起動されるようにする必要があります。これは、Seccomp、AppArmor、SELinux などのカーネル セキュリティ機能とモジュールを使用することで実現できます。

アプリケーション レベルのセグメンテーション戦略を指定します。マイクロサービス間のネットワーク トラフィックをセグメント化して、相互の接続を制限することができます。ただし、これはタグやセレクターなどのアプリケーション レベルのプロパティに基づいて構成する必要があり、IP アドレスなどの従来のネットワークの詳細を処理する複雑さが排除されます。セグメンテーションの課題は、コンテナが通常のアクティビティの一環として環境内および環境間で通信する機能に影響を与えずに、通信を制限するためのポリシーを事前に定義する必要があることです。

コンテナで使用されるシークレットを保護します。マイクロサービスは、パスワード、トークン、キーなどの機密データ(シークレットと呼ばれる)を頻繁に相互に交換します。この秘密情報をイメージや環境変数に保存すると、誤って公開される可能性があります。そのため、Docker や Kubernetes などのいくつかのオーケストレーション プラットフォームでは、シークレットが必要な場合にのみそれを使用するコンテナーに配布されるように、シークレット管理が統合されています。

Docker、Red Hat、CoreOS などの企業が提供するいくつかの主要なコンテナ プラットフォームとツールは、これらの機能の一部またはすべてを提供します。これらのアプローチのいずれかを開始することが、ビルドおよびデプロイフェーズ中に強力なセキュリティを確保する最も簡単な方法です。

ただし、包括的なセキュリティ プログラムを確保するには、ビルドおよび展開フェーズの制御だけでは不十分です。コンテナの実行を開始する前にすべてのセキュリティ インシデントに積極的に対処することは、次の理由により不可能です。まず、脆弱性を完全に排除することはできず、常に新しい脆弱性が出現します。第二に、宣言型コンテナ メタデータとネットワーク セグメンテーション ポリシーでは、高度に分散された環境におけるすべての正当なアプリケーション アクティビティを完全に予測することはできません。 3 番目に、ランタイム コントロールは使い方が複雑で、誤って構成されていることが多く、アプリケーションが脅威に対して脆弱になります。

実行時にコンテナを保護する

実行段階でのセキュリティには、コンテナの実行後に発生する攻撃やポリシー違反を検出して阻止するために必要なすべての機能 (可視性、検出、対応、防止) が含まれます。セキュリティ チームは、セキュリティ インシデントを完全に修復するために、その根本原因をトリアージ、調査、特定する必要があります。ランタイム セキュリティを成功させるための重要な側面は次のとおりです。

継続的な可視性を実現するために、環境全体を計測します。攻撃や侵害を検出するには、実行中のコンテナ内のすべてのアクティビティをリアルタイムでキャプチャし、実用的な「真実のソース」を提供できることから始まります。さまざまな種類のコンテナ関連データをキャプチャするさまざまなインストルメンテーション フレームワークがあります。コンテナの容量と速度に対応できるソリューションを選択することが重要です。

分散された脅威指標を相関させます。コンテナは、リソースの可用性に基づいてコンピューティング インフラストラクチャ全体に分散されるように設計されています。アプリケーションは数百または数千のコンテナで構成される場合があり、侵害の兆候が多数のホストに分散され、アクティブな脅威に関連する重要な兆候を特定することが困難になることがあります。特定の攻撃の根拠となる指標を特定するには、大規模で迅速な相関関係が必要です。

コンテナとマイクロサービスの動作を分析します。マイクロサービスとコンテナを使用すると、アプリケーションを特定の機能を実行し、不変となるように設計された最小のコンポーネントに分割できます。これにより、従来のアプリケーション環境よりも、予想される動作の通常のパターンを理解しやすくなります。これらの動作ベースラインからの逸脱は悪意のある動作を反映している可能性があり、脅威をより正確に検出するために使用できます。

機械学習を通じて脅威の検出を強化します。コンテナ環境で生成されるデータの量と速度は、従来の検出手法を上回っています。自動化と機械学習により、より効果的な動作モデリング、パターン認識、分類が可能になり、より高い忠実度で脅威を検出し、誤検知を減らすことができます。異常を警告するための静的ホワイトリストを生成するためだけに機械学習を使用するソリューションでは、重大なアラートノイズと疲労が発生する可能性があることに注意してください。

許可されていないコンテナ エンジン コマンドを傍受してブロックします。 Docker などのコンテナ エンジンに送信されるコマンドは、コンテナの作成、起動、終了、および実行中のコンテナ内でのコマンドの実行に使用されます。これらのコマンドはコンテナを侵害する意図を反映している可能性があり、つまり、許可されていないコマンドはすべて禁止される可能性があります。

自動応答とフォレンジック。コンテナの寿命が短いため、インシデント対応やフォレンジックのためのインシデントに関する情報がほとんど提供されないことがよくあります。さらに、クラウドネイティブ アーキテクチャでは、インフラストラクチャが不変として扱われることが多く、影響を受けるシステムが自動的に新しいシステムに置き換えられるため、調査中にコンテナーが消えてしまう可能性があります。自動化により、攻撃や侵害の影響を軽減するのに十分な速さで情報が取得、分析、エスカレーションされることが保証されます。

コンテナ テクノロジーとマイクロサービス アーキテクチャに基づくクラウド ネイティブ ソフトウェアにより、アプリケーションとインフラストラクチャが急速に近代化されています。このパラダイムシフトにより、セキュリティ専門家は組織を効果的に保護するために必要な計画を再考する必要に迫られています。クラウドネイティブ ソフトウェアの包括的なセキュリティ プランは、コンテナーの構築、展開、実行におけるアプリケーション ライフサイクル全体に対応します。上記のガイドラインを使用して計画を実装することで、組織はコンテナ インフラストラクチャと、その上で実行されるアプリケーションおよびサービスのための安全な基盤を構築できます。

著者: WeLien Dang は、コンテナに対する適応型脅威保護を提供するセキュリティ企業、StackRox の製品担当副社長です。以前は、CoreOS の製品責任者を務め、Amazon、Splunk、Bracket Computing でセキュリティとクラウド インフラストラクチャの上級製品管理職を歴任しました。

<<:  クラウド コンピューティングの指標をアジリティの指標に変える方法

>>:  クラウド コンピューティング アーキテクチャにおける Cloud TiDB の技術的秘密 (パート 1)

推薦する

百度は検索結果を百科事典のようにする「ナレッジグラフ」機能を導入した疑いがある

最近、一部のネットユーザーが、百度で特定の人物のキーワードを検索すると、その人物に関する情報が表示さ...

「食べ物」は言葉にできない武器:123systems 簡易評価/256M メモリ/500g トラフィック/年間支払い 4.5 ドル

今日ももうすぐ終わりなので、何とも言えない「食べ物」の「ツール」である 123systems を紹介...

コンテナとKubernetesを活用した3つの変革成功事例

さまざまな業界の企業が、デジタル変革の一環として、あるいは増大する需要に対応するために構築される高価...

Sentry Monitoring - フルスタック開発者向けの分散トレース

[[427214]]フルスタック開発者向けの分散トレースに関するシリーズのパート 1 へようこそ。こ...

男女の恋愛観からみたウェブサイトSEOの原則をまとめる

愛は素晴らしく、至福のものです。誰もが情熱的な愛を望んでいるので、安定した関係を築くためには、多くの...

サーバーレスコンピューティングはビジネスの成功に必要

企業内のテクノロジーや運用方法は、頻繁に変化します。もちろん、大きな変化が起こるたびに市場の動向に追...

これは私が個人的に「SEO業界は2年以内に消滅する」と考えていることです

昨日、「フォーブス:SEOは終わり、ソーシャルリアルタイムコンテンツが流行」というタイトルの記事がネ...

tmhhost: 香港 cn2 gia vps (必須 3 ネットワーク)、20% 割引、36 元/月、1G メモリ/1 コア/20gSSD/3M 帯域幅

tmhhostは現在、春のプロモーションを実施しています。(1)香港安昌データセンターのVPSを20...

pq.hostingはどうですか?スウェーデンのVPSレビュー、データ共有

pq.hostingはどうですか? pq.hosting スウェーデン VPS はいかがでしょうか?...

#12.12# moonvm: 香港のダイナミック VPS、デュアル ISP IP、ワンクリック IP スイッチ、月額 98 ドル、4G メモリ/6 コア/15g SSD/専用 1Gbps 帯域幅

moonvm は、ダブル 12 の特別プロモーションを開始しました。香港のダイナミック VPS、HK...

2012年は質の高い外部リンク構築チャネルが期待されます

多くの人は、SEO最適化を外部リンク構築、コンテンツ最適化と要約したり、外部リンクが王様、コンテンツ...

百度のSEO後の外部リンク判定は大計画時代へ

百度の李氏は「外部リンク判定」に関する文書基準を発表し、業界で議論を巻き起こした。当然、喜ぶ人もいれ...

SaaS 企業が優れたデジタル マーケティング戦略を通じて認知度を高める方法

[[354191]]新型コロナウイルス感染症の世界的流行により、多くの企業が従業員に在宅勤務を許可せ...

テンセントWeiboのファンを増やす5つの効果的な方法

これまで何年も一緒に遊んできたTencent Weiboについて話した後、今日はTencent We...

Mituo 1元体験サイト構築が正式に開始

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますユーザーエ...