SaaS、PaaS、IaaS サービスのセキュリティ ベースラインを指定する
このユニットでは、IaaS と PaaS のセキュリティに関する一般的なベスト プラクティスの概要について説明します。
IaaS セキュリティ
認証とアクセス制御を使用して VM を保護する
VM 保護の第一歩は、承認されたユーザーのみが新しい VM を設定し、VM にアクセスできるようにすることです。
Azure ポリシーを使用して、組織内のリソース向けの規則を確立し、カスタマイズ ポリシーを作成します。 これらのポリシーをリソース グループなどのリソースに適用します。 リソース グループに属する VM は、それらのポリシーを継承します。
可用性を高めるために複数の VM を使用する
高可用性を必要とする重要なアプリケーションが仮想マシンで実行されている場合は、複数の VM を使うことを強くお勧めします。 可用性を高めるには、可用性セットまたは可用性ゾーンを使用します。
可用性セットは、Azure で使用できる論理グループであり、グループに配置された VM リソースは、Azure データ センター内にデプロイされるときに互いに分離されます。 Azure では、可用性セット内に配置された VM は、複数の物理サーバー、コンピューティング ラック、ストレージ ユニット、およびネットワーク スイッチ間で実行されることが保証されます。 ハードウェアまたは Azure ソフトウェアの障害が発生した場合に影響を受けるのは VM のサブセットに限定され、顧客は引き続きアプリケーション全体を利用できます。 可用性セットは、信頼性の高いクラウド ソリューションを構築する際に不可欠な機能です。
マルウェアを防ぐ
ウイルスやスパイウェアなどの悪意のあるソフトウェアを識別して削除するために、マルウェア対策保護を導入する必要があります。 Microsoft Antimalware または Microsoft パートナーのエンドポイント保護ソリューション (Trend Micro、Broadcom、McAfee、Windows Defender、および System Center Endpoint Protection) をインストールします。
VM の更新の管理
Azure VM は、他の VM と同じように、ユーザーによって管理されることを意図しています。 Azure では、それらに対して Windows 更新プログラムをプッシュしません。 VM の更新は、お客様が管理する必要があります。
Azure Automation の Update Management ソリューションを使用すると、Azure、オンプレミスの環境、またはその他のクラウド プロバイダーにデプロイされた Windows コンピューターと Linux コンピューターに関して、オペレーティング システムの更新プログラムを管理できます。 すべてのエージェント コンピューターで利用可能な更新プログラムの状態をすばやく評価し、サーバーに必要な更新プログラムをインストールするプロセスを管理できます。
VM のセキュリティ体制の維持
サイバー攻撃の脅威は進化しています。 VM を保護するには、脅威をすばやく検出し、リソースへの不正アクセスを防止し、アラートをトリガーし、偽陽性を減らすことができる、より高性能の監視機能が必要です。
Windows VM と Linux VM のセキュリティ体制を監視するには、Microsoft Defender for Cloud を使用します。
VM パフォーマンスの監視
VM のプロセスが必要以上に多くのリソースを消費しているときは、リソースの酷使が問題になる可能性があります。 VM のパフォーマンスの問題はサービス中断に発展する場合があり、そうなれば可用性というセキュリティの原則を損ないます。 CPU またはメモリの使用率の高さはサービス拒否 (DoS) 攻撃を示唆していることがあるため、IIS や他の Web サーバーをホストしている VM にとって、これは特に重要です。 VM のアクセスを監視することは、問題発生時の対処としてのみならず、通常運用時に測定された基準パフォーマンスと照らして能動的に行うことが不可欠となります。
仮想ハード ディスク ファイルを暗号化する
ブート ボリュームとストレージに保存されているデータ ボリュームに加え、暗号化キーとシークレットを保護できるように、仮想 ハード ディスク (VHD) を暗号化することをお勧めします。
Linux VM に対する Azure Disk Encryption と Windows VM 用の Azure Disk Encryption は、Linux と Windows の IaaS 仮想マシン ディスクの暗号化に役立ちます。 Azure Disk Encryption では、業界標準である Linux の DM-Crypt 機能と Windows の BitLocker 機能を使用して、OS とデータ ディスクのボリュームの暗号化を提供します。 このソリューションは Azure Key Vault と統合されており、ディスクの暗号化キーとシークレットは Key Vault サブスクリプションで制御および管理できます。 また、このソリューションでは、仮想マシン ディスク上のすべてのデータが、Azure Storage での保存時に暗号化されます。
インターネットへの直接接続を制限する
VM からインターネットへの直接接続を監視して制限します。 攻撃者は、パブリック クラウドの IP 範囲を常にスキャンして開いている管理ポートを検索し、よく使用されるパスワードや修正プログラムが適用されていない既知の脆弱性などの "簡単な" 攻撃を試みます。
PaaS セキュリティ
主要なセキュリティ境界として ID のポリシーを採用
クラウド コンピューティングの 5 つの重要な特性の 1 つは広範なネットワーク アクセスであるため、ネットワーク中心の考えは関連性が低くなります。 クラウド コンピューティングが目指していることは、どこにいるかに関係なくユーザーがリソースにアクセスできるようにすることです。 ほとんどのユーザーにとって、自分たちのいる場所はインターネット上のどこかになります。
次の図は、セキュリティ境界がネットワーク境界から ID 境界へと発展してきたことを示しています。 セキュリティにおいては、ネットワークの保護よりもデータの保護、アプリとユーザーのセキュリティ管理が重要になってきています。 主な違いは、お客様が、セキュリティを会社にとって重要なものにより近い場所に配備したいと考えていることです。
当初 Azure PaaS サービス (Web ロールや Azure SQL など) では、従来のネットワーク境界における防御はほとんどまたはまったく提供していませんでした。 要素の目的はインターネットに公開される (Web ロール) ことであり、認証によって新しい境界 (BLOB や Azure SQL など) が提供されることが理解されました。
最新のセキュリティ プラクティスでは、攻撃者がネットワーク境界に不正侵入していることを仮定しています。 そのため、最新の防御対策は ID に移行しています。 組織は、強力な認証と承認によるウィルス予防策 (ベスト プラクティス) を講じて、ID ベースのセキュリティ境界を確立する必要があります。
ネットワーク境界の基本原則とパターンは、数十年もの間提供されてきました。 これに対して、ID を主要なセキュリティ境界として使用する業界の経験は比較的浅いものです。 とは言え、Microsoft では一般的な推奨事項を提供するのに十分なノウハウを蓄積してきました。この推奨事項は現場における実証済みで、ほぼすべての PaaS サービスに適用されます。
Azure App Service での開発
PaaS である Azure App Service を使用すると、任意のプラットフォームまたはデバイスを対象とした Web アプリとモバイル アプリを作成し、クラウドやオンプレミスにあるあらゆる場所のデータにアクセスできます。 App Service には、以前は Azure Websites および Azure Mobile Services として個別に提供されていた Web 機能とモバイル機能が含まれています。 さらに、ビジネス プロセスの自動化やクラウド API のホストに利用できる新しい機能も備えています。 単一の統合サービスである App Service により、Web、モバイル、および統合シナリオで豊富な機能セットを利用できます。
Web アプリケーション ファイアウォールをインストールする
Web アプリケーションが、一般的な既知の脆弱性を悪用した悪意のある攻撃の的になるケースが増えています。 よくある攻撃の例として、SQL インジェクション攻撃やクロス サイト スクリプティング攻撃が挙げられます。 アプリケーション コードでこのような攻撃を防ぐことは困難な場合があり、厳格な保守、パッチの適用、アプリケーション トポロジの多数のレイヤーの監視が必要になることもあります。 Web アプリケーション ファイアウォールを一元化することで、セキュリティの管理がはるかに簡単になり、アプリケーション管理者にとっては侵入の脅威からより確実に保護されるようになります。 また、WAF のソリューションは、1 か所に既知の脆弱性の修正プログラムを適用することで、個々の Web アプリケーションをセキュリティで保護する場合と比較して、さらに迅速にセキュリティの脅威に対応できます。
Web アプリケーション ファイアウォール (WAF) では、一般的な悪用や脆弱性から Web アプリケーションを一元的に保護します。
DDoS 保護
Azure DDoS Protection では、アプリケーションの設計に関するベスト プラクティスと組み合わせることにより、DDoS 攻撃からの保護を向上させるための強化された DDoS 軽減機能が提供されます。 すべての境界仮想ネットワークで Azure DDOS Protection を有効にする必要があります。
アプリケーションのパフォーマンスを監視する
監視とは、アプリケーションのパフォーマンス、正常性、可用性を見極めるために、データを収集し、分析することを指します。 効果的な監視戦略を策定することで、アプリケーションのコンポーネントの動作状況を詳細に把握できます。 問題が顕在化する前に解決できるように重大な問題を通知して、アップタイムを向上させることができます。 セキュリティに関連する可能性がある異常を検出することもできます。
セキュリティ侵入テストを実施する
セキュリティ上の防御を検証することは、他の機能をテストすることと同じくらい重要です。 侵入テストを、標準的なビルドおよびデプロイ プロセスの一環として実施してください。 デプロイしたアプリケーションに対して定期的なセキュリティ テストと脆弱性スキャンをスケジュールし、開放ポート、エンドポイント、攻撃を監視します。