クラウドネイティブアプリケーションを保護する方法

クラウドネイティブアプリケーションを保護する方法

[[427938]]

[51CTO.com クイック翻訳]現在、多くの企業がクラウドネイティブ設計パターンを採用して、ビジネスオペレーションを近代化し、市場投入までの時間を短縮しています。クラウド ネイティブ アーキテクチャは、マイクロサービス、コンテナー、自動化された継続的インテグレーション (CI)/継続的デリバリー (CD) パイプライン、コンテナー オーケストレーション、統合された可観測性、クラウド コンピューティング インフラストラクチャなどのテクノロジを組み合わせたものです。しかし、現代のクラウド コンピューティング サービスは、データ侵害、アプリケーションの脆弱性、アカウントの乗っ取り、安全でない API、悪意のある内部者、データ損失、サービス拒否、不適切な資格情報管理などのセキュリティ リスクに直面しています。

これらの脅威から保護するために、企業はデータとサービスにゼロトラスト モデルを採用し、DevSecOps を採用してソフトウェア開発ライフサイクル (SDLC) 全体にわたってセキュリティ プラクティスを統合する必要があります。企業は、Docker などのコンテナ テクノロジを使用して、クラウド ネイティブ アプリケーションのパッケージ化と展開のワークフローを簡素化しています。 Kubernetes は、コンテナ化されたアプリケーションの展開、スケーリング、管理を自動化するための一般的なコンテナ オーケストレーション システムです。

DevOps の原則を採用すると、エンタープライズ チームは機能を迅速に展開してリリースできるようになりますが、クラウド ネイティブ アプリケーションのセキュリティに関する課題も生じます。したがって、DevOps にセキュリティ対策を導入する必要があります。

図1 クラウドネイティブセキュリティの4つのC

1. クラウドネイティブセキュリティの4つのC

クラウド ネイティブ セキュリティの 4 つの C は、クラウド コンピューティング (Cloud)、クラスター (Clusters)、コンテナー (Container)、コード (Code) です。図 1 に示すように、各レイヤーは外部セキュリティ レイヤーの恩恵を受けており、コード レイヤーはクラウド コンピューティング、クラスター、およびコンテナー レイヤーの上に構築されています。保護アーキテクチャの各層の役割の簡単な説明は次のとおりです。

  • クラウド コンピューティング – すべてのセキュリティ レイヤーの基盤であり、すべてのクラウド コンピューティング プロバイダー (AWS、Microsoft Azure、Google Cloud、IBM Cloud など) は、実行中のワークロードに対してクラウド コンピューティング インフラストラクチャのセキュリティを提供します。
  • クラスター - このレイヤーでの主なセキュリティ上の懸念事項は、RBAC 認証、シークレット管理、ポッド セキュリティ ポリシー、およびネットワーク ポリシーであり、Kubernetes が標準の運用ツールとなっています。
  • コンテナ – このレイヤーに推奨されるセキュリティ体制は、コンテナの脆弱性スキャン、イメージの署名、特権ユーザーの無効化です。
  • コード – 企業はこのレイヤーを最も制御でき、静的コード分析の実行、DevSecOps プラクティスの採用、継続的インテグレーション (CI)/継続的デリバリー (CD) パイプラインへのセキュリティの組み込みなどのセキュリティ推奨事項を実装できます。

2. クラウドネイティブのセキュリティの課題

COVID-19 パンデミックにより多くの企業がリモートワークを導入する中、データとシステムを保護する必要性がこれまで以上に重要になっています。 「ゼロ トラスト」セキュリティ モデルは、特に従業員にリモート ワークをさせたり、ハイブリッド ワークスペース環境を導入したりすることを計画している場合、組織の全体的なセキュリティ体制を向上させることができます。基本的な原則は、セキュリティ パラメーター (企業ネットワーク) 内のすべてのものを盲目的に信頼することを避け、企業の内外を問わず、ネットワークにアクセスしようとするすべてのユーザー、アプリケーション、デバイスを常に認証および承認することです。

ゼロトラスト アーキテクチャを構築するための主要なテクノロジーと原則は次のとおりです。

  • 多要素認証。
  • アイデンティティとアクセス管理。
  • デバイスインベントリの可視性。
  • ファイアウォール管理。
  • データの分類と暗号化。
  • 最小権限アクセス。
  • 継続的なネットワーク トラフィックの監視。

3. クラウドネイティブアプリケーションのセキュリティ

コンテナを使用すると、アプリケーションのランタイム依存関係を簡単にパッケージ化してデプロイできるようになり、開発環境と運用環境間の構成管理の問題を解決するのに役立ちます。ただし、コンテナは一時的なものであり、従来の脅威検出や脆弱性スキャンのセキュリティ メカニズムと比較して寿命が短いため、コンテナのセキュリティは困難です。

(1)コンテナセキュリティ

