

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 中的恶意软件防护 AWS Backup
<a name="malware-protection"></a>

Amazon 恶意软件防护会对您的备份进行 GuardDuty 恶意软件扫描。使用 Amaz GuardDuty on Malware Protection， AWS Backup 您可以通过现有备份工作流程自动扫描恢复点，或者启动对先前创建的备份的按需扫描。这种 AWS 原生解决方案有助于确保您的备份免受潜在恶意软件的侵害，从而使您能够满足合规性要求并通过确保恢复干净的数据来更快地应对恶意事件。

要查看支持的资源类型和区域列表，请访问[功能可用性页面](https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-feature-availability.html)。

**Topics**
+ [与亚马逊集成 GuardDuty](#malware-guardduty-integration)
+ [即时访问](backup-instant-access.md)
+ [如何使用恶意软件扫描](#malware-how-to-use)
+ [访问](#malware-access)
+ [增量扫描与完整扫描](#malware-scan-types)
+ [监控您的恶意软件扫描](#malware-monitoring)
+ [了解扫描结果](#malware-scan-results)
+ [扫描失败疑难解答](#malware-troubleshooting)
+ [计量](#malware-metering)
+ [配额](#malware-quotas)
+ [恶意软件扫描类型的控制台和 CLI 使用步骤](#malware-console-cli-usage)

## 与亚马逊集成 GuardDuty
<a name="malware-guardduty-integration"></a>

AWS Backup 与 Amazon GuardDuty 恶意软件防护集成，为您的恢复点提供威胁检测。当您开始恶意软件扫描时， AWS Backup 会在每次备份完成后自动调用 Amazon GuardDuty 的 `StartMalwareScan` API，传递恢复点详细信息和您的扫描器角色证书。 GuardDuty 然后，Amazon 开始读取、解密和扫描备份中的所有文件和对象。

当 Amazon GuardDuty 访问您的备份数据时，系统会登录该访问权限以 AWS CloudTrail 供查看。

有关此集成的更多信息，请参阅 [Amazon GuardDuty 恶意软件防护文档](https://docs.aws.amazon.com/guardduty/latest/ug/malware-protection-backup.html)。

## 如何使用恶意软件扫描
<a name="malware-how-to-use"></a>

当您将 Amazon GuardDuty 恶意软件防护与配合使用时 AWS Backup，可以自动扫描备份中是否存在恶意软件。此集成可帮助您检测备份中的恶意代码，并确定恢复操作的干净恢复点。

Amazon GuardDuty 恶意软件保护支持扫描备份的两个主要工作流程：
+ **通过备份计划自动扫描恶意软件 — 在备份计划**中启用恶意软件扫描，以自动检测恶意软件 AWS Backup。启用后，每次成功完成备份后都会 AWS Backup 自动启动 Amazon GuardDuty 扫描。您可以为特定的备份计划规则配置完全扫描或增量扫描，这些规则决定了扫描备份的频率。有关扫描类型的更多信息，请参见[增量扫描与完整扫描](#malware-scan-types)下文。 AWS Backup 建议在备份计划中启用自动恶意软件扫描，以便在创建备份后主动检测威胁。
+ **按需扫描**-运行按需扫描以手动扫描现有备份，可在完整扫描或增量扫描类型之间进行选择。 AWS Backup 建议使用按需扫描来识别上次干净的备份。在还原操作之前进行扫描时，请使用全盘扫描，使用最新的威胁检测模型检查整个备份。

## 访问
<a name="malware-access"></a>

在开始使用恶意软件防护之前，您的账户必须具有所需的操作权限。

AWS Backup 恶意软件扫描需要两个 IAM 角色来扫描恢复点中是否存在潜在的恶意软件：
+ 首先，必须将[AWSBackupServiceRolePolicyForBackup](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSBackupServiceRolePolicyForBackup.html)或[AWSBackupServiceRolePolicyForScans](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSBackupServiceRolePolicyForScans.html)托管策略附加到您现有的或新的备份角色上。这与控制台中备份计划的资源分配中或通过 [BackupSelection API](API_CreateBackupSelection.md) 找到的角色相同。此托管策略 AWS Backup 允许通过 Amazon 启动恶意软件扫描 GuardDuty。
+ 其次，需要一个新的扫描器角色以及信任的[AWSBackupGuardDutyRolePolicyForScans](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSBackupGuardDutyRolePolicyForScans.html)托管策略`malware-protection.guardduty.amazonaws.com`。这与控制台中备份计划的恶意软件保护部分或 [BackupPlan API](API_CreateBackupPlan.md) 中的扫描设置中的角色相同。启动扫描 GuardDuty 时，此角色将传递 AWS Backup 给 Amazon，提供对备份的访问权限。

## 增量扫描与完整扫描
<a name="malware-scan-types"></a>

使用恶意软件扫描，您可以根据自己的安全要求和成本考虑在增量扫描和完整扫描之间进行选择。

**增量扫描**仅分析在目标恢复点和基本恢复点之间更改的数据。对于常规扫描来说，这些扫描速度更快、更具成本效益，因此非常适合频繁的定期备份，在这些备份中要扫描新备份的数据。

即使选择了增量扫描，也会在以下情况下 AWS Backup 执行完全扫描：
+ **首次扫描：**对资源的初始扫描始终是全面扫描，这样 Amazon GuardDuty 就可以确定潜在威胁的基准。随后的扫描将是增量扫描。
+ **基准已过期：**如果您的基准恢复点扫描时间超过 365 天，则会进行全面扫描。由于 Amazon 仅 GuardDuty 保留 365 天的查找信息，因此必须建立新的基准以确保扫描结果准确。
+ **已删除的基准：**如果在下一次增量扫描开始之前删除了基本恢复点，则会自动进行全面扫描。

无论之前的@@ **扫描如何，完整**扫描都会检查整个恢复点。虽然这些扫描提供了全面的覆盖范围，但它们需要更长的时间才能完成，并且会产生更高的成本。您可以按需运行全面扫描，也可以通过备份计划进行计划。 AWS Backup 建议在备份计划中配置定期进行全面扫描，确保使用最新的恶意软件特征码模型定期扫描整个备份数据。

为了实现最佳的安全性与成本管理，请在选择扫描类型时考虑备份频率。

**注意**  
Amazon S3 连续恢复点目前不支持恶意软件扫描。要扫描 Amazon S3 连续备份，请为您的 Amazon S3 资源配置定期备份，并对这些定期备份启用恶意软件扫描。您可以对 Amazon S3 存储桶使用[连续备份和定期备份的组合](https://docs.aws.amazon.com/aws-backup/latest/devguide/s3-backups.html)。

**注意**  
[逻辑气隙保管库](https://docs.aws.amazon.com/aws-backup/latest/devguide/logicallyairgappedvault.html)中的 Amazon EC2 恢复点或复制的 Amazon EC2 恢复点不支持增量恶意软件扫描。

## 监控您的恶意软件扫描
<a name="malware-monitoring"></a>

启用扫描后，两者 AWS Backup 和 Amazon 都 GuardDuty 提供了可用于跟踪结果的监控和通知机制：
+ **AWS Backup 主机：** AWS Backup 主机由`ListScanJobs`和提供支持`DescribeScanJob` APIs。您可以访问 “恶意软件防护” 部分查看扫描任务列表，其中包含任务状态和扫描结果。 AWS Backup 也支持 `ListScanJobSummaries` API，但控制台中不可用。
+ AWS Backup Audit **Manager：**您可以设置扫描报告以查看过去 24 小时内所有 AWS Backup 启动的恶意软件扫描任务。
+ **亚马逊 GuardDuty 控制台：**如果启用了 base Amazon GuardDuty ，则可以在恶意软件扫描结果中查看详细信息，并在亚马逊调查 GuardDuty 结果页面上调查恶意软件。您可以查看威胁和文件名、文件路径、 objects/files 已扫描、已扫描字节等信息。请注意，此详细的威胁信息无法通过获得 AWS Backup，您必须拥有相应的 Amazon GuardDuty 权限才能查看此信息。
+ **亚马逊 EventBridge：**两者都 AWS Backup 和 Amazon 都会 GuardDuty 发出 EventBridge 事件，允许备份管理员和安全管理员同步收到警报。您可以设置自定义规则，以便在扫描完成或检测到恶意软件时接收通知。
+ **AWS CloudTrail：**两者 AWS Backup 和 Amazon GuardDuty 都会发出 CloudTrail 事件，允许您监控 API 访问情况。

## 了解扫描结果
<a name="malware-scan-results"></a>

您的扫描任务 AWS Backup 将显示扫描状态和扫描结果。

### 扫描状态
<a name="malware-scan-states"></a>

扫描状态表示任务状态，其值可以为：`CREATED`、`COMPLETED`、`COMPLETED_WITH_ISSUES``RUNNING`、`FAILED`、或`CANCELED`。

在多种情况下，您的扫描任务将以状态结束`COMPLETED_WITH_ISSUES`：

对于 Amazon S3 备份，存在对象 size/type 限制，这会阻止对对象进行扫描。当扫描中至少跳过一个对象时，相应的扫描任务将被标记为`COMPLETED_WITH_ISSUES`。对于 Amazon EC2/Amazon EBS 备份，存在卷 size/quantity 限制，这会导致在扫描过程中跳过卷。这些情况将导致 Amazon EC2/Amazon EBS 备份任务产生。`COMPLETED_WITH_ISSUES`

如果您的任务以状态结束，`COMPLETED_WITH_ISSUES`并且您需要有关原因的更多信息，则需要通过 Amazon 从相应的扫描任务中获取这些详细信息 GuardDuty。

**注意**  
增量扫描任务仅扫描两个备份之间的数据差异。因此，如果增量扫描作业未遇到上述任何情况，则它将以状态完成，`COMPLETE`并且不会`COMPLETED_WITH_ISSUES`从基本恢复点继承。

在极少数情况下，Amazon 在扫描文件和对象时 GuardDuty 可能会遇到内部问题，并且重试尝试可能会用尽。发生这种情况时，扫描任务将显示为`FAILED`在 Amazon AWS Backup 和 Amazon `COMPLETED_WITH_ISSUES` 中 GuardDuty。这种状态差异允许您在 Amazon 中查看可用的扫描结果， GuardDuty 同时表明并非所有支持的文件和对象都已成功扫描。

### 扫描结果
<a name="malware-scan-results-detail"></a>

扫描结果表示来自 Amazon 的汇总结果 GuardDuty ，其值可以为：`THREATS_FOUND`、或`NO_THREATS_FOUND`。

扫描结果表明您的恢复点中是否检测到潜在的恶意软件。`NO_THREATS_FOUND`状态表示未检测到潜在的恶意软件，而`THREATS_FOUND`表示发现了潜在的恶意软件。要了解详细的威胁信息，请通过 Amazon GuardDuty 控制台或访问完整的亚马逊 GuardDuty 调查结果 APIs。扫描结果还可以通过 EventBridge 事件获得，这使您可以构建自动工作流程来响应受感染的备份。

Amazon GuardDuty 会将发现结果保留 365 天，通过增量扫描跟踪文件或对象，以监控威胁是否被删除或恶意软件签名是否发生变化。例如，如果在备份 2 中检测到恶意软件，则会显示扫描结果`THREATS_FOUND`。当您使用备份 2 作为基础对备份 3 执行增量扫描时，`THREATS_FOUND`除非威胁已从数据中删除，否则扫描结果将保持不变。

## 扫描失败疑难解答
<a name="malware-troubleshooting"></a>

常见的扫描失败包括 IAM 权限不足、服务限制和资源访问问题。

当备份角色缺少`AWSBackupServiceRolePolicyForScans`权限或扫描者角色没有适当的信任关系时，就会发生`AWSBackupGuardDutyRolePolicyForScans`权限@@ **错误**。

当您超过每个账户 150 次并发扫描或每种资源类型 5 次并发扫描时，就会发生@@ **服务限制错误** ——在容量可用之前，扫描任务将保持`CREATED`状态。

**访问被拒绝错误**可能表示没有适当 AWS KMS 权限的加密恢复点或删除了增量扫描的父恢复点。

恢复点过大或在 Amazon GuardDuty 负载较高时段可能会出现@@ **超时故障**。

要排除故障，请使用 `DescribeScanJob` API 检查扫描任务状态，验证 IAM 角色配置，确保恢复点存在且可访问，如果缺少增量扫描父引用，请考虑切换到完整扫描。

监控您的并发扫描使用情况，并在自动化工作流程中实现抖动，以避免达到服务限制。

## 计量
<a name="malware-metering"></a>

恶意软件保护由 Amazon GuardDuty 提供并收费。您不会看到与使用此功能相关的任何 AWS Backup 费用。所有使用情况均可在亚马逊 GuardDuty账单下查看。要了解更多信息，请访问 [Amazon GuardDuty 定价](https://aws.amazon.com/guardduty/pricing/)。

## 配额
<a name="malware-quotas"></a>

两者 AWS Backup GuardDuty 都有亚马逊 GuardDuty 恶意软件防护的配额限制 AWS Backup。

有关更多信息，请访问[AWS Backup 配额](https://docs.aws.amazon.com/aws-backup/latest/devguide/aws-backup-limits.html)和 [Amazon GuardDuty 配额](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_limits.html)。

## 恶意软件扫描类型的控制台和 CLI 使用步骤
<a name="malware-console-cli-usage"></a>

以下各节显示了使用控制台和配置不同恶意软件扫描类型的步骤 AWS CLI。

### 如何设置恶意软件扫描
<a name="malware-setup-scans"></a>

**控制台**  


1. 导航到 AWS Backup 控制台 → Backup 计划

1. 创建新的备份计划或选择现有计划

1. 启用**恶意软件防护**开关

1. 选择**扫描仪角色**以选择新的扫描仪角色。确保备份角色和扫描者角色都具有相应的权限，如中所述[访问](#malware-access)。

1. 选择**可扫描的资源类型**。这将根据您选择的资源选择标准筛选恶意软件扫描。例如，如果您的可扫描资源类型选择是 Amazon EBS，但您的计划的资源选择包括亚马逊 EBS 和 Amazon S3，则只会进行 Amazon EBS 恶意软件扫描。

1. 为每条备份规则设置**扫描类型**。您可以在完整扫描、增量扫描和不扫描之间进行选择。扫描类型选择意味着扫描将按关联备份规则的计划频率进行。

1. 保存备份计划

**AWS CLI**  


**CreateBackupPlan**

您可以使用[create-backup-plan](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/backup/create-backup-plan.html)命令创建启用恶意软件扫描的备份计划。

```
aws backup create-backup-plan \
    --region us-west-2 \
    --cli-input-json '{
                        "BackupPlan": {
                          "BackupPlanName": "scan-initial-test-demo",
                          "Rules": [
                            {
                              "RuleName": "full",
                              "TargetBackupVaultName": "Default",
                              "ScheduleExpression": "cron(0 * * * ? *)",
                              "StartWindowMinutes": 120,
                              "CompletionWindowMinutes": 6000,
                              "Lifecycle": {
                                "DeleteAfterDays": 3,
                                "OptInToArchiveForSupportedResources": true
                              },
                              "RecoveryPointTags": {
                                "key1": "foo",
                                "key2": "foo"
                              },
                              "EnableContinuousBackup": true,
                              "ScanActions": [
                                {
                                  "MalwareScanner": "GUARDDUTY",
                                  "ScanMode": "FULL_SCAN"
                                }
                              ]
                            },
                            {
                              "RuleName": "incremental",
                              "TargetBackupVaultName": "Default",
                              "ScheduleExpression": "cron(30 * * * ? *)",
                              "StartWindowMinutes": 100,
                              "CompletionWindowMinutes": 5000,
                              "Lifecycle": {
                                "DeleteAfterDays": 2,
                                "OptInToArchiveForSupportedResources": true
                              },
                              "RecoveryPointTags": {
                                "key1": "foo",
                                "key2": "foo"
                              },
                              "EnableContinuousBackup": true,
                              "ScanActions": [
                                {
                                  "MalwareScanner": "GUARDDUTY",
                                  "ScanMode": "INCREMENTAL_SCAN"
                                }
                              ]
                            }
                          ],
                          "ScanSettings": [
                            {
                              "MalwareScanner": "GUARDDUTY",
                              "ResourceTypes": ["EBS", "EC2", "S3"],
                              "ScannerRoleArn": "arn:aws:iam::300949271314:role/TestBackupScannerRole"
                            }
                          ]
                        }
                      }'
```

**UpdateBackupPlan**

您可以使用[update-backup-plan](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/backup/update-backup-plan.html)命令更新启用恶意软件扫描的备份计划。

```
aws backup update-backup-plan \
    --region us-west-2 \
    --cli-input-json '{
                        "BackupPlanId": "d1391282-68cf-4fce-93ad-e08bc5178bac",
                        "BackupPlan": {
                        "BackupPlanName": "scan-initial-test-demo",
                        "Rules": 
                          [
                            {"RuleName": "full",
                            "TargetBackupVaultName": "Default",
                            "ScheduleExpression": "cron(0 * * * ? *)",
                            "StartWindowMinutes": 60,
                            "CompletionWindowMinutes": 3000,
                            "Lifecycle": 
                              {
                              "DeleteAfterDays": 6,
                              "OptInToArchiveForSupportedResources": false},
                            "RecoveryPointTags": 
                              {"key1": "foo",
                              "key2": "foo"},
                            "EnableContinuousBackup": false,
                            "ScanActions": 
                              [
                                {"MalwareScanner": "GUARDDUTY",
                                "ScanMode": "FULL_SCAN"}
                              ]
                            },
                            {
                              "RuleName": "incremental",
                              "TargetBackupVaultName": "Default",
                              "ScheduleExpression": "cron(30 * * * ? *)",
                              "StartWindowMinutes": 120,
                              "CompletionWindowMinutes": 6000,
                              "Lifecycle": 
                                {
                                "DeleteAfterDays": 9,
                                "OptInToArchiveForSupportedResources": false},
                              "RecoveryPointTags": 
                                {"key1": "foo",
                                "key2": "foo"},
                              "EnableContinuousBackup": false,
                              "ScanActions": 
                                [
                                  {
                                  "MalwareScanner": "GUARDDUTY",
                                  "ScanMode": "INCREMENTAL_SCAN"
                                  }
                                ]
                            }
                          ],
                        "ScanSettings": 
                          [
                            {
                            "MalwareScanner": "GUARDDUTY",
                            "ResourceTypes": 
                              ["ALL", "EBS"],
                            "ScannerRoleArn": "arn:aws:iam::300949271314:role/TestBackupScannerRole"
                            }
                          ]
                        }
                      }'
```

**关键笔记**  

+ 在启用扫描选项之前，需要输入目标 ARN（控制台）
+ 所有配置都需要备份 IAM 角色和扫描器 IAM 角色
+ 用于`aws backup list-scan-jobs`查看所有扫描作业 (AWS CLI)
+ 成本影响因扫描类型（增量扫描与完整扫描）和频率而异

**AWS CLI 关键笔记**  

+ 用于`aws backup list-scan-jobs`查看所有扫描作业 (AWS CLI)
+ 扫描结果可通过 `describe-recovery-point` API 和 ScanResults 字段获得
+ 所有配置都需要备份 IAM 角色和扫描器 IAM 角色
+ JSON 备份计划结构包括在计划 ScanSettings 级别和规则 ScanActions 中