

# セキュリティ
<a name="security-1"></a>

 クラウドセキュリティは Amazon Web Services (AWS) の最優先事項です。セキュリティとコンプライアンスは AWS と顧客の間で責任を共有します。詳細については、「[https://aws.amazon.com/compliance/shared-responsibility-model/](https://aws.amazon.com/compliance/shared-responsibility-model/)」を参照してください。AWS および WorkSpaces Applications を利用するお客様は、スタック、フリート、イメージ、ネットワークなどのさまざまなレイヤーにセキュリティ対策を実装することが重要です。

 WorkSpaces Applications は本質的に一時的なため、多くの場合、アプリケーションやデスクトップ配信の安全なソリューションとして選択されます。Windows デプロイで一般的なウイルス対策ソリューションが、ユーザーセッションの終了時に事前定義されて削除される環境のユースケースに適しているかどうかについて検討してください。ウイルス対策は仮想化されたインスタンスにオーバーヘッドを追加するため、不要なアクティビティを軽減することがベストプラクティスとなっています。例えば、起動時に (一時的な) システムボリュームをスキャンしても WorkSpaces Applications の全体的なセキュリティは向上しません。

 WorkSpaces Applications のセキュリティに関する 2 つの重要な質問は、主に次の点に関連しています。
+  セッション終了後もユーザーの状態を維持することが必須か？ 
+  ユーザーはセッション内でどのくらいのアクセス権限を持つべきか？ 

## 永続データの保護
<a name="securing-persistent-data"></a>

 WorkSpaces Applications のデプロイでは、ユーザーの状態を何らかの形で保持しなければならない場合があります。個々のユーザーのデータを永続化する場合や、共有フォルダを使用してコラボレーション用にデータを保持する場合などです。WorkSpaces Applications インスタンスストレージは一時的であり、暗号化オプションはありません。

 WorkSpaces Applications では、Amazon S3 のホームフォルダとアプリケーション設定を通じてユーザーの状態を永続化します。一部のユースケースでは、ユーザーの状態の永続化をより細かく制御する必要があります。このようなユースケースについては、AWS は、サーバーメッセージブロック (SMB) ファイル共有の使用を推奨しています。

### ユーザーの状態とデータ
<a name="user-state-and-data"></a>

ほとんどの Windows アプリケーションは、ユーザーが作成したアプリケーションデータと同じ場所に配置すると最適かつ最も安全に動作するため、このデータを WorkSpaces Applications フリートと同じ AWS リージョンに保持することがベストプラクティスです。このデータを暗号化することがベストプラクティスです。ユーザーのホームフォルダはデフォルトで、AWS キー管理サービス (AWS KMS) の Amazon S3 マネージド暗号化キーを使用して保存中のファイルとフォルダを暗号化します。AWS コンソールまたは Amazon S3 バケットにアクセスできる AWS 管理ユーザーは、それらのファイルに直接アクセスできることに注意してください。

ユーザーファイルやフォルダを保存するために Windows ファイル共有のサーバーメッセージブロック (SMB) ターゲットを必要とする設計では、この処理は自動で行われるか、または設定が必要です。

 *表 5 — ユーザーデータを保護するためのオプション* 


|   **SMB ターゲット**   |  **保管時の暗号化**  |  **転送時の暗号化**  |   **ウイルス対策 (AV)**   | 
| --- | --- | --- | --- | 
|  FSx for Windows File Server  |  [https://docs.aws.amazon.com/fsx/latest/WindowsGuide/encryption-at-rest.html](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/encryption-at-rest.html)  |  [https://docs.aws.amazon.com/fsx/latest/WindowsGuide/encryption-in-transit.html](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/encryption-in-transit.html)  |  リモートインスタンスにインストールされた AV は、マップされたドライブでスキャンを実行します。 | 
|  **ファイルゲートウェイ、AWS Storage Gateway**  |  デフォルトでは、S3 の AWS Storage Gateway に保存されたすべてのデータは、Amazon S3 マネージド暗号化キー (SSE-S3) によるサーバー側の暗号化を使用して暗号化されます。オプションで、保存されたデータを AWS Key Management Service (KMS) で暗号化するさまざまなゲートウェイタイプを設定できます。 |  あらゆるタイプのゲートウェイアプライアンスと AWS ストレージ間で転送されるデータはすべて SSL を使用して暗号化されます。 |  リモートインスタンスにインストールされた AV は、マップされたドライブでスキャンを実行します。 | 
|  EC2 ベースの Windows File Server  |  [EBS 暗号化を有効にする](https://docs.aws.amazon.com/kms/latest/developerguide/services-ebs.html)  |  PowerShell、Set- SmbServerConfiguration – EncryptData $True |  サーバーにインストールされた AV は、ローカルドライブでスキャンを実行します。 | 

## エンドポイントセキュリティとウイルス対策
<a name="endpoint-security-and-antivirus"></a>

Amazon WorkSpaces Applications インスタンスは本質的に一時的であり、データに永続性がないため、永続デスクトップで必要となるアクティビティによってユーザーのエクスペリエンスとパフォーマンスが損なわれないようにするには、別のアプローチが必要です。Endpoint Security エージェントは、組織のポリシーがある場合、または E メール、ファイル入力、外部ウェブブラウジングなどの外部データ入力で使用される場合、WorkSpaces Applications イメージにインストールされます。

### 一意識別子の削除
<a name="removing-unique-iidentifiers"></a>

Endpoint Security エージェントにはグローバル一意識別子 (GUID) がある場合があり、フリートインスタンスの作成プロセス中にリセットする必要があります。ベンダーは、イメージから生成されたインスタンスごとに新しい GUID が確実に生成されるように、製品をイメージにインストールする手順を定めています。

GUID が生成されないようにするには、WorkSpaces Applications Assistant を実行してイメージを生成する前の最後のアクションとして Endpoint Security エージェントをインストールします。

### パフォーマンスの最適化
<a name="performance-optimization"></a>

Endpoint Security ベンダーは、WorkSpaces Applications のパフォーマンスを最適化するスイッチと設定を提供しています。設定はベンダーによって異なり、ベンダーのドキュメント (通常は VDI に関するセクション) に記載されています。一般的な設定には以下が含まれますが、これらに限定されません。
+ 起動時のスキャンをオフにして、インスタンスの作成、起動、ログインにかかる時間を最小限に抑える
+ 不要なスキャンを防ぐため、定期スキャンをオフにする
+ ファイルが列挙されないように署名キャッシュをオフにする
+ VDI に最適化された IO 設定を有効にする
+ パフォーマンスを確保するためにアプリケーションが必要とする除外

Endpoint Security ベンダーは、パフォーマンスを最適化する仮想デスクトップ環境での使用方法を提供しています。
+ Trend Micro Office Scan [仮想デスクトップインフラストラクチャのサポート - Apex One/OfficeScan (trendmicro.com)](https://success.trendmicro.com/solution/1055260-best-practice-for-setting-up-virtual-desktop-infrastructure-vdi-in-officescan)
+ CrowdStrike と [CrowdStrike Falcon をデータセンターに設置する方法](https://www.crowdstrike.com/blog/tech-center/install-falcon-datacenter/)
+ Sophos と [Sophos Central エンドポイント: ID の重複を避けるためにゴールドイメージにインストールする方法、および [Sophos Central:](https://support.sophos.com/support/s/article/KB-000039009?language=en_US) 仮想デスクトップ環境に Windows エンドポイントをインストールする際のベストプラクティス](https://support.sophos.com/support/s/article/KB-000035040?language=en_US)
+ McAfee と [McAfee Agent の仮想デスクトップインフラストラクチャシステムへのプロビジョニングとデプロイ](https://kc.mcafee.com/corporate/index?page=content&id=KB87654)
+ Microsoft Endpoint Security と[非永続 VDI マシン用の Microsoft Defender Antivirus の設定 -](https://techcommunity.microsoft.com/t5/microsoft-defender-for-endpoint/configuring-microsoft-defender-antivirus-for-non-persistent-vdi/ba-p/1489633) Microsoft Tech Community

### スキャンの除外
<a name="scanning-exclusions"></a>

 セキュリティソフトウェアが WorkSpaces Applications インスタンスにインストールされている場合、セキュリティソフトウェアが次のプロセスに干渉しないようにする必要があります。

 *表 6 – WorkSpaces Applications プロセスセキュリティソフトウェアが干渉してはいけないプロセス。*


|  **サービス**  |  **プロセス**  | 
| --- | --- | 
|  AmazonCloudWatchAgent  |  "C:\\Program Files\\Amazon\\AmazonCloudWatchAgent\\start-amazon- cloudwatch-agent.exe" | 
|  AmazonSSMAgent  |  "C:\\Program Files\\Amazon\\SSM\\amazon-ssm-agent.exe" | 
|  NICE DCV  |  "C:\\Program Files\\NICE\\DCV\\Server\\bin\\dcvserver.exe" "C:\\Program Files\\NICE\\DCV\\Server\\bin\\dcvagent.exe" | 
|  WorkSpaces Applications  |  "C:\\ProgramFiles\\Amazon\\AppStream2\\StorageConnector\\StorageConnector.exe"<br /> フォルダ "C:\\Program Files\\Amazon\\Photon\\"<br /> ".\\Agent\\PhotonAgent.exe"<br /> ".\\Agent\\s5cmd.exe"<br /> ".\\WebServer\\PhotonAgentWebServer.exe"<br /> ".\\CustomShell\\PhotonWindowsAppSwitcher.exe"<br /> ".\\CustomShell\\PhotonWindowsCustomShell.exe"<br /> ".\\CustomShell\\PhotonWindowsCustomShellBackground.exe" | 

### フォルダ
<a name="folders"></a>

 セキュリティソフトウェアが WorkSpaces Applications インスタンスにインストールされている場合、そのソフトウェアは次のフォルダに干渉しないようにします。

**Example**  

```
    C:\Program Files\Amazon\* 
    C:\ProgramData\Amazon\* 
    C:\Program Files (x86)\AWS Tools\* 
    C:\Program Files (x86)\AWS SDK for .NET\* 
    C:\Program Files\NICE\* 
    C:\ProgramData\NICE\* 
    C:\AppStream\* 
    C:\Program Files\Internet Explorer\* 
    C:\Program Files\nodejs\
```

### Endpoint Security コンソールの健全性
<a name="endpoint-security-console-hygiene"></a>

Amazon WorkSpaces Applications は、ユーザーがアイドルタイムアウトと切断タイムアウトを超えて接続するたびに、新しい一意のインスタンスを作成します。インスタンスには一意の名前が付けられ、エンドポイントセキュリティ管理コンソールに蓄積されます。4 日以上経過した (または WorkSpaces Applications のセッションタイムアウトによってはそれ以下) 未使用の古くなったマシンを削除するように設定すると、コンソールに表示される期限切れのインスタンス数を最小限に抑えることができます。

## ネットワーク除外
<a name="network-exclusions"></a>

 WorkSpaces Applications 管理ネットワーク範囲 (`198.19.0.0/16`) とそれに続くポートとアドレスは、WorkSpaces Applications インスタンス内のセキュリティ、ファイアウォール、ウイルス対策ソリューションでブロックしないでください。

 *表 7 – WorkSpaces Applications ストリーミングインスタンスのセキュリティソフトウェアが干渉してはならないポート* 


|  **ポート** –  |   **使用方法**   | 
| --- | --- | 
|  8300、3128  |  これはストリーミング接続の確立に使用されます。 | 
|  8000  |  これは、WorkSpaces Applications によるストリーミングインスタンスの管理に使用されます。 | 
|  8443  |  これは、WorkSpaces Applications によるストリーミングインスタンスの管理に使用されます。 | 
|  53  |  DNS  | 

 *表 8 – WorkSpaces Applications のマネージドサービスアドレスセキュリティソフトウェアが干渉してはならないアドレス* 


|  **ポート** –  |  **使用方法**  | 
| --- | --- | 
|  169.254.169.123  |  NTP  | 
|  169.254.169.249  |  NVIDIA GRID ライセンスサービス  | 
|  169.254.169.250  |  KMS  | 
|  169.254.169.251  |  KMS  | 
|  169.254.169.253  |  DNS  | 
|  169.254.169.254  |  メタデータ  | 

## WorkSpaces Applications セッションの保護
<a name="securing-an-appstream-session"></a>

### アプリケーションとオペレーティングシステムの制御の制限
<a name="limiting-application-and-operating-system-controls"></a>

 WorkSpaces Applications では、管理者はアプリケーションストリーミングモードでウェブページから起動できるアプリケーションを正確に指定できます。ただし、これによって、指定されたアプリケーションのみを実行できることが保証されるわけではありません。

 Windows のユーティリティとアプリケーションは、別の方法でもオペレーティングシステムから起動できます。AWS では、[https://aws.amazon.com/blogs/desktop-and-application-streaming/using-microsoft-applocker-to-manage-application-experience-on-amazon-appstream-2-0/](https://aws.amazon.com/blogs/desktop-and-application-streaming/using-microsoft-applocker-to-manage-application-experience-on-amazon-appstream-2-0/) を使用して、組織が必要とするアプリケーションのみを実行できるようにすることをお勧めします。デフォルトのルールでは、重要なシステムディレクトリへのパスアクセスがすべてのユーザーに許可されるため、変更する必要があります。

**注記**  
 Windows Server 2016 と 2019 では、AppLocker ルールを適用するために Windows Application Identity サービスを実行する必要があります。Microsoft AppLocker を使用する WorkSpaces Applications からのアプリケーションアクセスについては、「[WorkSpaces Applications 管理者ガイド](https://docs.aws.amazon.com/appstream2/latest/developerguide/data-protection.html#application-access)」に詳しく記載されています。

 Active Directory ドメインに参加しているフリートインスタンスの場合は、グループポリシーオブジェクト (GPO) を使用してユーザーとシステム設定を配信し、ユーザーのアプリケーションとリソースへのアクセスを保護します。

## ファイアウォールとルーティング
<a name="firewalls-and-routing"></a>

 WorkSpaces Applications フリートを作成するときは、サブネットとセキュリティグループを割り当てる必要があります。サブネットには、ネットワークアクセスコントロールリスト (NACL) とルートテーブルが既に割り当てられています。新しい Image Builder の起動中、または新しいフリートの作成中に、[最大 5 つのセキュリティグループ](https://docs.aws.amazon.com/appstream2/latest/developerguide/managing-network-security-groups.html)を関連付けることができます。セキュリティグループには、[既存のセキュリティグループから最大 5 つの割り当て](https://docs.aws.amazon.com/appstream2/latest/developerguide/managing-network-security-groups.html)を関連付けることができます。セキュリティグループごとに、インスタンスとの間で送受信されるネットワークトラフィックのアウトバウンドとインバウンドを制御するルールを追加します。

NACL は1 つまたは複数の サブネットのインバウンドトラフィックとアウトバウンドトラフィックを制御するためのファイアウォールとして機能する任意指定の VPC セキュリティレイヤーです。セキュリティの追加レイヤーを VPC に追加するには、セキュリティグループと同様のルールを指定したネットワーク ACL をセットアップできます。セキュリティグループとネットワーク ACL の違いの詳細については、「[セキュリティグループとネットワーク ACL を比較する](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Security.html#VPC_Security_Comparison)」のページを参照してください。

セキュリティグループと NACL のルールを設計して適用するときは、権限を最小限に抑えるための AWS Well-Architected のベストプラクティスを検討してください。*最小特権*とは、タスクを完了するために必要なアクセス許可のみを付与する原則です。

オンプレミス環境を (AWS Direct Connect 経由で) AWS に接続する高速プライベートネットワークを保有するお客様は、WorkSpaces Applications 用の VPC エンドポイントの使用を検討してください。この場合、ストリーミングトラフィックは、パブリックインターネットを経由するのではなく、プライベートネットワーク接続を介してルーティングされます。このトピックの詳細については、このドキュメントの「WorkSpaces Applications ストリーミングインターフェイス VPC エンドポイント」セクションを参照してください。

## データ損失防止
<a name="data-loss-prevention"></a>

ここでは、2 種類のデータ損失防止について確認しますす。

### クライアントから WorkSpaces Applications インスタンスへのデータ転送の制御
<a name="client-to-AppStream-instance-data-transfer-controls"></a>

 *表 9 — データの入出力の制御に関するガイダンス* 


|  **設定**  |  **オプション**  |  **ガイダンス**  | 
| --- | --- | --- | 
|  クリップボード  |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/whitepapers/latest/best-practices-for-deploying-amazon-appstream-2/security-1.html)  |  この設定を無効にしても、セッション内のコピーと貼り付けは無効になりません。セッションにデータをコピーする必要がある場合は、データ漏洩の可能性を最小限に抑えるため、[リモートセッションにのみ貼り付ける] を選択してください。 | 
|  ファイル転送  |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/whitepapers/latest/best-practices-for-deploying-amazon-appstream-2/security-1.html)  |  データ漏えいを防ぐため、この設定は有効にしないでください。 | 
|  ローカルデバイスへの印刷  |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/whitepapers/latest/best-practices-for-deploying-amazon-appstream-2/security-1.html)  |  印刷が必要な場合は、組織によって制御およびモニタリングされているネットワークマッピングされたプリンタを使用してください。 | 

 既存の組織データ転送ソリューションがスタック設定よりも優れている点について検討してください。これらの設定は、包括的なセキュアデータ転送ソリューションに代わるものではありません。

## WorkSpaces Applications インスタンスからの出力トラフィックの制御
<a name="controlling-egress-traffic"></a>

データ損失が懸念される場合は、ユーザーが WorkSpaces Applications インスタンス内に入ったときにアクセスできるものを非表示にすることが重要です。ネットワークの出口 (または出力) パスはどのようになっていますか？ エンドユーザーが WorkSpaces Applications インスタンス内でパブリックインターネットにアクセスできるようにすることは一般的な要件であるため、ネットワークパスに WebProxy またはコンテンツフィルタリングソリューションを配置することを検討する必要があります。その他の考慮事項には、ローカルのウイルス対策アプリケーションと WorkSpaces Applications インスタンス内のその他のエンドポイントセキュリティ対策が含まれます (詳細については、「エンドポイントセキュリティとウイルス対策」セクションを参照してください)。

## AWS サービスの使用
<a name="using-aws-services"></a>

### AWS Identity and Access Management
<a name="aws-identity-and-access-management"></a>

 追加の認証情報を管理せずに WorkSpaces Applications セッションのユーザーのみにアクセスできるようにするベストプラクティスは、IAM ロールを使用して AWS サービスにアクセスし、そのロールにアタッチされている IAM ポリシーを具体的に指定することです。[https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html#best-practices-for-using-iam-role-with-streaming-instances](https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html#best-practices-for-using-iam-role-with-streaming-instances)に従ってください。

 ユーザーデータをホームフォルダとアプリケーション設定の永続化の両方に保持するために作成された [https://docs.aws.amazon.com/appstream2/latest/developerguide/s3-iam-policy.html](https://docs.aws.amazon.com/appstream2/latest/developerguide/s3-iam-policy.html)を作成します。これにより、[https://docs.aws.amazon.com/appstream2/latest/developerguide/s3-iam-policy.html#s3-iam-policy-restricted-access](https://docs.aws.amazon.com/appstream2/latest/developerguide/s3-iam-policy.html#s3-iam-policy-restricted-access)。

### VPC エンドポイント
<a name="vpc-endpoints-1"></a>

 VPC エンドポイントは、VPC およびサポートされている AWS のサービス、AWS PrivateLink による VPC エンドポイントサービスとの間のプライベート接続を可能にします。AWS PrivateLink は、プライベート IP アドレスを経由してサービスにプライベートにアクセスできるテクノロジーです。VPC と他のサービス間のトラフィックは、Amazon ネットワークを離れません。パブリックインターネットアクセスが AWS サービスにのみ必要な場合、VPC エンドポイントは NAT ゲートウェイとインターネットゲートウェイの要件を完全に削除します。

 自動化ルーチンや開発者が WorkSpaces Applications の API コールを行う必要がある環境では、[https://docs.aws.amazon.com/appstream2/latest/developerguide/access-api-cli-through-interface-vpc-endpoint.html](https://docs.aws.amazon.com/appstream2/latest/developerguide/access-api-cli-through-interface-vpc-endpoint.html)。例えば、パブリックインターネットへのアクセスがないプライベートサブネットに EC2 インスタンスがある場合、WorkSpaces Applications API の VPC エンドポイントを使用して [https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) などの WorkSpaces Applications API オペレーションを呼び出すことができます。次の図は、WorkSpaces Applications API とストリーミング VPC エンドポイントが Lambda 関数と EC2 インスタンスによって使用される設定例を示しています。

![VPC エンドポイントの参照アーキテクチャ図](http://docs.aws.amazon.com/ja_jp/whitepapers/latest/best-practices-for-deploying-amazon-appstream-2/images/vpc-endpoint.jpeg)


 * (VPC エンドポイント* ) 

 ストリーミング VPC エンドポイントでは、VPC エンドポイントを介してセッションをストリーミングできます。ストリーミングインターフェイスエンドポイントは、VPC 内のストリーミングトラフィックを維持します。ストリーミングトラフィックには、ピクセル、USB、ユーザー入力、オーディオ、クリップボード、ファイルのアップロードとダウンロード、プリンターのトラフィックが含まれます。VPC エンドポイントを使用するには、WorkSpaces Applications スタックで VPC エンドポイント設定が有効になっている必要があります。これは、インターネットアクセスが制限されていて、Direct Connect インスタンス経由でアクセスしたほうが有利な場所から、パブリックインターネット経由でユーザーセッションをストリーミングする代替手段となります。VPC エンドポイントを介してユーザーセッションをストリーミングするには、以下が必要です。
+  インターフェイスエンドポイントに関連付けられているセキュリティグループは、ユーザーが接続する IP アドレス範囲からポート `443` (TCP) とポート `1400–1499` (TCP) へのインバウンドアクセスを許可する必要があります。
+  サブネットのネットワークアクセスコントロールリストでは、一時ネットワークポート `1024-65535` (TCP) から、ユーザーが接続する IP アドレス範囲へのアウトバウンドトラフィックを許可する必要があります。
+  ユーザーを認証し、WorkSpaces Applications が機能するために必要なウェブアセットを配信するためには、インターネットに接続できることが必須です。

 WorkSpaces Applications による AWS のサービスへのトラフィックの制限について詳しくは、[https://docs.aws.amazon.com/appstream2/latest/developerguide/creating-streaming-from-interface-vpc-endpoints.html](https://docs.aws.amazon.com/appstream2/latest/developerguide/creating-streaming-from-interface-vpc-endpoints.html)に関する管理ガイドをご覧ください。

 パブリックインターネットへの完全なアクセスが必要な場合は、Image Builder で Internet Explorer のセキュリティ強化構成 (ESC) を無効にするのがベストプラクティスです。詳細については、「WorkSpaces Applications 管理ガイド」の「[https://docs.aws.amazon.com/appstream2/latest/developerguide/customize-fleets.html#customize-fleets-disable-ie-esc](https://docs.aws.amazon.com/appstream2/latest/developerguide/customize-fleets.html#customize-fleets-disable-ie-esc)」を参照してください。