すぐに使用できるコンテナは、一定レベルの分離とセキュリティを提供しますが、同時に、カーネルの脆弱性、サービス拒否攻撃、汚染されたイメージ、コンテナのリーク、機密情報の漏洩など、多くのセキュリティ問題ももたらします。 1 つのコンテナの問題が同じホスト上で実行されている他のインスタンスに影響を及ぼす可能性があるため、コンテナの攻撃対象領域を減らすことは非常に重要です。最小権限の原則を適用し、コンテナへのユーザー アクセスを制限することをお勧めします。資格情報を安全に保存し、操作中にコンテナが機密データにアクセスできるようにするには、秘密管理ソリューションが必要です。

さらに、コンテナ イメージは不変であるため、コンテナ イメージ内の脆弱性はイメージの有効期間中は存続します。したがって、イメージの脆弱性を定期的にスキャンし、継続的インテグレーション (CI)/継続的デリバリー (CD) パイプラインの一部として最新のパッチで更新し、信頼できるレジストリから取得する必要があります。コンテナ化された環境でクラウドネイティブ アプリケーションを実行する場合、企業はクラスター構成を完全に理解し、適切な監視を実装する必要があります。

(2)安全責任分担モデル

パブリック クラウドでは、セキュリティはクラウド コンピューティング サービス プロバイダーとその顧客の間で共有される責任です。責任の区別は、「クラウド プラットフォーム」のセキュリティと「クラウド」内のセキュリティとして考えることができます。クラウド コンピューティング プロバイダーは、サービスを実行するインフラストラクチャ全体を保護し、物理層とネットワーク層での運用上の問題を処理します。一方、アプリケーション コードやデータ層の保護を含むビジネス ロジックのセキュリティについては、お客様が責任を負います。

図 2 は、オンプレミスとクラウドで実行されるワークロードに関する顧客と Microsoft 間の責任範囲を含む、Microsoft の共有責任モデルを示しています。

図 2 Microsoft の責任共有モデル

4. 自動化されたクラウドネイティブセキュリティ

DevOps アプローチは、開発プロセスと運用プロセス間のコラボレーションと透明性の向上に重点を置いています。ただし、市場投入までのスピードを追求する中で、セキュリティ対策を無視して下流に押し進めることはできません。ここで、開発サイクルの早い段階で運用とセキュリティ対策を組み合わせる DevSecOps が重要な役割を果たします。

(1)シフトレフト安全保障戦略

企業はセキュリティが後回しにされることを望まないため、セキュリティを開発プロセスに組み込むことが重要です。代わりに、組織はセキュリティを考慮してシステムを設計および構築する必要があります。運用環境でのセキュリティの脆弱性を特定して修正するにはコストと時間がかかるため、セキュリティをシフトレフトする目的は、運用環境に展開する前だけでなく、開発プロセス中にセキュリティ対策を実装し、セキュリティ テストを実行することです。企業の DevOps パイプラインでは、セキュリティのベストプラクティスに準拠しながら、ソフトウェアをより高品質かつ高速に導入できる必要があります。

ほとんどの脆弱性はアプリケーション レベルで導入されるため、アプリケーションに脆弱性が含まれていると、サイバー攻撃者がシステムを侵害する可能性があります。静的アプリケーション セキュリティ テスト (SAST) と SAST ツールを使用すると、企業はコード ベース全体をスキャンし、セキュリティ関連のルールを適用して、SQL インジェクション、クロスサイト スクリプティング、サービス拒否、コード インジェクションの問題などの脆弱性を検出できます。さらに、継続的インテグレーション ワークフローの一部として、自動化された脆弱性検出とコンプライアンス レポートを使用して、すべてのコード コミットで静的コード分析を実行できます。

(2)継続的インテグレーション(CI)/継続的デリバリー(CD)パイプラインにセキュリティを統合する

図 3 に示すように、セキュリティ制御を企業の自動化パイプラインに統合することが、高品質のソフトウェアを正常に提供するための鍵となります。 DevOps パイプラインには、環境に変更を展開するために必要な権限があるため、厳格なセキュリティ ガードレールを配置する必要があります。開発者は、継続的インテグレーション (CI)/継続的デリバリー (CD) パイプラインにさまざまなオープンソースおよび商用のセキュリティ ツールを活用できます。目標は、セキュリティ上の問題を早期に検出し、安全なコーディング手法、ピアレビュープロセス、静的コード分析の実行などの摩擦の少ない対策をより簡単に実装できるようにすることです。

組織でオープンソース ソフトウェアまたはサードパーティのデータベースを使用している場合は、脆弱性管理と脅威検出のためのツールが必要です。組織のパイプラインに軽量の侵入テストを実装すると、セキュリティ体制を強化するのに役立ちます。たとえば、OWASP ZAP などの動的アプリケーション セキュリティ テスト (DAST) ツールは、コードが本番環境に展開される前にセキュリティ ゲートとして機能します。コンテナをスキャンするだけでなく、クラウドにデプロイする前にインフラストラクチャ コードをスキャンすることを検討してください。

