Windows インスタンスにおけるセキュリティのベストプラクティス
Windows インスタンスにおける以下のセキュリティのベストプラクティスに従うことをお勧めします。
高レベルのセキュリティのベストプラクティス
Windows インスタンスにおける以下の高レベルのセキュリティベストプラクティスに従う必要があります。
-
最小アクセス – 想定される信頼できるシステムと場所へのアクセスのみを許可します。これは、Active Directory、Microsoft ビジネス生産性サーバーなどのすべての Microsoft 製品、およびリモートデスクトップサービス、リバースプロキシサーバー、IIS ウェブサーバーなどのインフラストラクチャサービスに適用されます。Amazon EC2 インスタンスセキュリティグループ、ネットワークアクセスコントロールリスト (ACL)、Amazon VPC パブリック/プライベートサブネットなど、AWS の機能を使用して、アーキテクチャ内の複数の場所でセキュリティを階層化します。Windows インスタンス内で、顧客は Windows Firewall を使用して、デプロイ内で多層防御戦略をさらに階層化できます。システムが設計どおりに機能するために必要な OS コンポーネントとアプリケーションのみをインストールします。インフラストラクチャ全体のローカルおよびリモートのリソースにアクセスするために、IIS などのインフラストラクチャサービスをサービスアカウントで動作するように設定するか、アプリケーションプール ID などの機能を使用するように設定します。
-
最小権限 – インスタンスとアカウントがそれらの機能を実行するのに必要な権限の最小セットを決定します。サーバーとユーザーにこれらの定義済みのアクセス許可のみが付与されるように制限します。ロールベースのアクセスコントロールなどの手法を使用して、管理アカウントのパブリック面を減らし、タスクを実行するための最も制限されたロールを作成します。NTFS 内の暗号化ファイルシステム (EFS) などの OS 機能を使用して、保管時の機密データを暗号化し、アプリケーションとユーザーのそのデータへのアクセスをコントロールします。
-
設定管理 – ウイルス対策、マルウェア対策、侵入検知/防止、ファイル整合性モニタリングなど、最新のセキュリティパッチとホストベースの保護スイートを組み込んだベースラインサーバー設定を作成します。記録されている最新のベースラインに対して各サーバーを評価し、逸脱を識別して、フラグを付けます。適切なログおよび監査データを生成して安全に保存するように各サーバーが設定されていることを確認します。
-
変更管理 – サーバー設定ベースラインに対する変更を制御するプロセスを作成し、完全に自動化された変更プロセスを目指します。また、Windows PowerShell DSC で Just Enough Administration (JEA) を活用して、管理アクセスを最小限必要な機能に制限します。
-
パッチ管理 – EC2 インスタンス上のオペレーティングシステムやアプリケーションに対して定期的にパッチを適用し、更新し、セキュリティを確保するプロセスを実装します。
-
監査ログ – Amazon EC2 インスタンスに対するアクセスとすべての変更を監査して、サーバーの整合性を検証し、承認された変更のみが行われるようにします。IIS の拡張ログ記録
などの機能を活用して、デフォルトのログ機能を強化します。VPC Flow Logs や AWS などの AWS CloudTrail 機能もネットワークアクセス (許可/拒否されたリクエストや API コールなど) の監査に利用できます。
更新管理
Amazon EC2 で Windows を実行した場合の最良の結果を得るには、以下のベストプラクティスを実践することをお勧めします。
-
更新をインストールした後、Windows インスタンスを再起動します。詳細については、「インスタンスの再起動」を参照してください。
Windows インスタンスを Windows Server の新しいバージョンにアップグレードまたは移行する方法については、「EC2 Windows インスタンスのより新しいバージョンの Windows Server へのアップグレード」を参照してください。
Windows Update の設定
デフォルトでは、AWS Windows Server AMI から起動されたインスタンスは Windows Update による更新が適用されません。
Windows ドライバーを更新する
すべての Windows EC2 インスタンスでドライバーを最新の状態に維持し、最新の問題修正とパフォーマンス強化がフリート全体に適用されるようにします。インスタンスタイプによっては、AWS PV ドライバー、Amazon ENA ドライバー、AWS NVMe ドライバーを更新する必要があります。
-
SNS トピックを使用して、ドライバーの新規リリースの最新情報を受け取ります。
-
AWS Systems Manager 自動化ランブック AWSSupport-UpgradeWindowsAWSDrivers を使用して、インスタンス全体で更新を簡単に適用できます。
最新の Windows AMI を使用してインスタンスを起動する
AWS では、最新の OS パッチ、ドライバー、起動エージェントを備えた新しい Windows AMI が毎月リリースされています。新しいインスタンスを起動する際、または独自のカスタムイメージを作成する際は、最新の AMI を使用してください。
-
AWS Windows AMI の各リリースに対する更新を表示するには、「AWS Windows AMI バージョン履歴」を参照してください。
-
利用可能な最新の AMI を使用してビルドするには、「Systems Manager パラメータストアを使用した最新の Windows AMI のクエリ
」を参照してください。 -
データベースのインスタンスを起動するのに使用できる特殊な Windows AMI とコンプライアンス強化のユースケースの詳細については、「AWS Windows AMI リファレンス」の「専用の Windows AMI」を参照してください。
移行前にシステム/アプリケーションパフォーマンスをテストする
エンタープライズアプリケーションを AWSに移行するには、多くの変更や設定が使用になる場合があります。EC2 ソリューションのパフォーマンステストを常に実施して、以下を確実にします。
-
インスタンスサイズ、拡張ネットワーク、テナント (共有または専有) などのインスタンスタイプが適切に構成されている。
-
インスタンストポロジーがワークロードに対し適切であり、必要に応じて高パフォーマンス機能 (専有テナント、プレイスメントグループ、インスタンスストアボリューム、ベアメタルなど) を活用する。
起動エージェントを更新する
最新の EC2Launch v2 エージェントに更新して、最新の機能強化をフリート全体に適用します。詳細については、「Windows インスタンスで EC2Launch v2 に移行する」を参照してください。
フリートが混在している場合、あるいは EC2Launch (Windows Server 2016 または 2019) エージェントまたは EC2 Config (レガシー OS のみ) エージェントを引き続き使用する場合は、各エージェントの最新のバージョンに更新します。
自動更新は、Windows Server バージョンと起動エージェントの次の組み合わせでサポートされます。[Amazon EC2 起動エージェント] の SSM Quick Setup ホスト管理コンソールで自動更新にオプトインできます。
Windows のバージョン | EC2Launch v1 | EC2Launch v2 |
---|---|---|
2016 | ✓ | ✓ |
2019 | ✓ | ✓ |
2022 | ✓ |
-
EC2Launch v2 への更新の詳細については、「EC2Launch v2 の最新バージョンのインストール」を参照してください。
-
EC2Config を手動で更新する方法については、「EC2Config の最新バージョンのインストール」を参照してください。
-
EC2Launch を手動で更新する方法については、「EC2Launch の最新バージョンのインストール」を参照してください。
設定管理
Amazon マシンイメージ (AMI) は、Amazon EC2 インスタンスの初期設定を提供します。これには、Windows OS とオプションの顧客固有のカスタマイズ (アプリケーションやセキュリティ管理など) が含まれます。カスタマイズされたセキュリティ設定ベースラインを含む AMI カタログを作成することで、すべての Windows インスタンスが標準のセキュリティコントロールを使用して起動されるようにします。セキュリティベースラインは、AMI にベイクしたり、EC2 インスタンスの起動時に動的にブートストラップされるようにしたり、AWS Service Catalog ポートフォリオを介して一様に配布される製品としてパッケージ化したりすることができます。AMI のセキュリティ保護の詳細については、AMI 構築のベストプラクティスを参照してください。
各 Amazon EC2 インスタンスは、組織のセキュリティ標準に準拠する必要があります。不要な Windows のロールや機能をインストールしないでください。また、悪意のあるコードから保護するソフトウェア (ウイルス対策、マルウェア対策、エクスプロイト緩和)、ホストの整合性をモニタリングするソフトウェア、侵入検知を実行するソフトウェアをインストールしてください。OS のセキュリティ設定をモニタリングおよび維持し、重要な OS ファイルの整合性を保護し、セキュリティベースラインからの逸脱について警告するように、セキュリティソフトウェアを設定します。Microsoft や Center for Internet Security (CIS)、米国国立標準技術研究所 (NIST) が公開している推奨セキュリティ設定ベンチマークの実装を検討してください。特定のアプリケーションサーバーに、他の Microsoft ツール (Best Practice Analyzer for SQL Server
AWS ユーザーは、Amazon Inspector 評価を実行して、Amazon EC2 インスタンスにデプロイされたアプリケーションのセキュリティとコンプライアンスを向上させることもできます。Amazon Inspector は、アプリケーションの脆弱性やベストプラクティスからの逸脱を自動的に評価します。また、一般的なセキュリティコンプライアンス標準 (PCI DSS など) と脆弱性定義にマッピングされた数百のルールのナレッジベースを含みます。組み込みルールの一例として、リモートルートログインが有効になっているかどうかや、脆弱なソフトウェアバージョンがインストールされているかどうかを確認するものがあります。これらのルールは AWS のセキュリティ調査担当者が定期的に更新しています。
Windows インスタンスを保護する場合は、Active Directory ドメインサービスを実装して、分散した場所でスケーラブル、セキュア、管理可能なインフラストラクチャを有効にすることをお勧めします。さらに、Amazon EC2 コンソールまたは AWS CloudFormation などの Amazon EC2 プロビジョニングツールからインスタンスを起動したら、設定ドリフトが生じた場合に備えて、Microsoft Windows PowerShell DSC
変更管理
最初のセキュリティベースラインが起動時に Amazon EC2 インスタンスに適用された後、仮想マシンのセキュリティを維持するように、Amazon EC2 の進行中の変更を制御します。AWS リソース (セキュリティグループ、ルートテーブル、ネットワーク ACL など) に対する変更、OS およびアプリケーション設定 (Windows またはアプリケーションパッチ、ソフトウェアアップグレード、設定ファイルなど) に対する変更を承認して組み込むための、変更管理プロセスを確立します。
AWS には、AWS リソース (AWS CloudTrail、AWS Config、AWS CloudFormation、AWS Elastic Beanstalk を含む) の他に、Systems Center Operations Manager および System Center Virtual Machine Manager の管理パックに対する変更を管理できるようにするいくつかのツールが用意されています。Microsoft から毎月第 2 火曜日に (または必要に応じて) Windows パッチがリリースされ、AWS は、Microsoft がパッチをリリースしてから 5 日以内に、AWS で管理されるすべての Windows AMI を更新します。したがって重要になるのは、すべてのベースライン AMI に継続的にパッチを適用し、最新の AMI ID で AWS CloudFormation テンプレートと Auto Scaling グループ設定を更新し、インスタンスのパッチ管理の実行を自動化するツールを実装することです。
Microsoft は、Windows OS およびアプリケーションの変更を管理するためのいくつかのオプションを提供しています。例えば、SCCM はライフサイクル全体の環境の変更に対応しています。ビジネスの要件に応じて、変更がアプリケーション SLA、容量、セキュリティ、災害対策手順に与える影響を制御するツールを選択します。手動の変更を避け、代わりに自動設定管理ソフトウェアやコマンドラインツール (EC2 Run Command や Windows PowerShell など) を活用して、スクリプト化された繰り返し可能な変更プロセスを実装します。この要件を満たすのに役立つように、Windows インスタンスに対するすべての操作の拡張ログ記録が有効になっている踏み台ホストを使用して、すべてのイベントとタスクが自動的に記録されるようにします。
Amazon EC2 Windows インスタンスでの監査とアカウンタビリティ
AWS CloudTrail、AWS Config、AWS Config ルール には、AWS リソースの変更を監査するための監査および変更追跡機能が用意されています。ローカルログファイルを一元ログ管理システムに送信し、セキュリティおよび運用動作分析のためにログデータを保存するように、Windows イベントログを設定します。Microsoft System Center Operations Manager (SCOM) は、Windows インスタンスにデプロイされた Microsoft アプリケーションに関する情報を集計し、事前設定されたカスタムルールセットをアプリケーションのロールとサービスに基づいて適用します。System Center Management Pack は SCOM に基づいて構築され、アプリケーション固有のモニタリングと設定のガイダンスを提供します。これらの Management Pack
顧客は、Microsoft システム管理ツールに加えて、Amazon CloudWatch を使用して、インスタンスの CPU 使用率、ディスクパフォーマンス、ネットワーク I/O をモニタリングし、ホストおよびインスタンスのステータスチェックを実行できます。EC2Config、EC2Launch、および EC2Launch v2 エージェントでは、Windows インスタンスのその他の高度な機能にアクセスできます。例えば、Windows システム、セキュリティ、アプリケーション、インターネットインフォメーションサービス (IIS) のログを CloudWatch Logs にエクスポートし、Amazon CloudWatch メトリクスおよびアラームと統合できます。顧客は、Windows パフォーマンスカウンターを Amazon CloudWatch カスタムメトリクスにエクスポートするスクリプトを作成することもできます。