可用性を保護する設計

完了
強力なセキュリティ制御を使って、セキュリティ インシデント発生時のシステムとワークロードのダウンタイムと機能低下を防止するか、最小限に抑えます。 インシデント発生時とシステムの復旧後もデータの整合性を維持する必要があります。

可用性アーキテクチャの選択肢とセキュリティ アーキテクチャの選択肢のバランスを取る必要があります。 システムには、ユーザーがデータにアクセスできること、データに到達できることを確保する可用性保証が必要です。 セキュリティの観点から、ユーザーは許可されたアクセス スコープ内で操作する必要があり、データを信頼する必要があります。 セキュリティ制御で悪意のあるアクターをブロックする必要がありますが、正規のユーザーがシステムやデータにアクセスすることはブロックすべきではありません。

サンプル シナリオ

Contoso Concierge は、米国内で 50 個を超えるホテル ブランドで使われているホテル管理ソフトウェア システムを運営しています。 予約、ゲストのチェックインを担当し、ゲスト サービスとハウスキーピング スタッフの配置を追跡しています。 これは、米国の 2 つのリージョンで稼働するクラウドベースのシステムです。 ほとんどは仮想マシン スケール セットでホストされています。 ホテルのクライアントはブラウザーベースです。

堅牢なセキュリティによって信頼性を強化する

セキュリティ制御と設計パターンを使って、攻撃やコードの欠陥によるリソースの枯渇やアクセスのブロックを防ぎます。

このアプローチを採用すると、分散型サービス拒否 (DDoS) 攻撃などの悪意のあるアクションによってシステムにダウンタイムが発生しないようにすることができます。

"Contoso の課題"

  • 非常に多くのホテルのゲストが出張やレジャー旅行でこのシステムを利用しているため、ワークロード チームとワークロードの関係者は、このシステムの信頼性が最も重要であると考えています。 ホテルの事業を営むには、これが稼働している必要があります。
  • チームは、アプリケーションの更新プログラムを確実にリリースするための安全なデプロイ プラクティスの使用など、信頼性を高く保つ機能要件と非機能要件のテストに多大なリソースを投資してきました。
  • チームは信頼性を重視していましたが、セキュリティについてはそれほど注意を払ってきませんでした。 最近、攻撃者が悪用したコードの欠陥を含む更新プログラムがリリースされ、多くのホテルのシステム全体がダウンしました。 この攻撃により、あるリージョンのアプリケーション サーバーは、ある晩 4 時間以上にわたって過負荷になり、顧客とホテルのゲストに問題が発生しました。
  • 攻撃者は、Contoso アプリケーション サーバーを使ってリージョンのストレージ アカウントに対する要求をプロキシし、事前に生成されたフォリオ情報を受信しました。 異常に大量の悪意のあるフォリオが生成され、メモリに読み込まれるため、アプリケーション サーバーはアプリケーション サーバー上のリソースを使い果たしました。クライアントの再試行により、この問題はすべてのアプリケーション サーバーに広がります。

"アプローチと結果の適用"

  • チームは、フォリオ要求フローからアプリケーション サーバーを削除する設計パターンを検討し、代わりにバレー キー アプローチを選びました。 これでは問題を回避できませんでしたが、影響は分離されました。
  • また、入力をサニタイズするためにシステムに入力検証を追加しました。これは、将来このような悪意のある試みを防ぐのに役立ちます。
  • 入力のサニタイズと設計の強化により、ある種のリスクが軽減されました。

攻撃ベクトルを事前に制限する

アプリケーション コード、ネットワーク プロトコル、ID システム、マルウェア保護などの領域の脆弱性を悪用する攻撃ベクトルに対する予防措置を実装します。

コード スキャナーを実装し、最新のセキュリティ パッチを適用し、ソフトウェアを更新し、継続的に効果的なマルウェア対策を使用してシステムを保護します。 そうすることで攻撃面を減らし、ビジネス継続性を確保することができます。

"Contoso の課題"

  • システムのホストに使われる VM は、最新の Ubuntu OS を搭載した Azure Marketplace イメージです。 VM のブートストラップ プロセスでは、いくつかの証明書が設定され、SSH 構成が調整され、アプリケーション コードがインストールされますが、マルウェア対策ツールは採用されません。
  • Azure Application Gateway はソリューションの前面にありますが、インターネット ゲートウェイとしてのみ使われます。現在、Web Application Firewall (WAF) 機能は有効になっていません。
  • これらの構成の選択肢のどちらも、コードの脆弱性や意図しないマルウェアのインストールがあった場合に、コンピューティング環境が保護されない状態のままになります。

"アプローチと結果の適用"

  • Contoso のセキュリティ チームと相談した結果、企業が管理するウイルス対策ソリューションに仮想マシンを登録しました。
  • また、チームは、ゲートウェイ レベルで SQL インジェクションの試行などの既知の危険な要求を排除することで、アプリケーション コードの保護に役立つ WAF 機能を有効にして調整することを決定しました。
  • アプリケーションとアプリケーション プラットフォームには、システムの可用性に影響する可能性のある悪用から保護するために、多層防御が追加されました。

回復戦略をセキュリティで保護する

回復のリソースとプロセスには、セキュリティ制御やバックアップの頻度など、プライマリ環境と同じレベルの厳格なセキュリティを適用します。

ディザスター リカバリー時に使用できる安全なシステム状態を保存しておく必要があります。 そうすれば、セキュリティで保護されたセカンダリ システムまたは場所にフェールオーバーして、脅威を発生させないバックアップを復元できます。

プロセスを適切に設計すると、セキュリティ インシデントによって回復プロセスが妨げられることを回避できます。 破損したバックアップ データや解読できない暗号化されたデータがあると、回復が遅くなる可能性があります。

"Contoso の課題"

  • システムはリージョン間でアクティブ/アクティブとして機能しますが、最悪のシナリオでもビジネス継続性を回復できるように、チームはディザスター リカバリー計画を策定しています。
  • この計画の一部には、米国の 3 つ目のリージョンへバックアップを発送することが含まれています。
  • 残念ながら、バックアップは頻繁に監視されておらず、セキュリティ管理は比較的緩いシステムに保存されていました。 訓練中に、すべてのバックアップがマルウェアに感染していることに気付きました。 そのときに本当の災害に見舞われたら、うまく復旧できなかったでしょう。

"アプローチと結果の適用"

  • チームは時間と労力を費やしてバックアップ場所をセキュリティで保護し、データをセキュリティで保護するためにネットワークと ID の制御を追加しました。 改ざんを防ぐために、バックアップは不変ストレージにも格納されるようになりました。
  • チームはセキュリティ制御を確認した結果、回復プロセスの間に、アプリケーションが一定期間 WAF なしで実行されていることを検出しました。 このギャップを埋めるために操作の順序を変更します。
  • この結果、チームは、システムのバックアップと回復のプロセスが攻撃ベクトルとして悪用されにくくなったと確信しています。

自分の知識をチェックする

1.

Contoso は、システムを過負荷にする攻撃に対応するためにセキュリティ制御をどのように使いましたか?

2.

攻撃ベクトルを制限するために使用できる予防措置の例は何ですか?

3.

正誤問題: 回復環境で実行する場合、運用環境と比較してセキュリティ態勢を緩和しても問題ありません。