図3 DevOpsパイプラインにセキュリティを組み込む

結論は

DevOps にセキュリティを組み込むという文化的変化により、開発チームにはアプリケーションのセキュリティ テストを自動化し、それをリリース パイプラインに統合するという追加の責任が生じます。開発チームにセキュリティの原則とベストプラクティスをトレーニングすることで、知識のギャップを埋めることができます。さらに、開発チームが IT セキュリティ チームと緊密に連携することで、ソフトウェア開発ライフサイクル (SDLC) の早い段階でセキュリティの脆弱性を軽減し、アプリケーション開発とセキュリティのシナリオにシフトレフトの概念を実装できるようになります。

Open Web Application Security Project (OWASP) は、アプリケーション セキュリティ メカニズムを推進する非営利のグローバル コミュニティです。したがって、クラウド ネイティブ分野で作業する開発者は、OWASP Top 10 アプリケーション セキュリティの脆弱性、ハッカーがそれらを悪用する方法、およびこれらのリスクを排除する方法をよく理解しておくことをお勧めします。コード インジェクション、機密データの漏洩、認証の不備、セキュリティ構成の誤り、クロスサイト スクリプティング、不十分なログ記録/監視などの脆弱性のほとんどは、安全なコーディング プラクティスと厳格なコード レビュー チェックリストによって対処できます。

原題: クラウドネイティブ アプリケーションのセキュリティ保護、著者: Samir Behara

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  これが Scala の真髄です。これを受講すれば、面接を恐れることはありません。

>>:  Nodeを使用して分散トランザクションを簡単に完了するTCC、乳母レベルのチュートリアル

推薦する

グローバル クラスター サーバー、複数の国と地域、複数の C セグメント、クリーン IP の紹介!

多くのウェブマスターは、クラスターを構築するためにクラスター サーバーを必要としており、また、Ama...

フレンドリーリンクを購入する際に遭遇するNつの状況について話す

タイトルを見ると、次のような疑問を抱かずにはいられない人もいるだろう。「Baidu Green Ra...

量子コンピューティングはコンピューティング分野をどのように変えるのでしょうか?

量子コンピューティングは急速に発展している分野であり、複雑な問題を解決し、情報を処理する方法に革命を...

テンセントミーティングは8日間で100万コア以上拡張され、歴史を塗り替えている

同社は8日間でクラウドホスト10万台以上を緊急拡張し、100万コア以上のコンピューティングリソースを...

Qiavi Networkは、新しいウェブサイトを立ち上げる際に従わなければならない5つのルールについて語ります

新しいウェブサイトがオンラインになった後、良いランキングを獲得したい場合、今日、Qiawei Net...

生成 AI とクラウド ネイティブは期待が膨らんでいる時期にあります。それらは企業変革よりも重要ですか?

今年、業界には「AI記者会見でない記者会見はもう存在しない」というジョークがある。そうです、ほぼすべ...

クラウド バックアップとクラウド ストレージとファイルの同期と共有の違いは何ですか?

クラウド バックアップとクラウド ストレージの違いはよく混同されます。また、ファイルの同期と共有がど...

Ideal Auto の K8s 上の Flink に基づくデータ統合の実践

1. データ統合の発展と現状Ideal Auto のデータ統合の開発は、次の 4 つの段階を経てきま...

高品質なソフト製品に求められる条件

ウェブサイトを運営したりブログを書いたりしている友人の多くが、よく次のような質問をします。「良いソフ...

#サイバーマンデー# VULTR - 20 ドル無料、サイバーマンデー、24 時間限定、Alipay で支払い

クラウドホスティングの有名ブランドであるVULTRは、世界中に15のデータセンターを持っています。そ...

アリババクラウド研究員シュ・トン氏:クラウドネイティブは企業にとってデジタルイノベーションへの最短の道

[[404969]]今日、デジタル化は企業の中核的な競争力となり、何千もの業界がクラウド コンピュー...

データセンター分散スケジューリングのスーパーマン: DCOS - 急成長するデータ都市へご案内

DCOS は、データセンター全体に分散スケジューリングおよび調整機能を提供し、データセンター レベル...

poweruphosting-10.5USD/KVM/2IP/1GB RAM/20GB SSD/無制限トラフィック/Gポート/ロサンゼルス

poweruphosting についてご紹介します。2006 年にロサンゼルスで設立され、現在は主に...

CSS関連のSEO対策フロントエンドスタッフがSEO対策コードを書く

SEO の重要性はますます高まっています。SEO はウェブサイトのあらゆるレベルに浸透しています。健...

マイクロサービスアーキテクチャによる分散トランザクションソリューション

[[426291]]ビジネスの急速な発展とビジネスの複雑性の増大に伴い、従来のモノリシック アプリケ...