フォレンジック分析のスナップショットの AWS S3 バケットへのアップロード
フォレンジック分析のスナップショットは、Windows デバイスからのみアップロードできます。XDR または MDR ライセンスも必要です。
デフォルトで、スナップショットはローカルコンピュータに保存されます。代わりに、Amazon Web Services (AWS) S3 バケットにスナップショットをアップロードすることもできます。これによって、各デバイスにアクセスするのではなく、一カ所から簡単にスナップショットにアクセスできるようになります。
スナップショットをアップロードするには、利用可能な AWS S3 バケットが必要です。また、次の手順も実行する必要があります。
- AWS で管理ポリシーを作成する。
- Sophos Central に AWS アカウントを追加する。
- (任意) AWS バケットポリシーを作成して、S3 バケットへのアクセスを制限します。
- (任意) AWS バケットのライフサイクルポリシーを作成して、不要になったデータをクリアします。
-
フォレンジックログの収集
AWS S3 バケットへのアップロードをここで設定した場合、新しいフォレンジックログの収集機能では、同じ設定を使用してログをアップロードします。
新しいフォレンジックログの収集機能は現在、Sophos Central API 経由でのみ利用できます。https://developer.sophos.com/docs/endpoint-v1/1/overview を参照してください。
管理型ポリシーの作成
AWS で管理型ポリシーを作成するには、次の手順を実行します。
- Amazon Web Services (AWS) ダッシュボードで、「セキュリティ、アイデンティティ、コンプライアンス」の下にある「IAM」を参照します。
- 左側のメニューで、「ポリシー」をクリックします。
- 「ポリシーの作成」をクリックします。
- 「JSON」タブを選択します。
-
次に示すポリシードキュメントを追加します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::<bucketName>", "arn:aws:s3:::<bucketName>/*" ] } ] }
注
<bucketName> を、スナップショットのアップロード先バケットの名前に置き換えます。
-
「ポリシーの確認」を選択して、コピーしたポリシーが有効かどうかを確認してください。
-
ポリシーに名前を付けます。
例: "Sophos-Central-Forensic-Snapshot-Upload".
-
説明を入力します。
例: "Sophos Centralがフォレンジック分析のスナップショットを特定の S3 バケットにアップロードできるようにするポリシー。"
-
「ポリシーの作成」をクリックします。
Sophos Central への AWS アカウントの追加
アカウントを追加するには、次の手順を実行します。
- Sophos Central で、「マイプロダクト > 全般設定 > フォレンジック分析のスナップショット」の順に選択します。
- 「フォレンジック分析のスナップショットの AWS S3 バケットへのアップロード」をオンにします。
- 「AWS アカウント ID」と「AWS 外部 ID」をメモします。
-
Amazon Web Services で、次の操作を実行して IAM ロールを作成します。
- AWS 管理コンソールの、「セキュリティ、アイデンティティ」の下にある「アイデンティティ、アクセス管理」を参照します。
- 左側のメニューで、「ロール」をクリックします。
- 「ロールの作成」をクリックします。
- 「信頼されたエンティティタイプ」で、「カスタム信頼ポリシー」を選択します。
-
次に示すポリシードキュメントを追加します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<accountId>:root" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "<externalId>" } } } ] }
注
<accountId> および <externalId> を 先ほどメモした「アカウント ID」と「外部 ID」に置き換えます。
-
「次へ」をクリックして「アクセス権限」ページに移動します
- 以前に作成したポリシーを添付します (例:"Sophos-Central-Forensic-Data-Upload")。
-
(任意) 「アクセス権限の境界の設定」を展開し、 「アクセス権限の境界を使用してロールのアクセス権限の上限を設定する」(Use a permissions boundary to control the maximum role permissions) をクリックします。
- 以前に作成したポリシー (例:Sophos-Central-Forensic-Data-Upload) を添付します。
-
「ロール名」を入力します。
- 任意です。「ロールの説明」を入力します。
- 「ロールの作成」をクリックします。
- このロールを表示し、その「ロール ARN (Amazon Resource Name) をコピーします。
Sophos Central にアカウントを追加する前に、このロールがすべてのリージョンに適用されるのを待ちます。終了するまで最長 5分かかることがあります。
-
Sophos Central の「フォレンジック分析のスナップショット」ページで次の操作を実行します。
- S3 バケット名を入力します。これは、管理対象ポリシーのバケット名と一致する必要があります。
- (任意) スナップショットをアップロードする S3 バケット内のディレクトリの名前を入力します。
- AWS で作成した「ロール ARN」を入力します。
- 「保存」をクリックします。
バケットポリシーの作成
S3 バケットへのアクセスを制限するバケットポリシーを作成することを強くお勧めします。ポリシーの例を以下に示します。
次のバケットポリシーを追加します。
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Deny",
"Principal":"*",
"Action":"S3.*",
"Resource":[
"arn:aws:s3:::<bucketName>*",
"arn:aws:s3:::<bucketName>/*"
],
"Condition":{
"StringNotEquals": {
"aws:PrincipalArn": [
"arn:aws:iam::<customerAccountId>:root",
"arn:aws:iam::<customerAccountId>:role/<iamRoleName>"
]
}
}
}
]
}
プレースホルダを次のように置き換えます。
- <bucketName>: フォレンジックデータがアップロードされるバケットの名前です。
- <customerAccountId>: お客様の AWS アカウント ID。右上のユーザー名をクリックすると、AWS コンソールで見つけることができます。
- <iamRoleName>: 前のセクションで作成した IAM ロールの名前です。
このポリシーでは、次のユーザーのみがバケットにアップロードしたり、バケット内のデータにアクセスしたりできます。
- アカウントの所有者。
- 以前に作成された IAM ロールによって設定された権限を持つアカウント (Sophos のみ)。
バケットライフサイクルポリシーの作成
S3 バケットのライフサイクルポリシーを設定することを強くお勧めします。このポリシーにより、不要な追加コストが発生することを回避できます。
フォレンジックデータファイルが大きい場合、ソフォスのエンドポイントは自動的にデータを部分に分けてアップロードします。ソフォスの管理外で停止が発生した場合、複数に分けた部分のアップロードが中断され、バケットのデータが不完全になる可能性があります。AWS が、この不完全なデータを保存するために料金を請求してくる可能性があります。これを回避するには、不完全なアップロードをクリーンアップするライフサイクルポリシーをバケットに作成します。
新しい ライフサイクルポリシーを作成するには、以下の手順に従います。
- AWS 管理コンソールにサインインします。
- Amazon S3 コンソールを https://console.aws.amazon.com/s3/ で開きます。
- 「バケット」(Buckets) リストで、フォレンジックデータのアップロード先のバケットを選択します。
- 「管理」(Management) タブを選択し、「ライフサイクルルールを作成する」(Create lifecycle rule) を選択します。
- 「ライフサイクルルール名」(Lifecycle rule name) に、ルールの名前を入力します。たとえば、"不完全なマルチパートアップロードの削除" などです。
- 「このルールは、バケット内のすべてのオブジェクトに適用されます」を選択します。
- 「ライフサイクルルールのアクション」(Lifecycle rule actions) で、 「期限切れのオブジェクト削除マーカーまたは未完了のマルチパートアップロードを削除」(Delete expired object delete markers or incomplete multipart) を選択します。
- 「期限切れのオブジェクト削除マーカーまたは未完了のマルチパートアップロードを削除」(Delete expired object delete markers or incomplete multipart) の下で、「未完了のマルチパートアップロードを削除」(Delete incomplete multipart uploads) を選択します。
- 「Number of days」(日数) に 7日を入力します。
- 「 ルールの作成」をクリックします。
既存の問題点
- KMS 暗号化を使用したバケットへのアップロードはサポートされていませんが、AES-256 暗号化はサポートされています。S3 バケットで AES-256 暗号化を有効にする必要はありませんが、有効にすることが推奨されます。ソフォスは、AES-256 暗号化ヘッダのあるスナップショットをアップロードします。
- バケット名の特殊文字はサポートされていません。許可されている文字のリストについては、オブジェクトメタデータを参照してください。
- 環境にファイアウォールがある場合は、AWS S3 バケットへのスナップショットのアップロードがルールによって許可されていることを確認してください。このアドバイスは Sophos Firewall およびその他のファイアウォールが該当します。