# 创建自定义脚本自动隔离EC2实例

本节将向您介绍如何在Security Hub中创建一个自定义动作，以触发EventBridge规则。在这种情况下，EventBridge规则将调用一个Lambda函数来改变与Security Hub发现相关的EC2实例上的安全组。

### 在Security Hub中创建一个自定义脚本

1. 打开控制台的 **Security Hub** 。
2. 左侧菜单中选中 **Settings。**
3. 选择 **Custom actions** tab.
4. 选择 **Create custom action** button。
5. 输入 an Action Name, Action Description, and an Action ID 代表隔离EC2实例的行动.

<figure><img src="https://3752289132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LTfg4e0NhLEbwi6WFJp%2Fuploads%2FTSp4RAL8HjB4AOvavFMO%2Fimage.png?alt=media&#x26;token=f089a927-e739-4941-81f2-670164b57b8c" alt=""><figcaption><p>Create custom action</p></figcaption></figure>

<figure><img src="https://3752289132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LTfg4e0NhLEbwi6WFJp%2Fuploads%2FYt3Z6kyOp5GMMXrV4vtJ%2Fimage.png?alt=media&#x26;token=76864e77-1aba-40c1-a885-2a0ae3420005" alt=""><figcaption><p>complete</p></figcaption></figure>

### 创建Amazon EventBridge规则来捕获自定义动作

在这一节中，你将定义一个EventBridge规则，它将匹配来自Security Hub的事件（发现），这些事件是由你上面定义的自定义动作转发的。

1. 打开控制台的 **Amazon EventBridge**
2. 点击右侧的 **Create rule**&#x20;
3. 在 **Define rule detail** 页面给你的规则起一个 **name** 以及一个 **description** 描述规则的作用，然后点击 **Next**.

<figure><img src="https://3752289132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LTfg4e0NhLEbwi6WFJp%2Fuploads%2FeWMc9d0NhBSHYoc6V5fh%2Fimage.png?alt=media&#x26;token=d651fb30-c710-46e5-93ad-2dc6d8fdbc37" alt=""><figcaption><p>create a eventbridge rule</p></figcaption></figure>

1. 在 **Build event pattern** 这一步， **Event source** 不需要改，还是 **AWS Services。** 往下找到 **Event pattern**. 下面的 **Event source**, 选中 **Security Hub**.
2. 在 **Event Type**, 选中 **Security Hub Findings – Custom Action**.
3. 然后选择 **Specific custom action ARN(s)** 单选按钮，输入 之前创建好的自定义行动的ARN。然后点击 **Next**.

<figure><img src="https://3752289132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LTfg4e0NhLEbwi6WFJp%2Fuploads%2FHZC8MxHMdRIixarEV5G8%2Fimage.png?alt=media&#x26;token=8c13d543-d66c-4a22-8c05-b32bb131d9c7" alt=""><figcaption></figcaption></figure>

在 **Select target(s)** 这一步，从 **Select a target** 的选项中选中 **Lambda function。**&#x7136;后从**Function** 的选项中选中 **isolate-ec2-security-group** 。点击 **Next**.

<figure><img src="https://3752289132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LTfg4e0NhLEbwi6WFJp%2Fuploads%2FwFiUJU2CNQY9boYjYc6L%2Fimage.png?alt=media&#x26;token=e21a7470-00c2-4dd4-9f6c-5d24f10abc8d" alt=""><figcaption></figcaption></figure>

1. 在 **Configure tags** 这一步点击 **Next**.
2. 在 **Review and create** 这一步点击 **Create rule**.

### 测试效果

现在你可以测试自动响应的效果。

1. 打开 **Security Hub** Dashboard.
2. 左侧菜单选择 **Findings**.
3. 筛选条件选择 **Resource Type** ，然后输入 **AwsEc2Instance** （大小写敏感）
4. 选中任意一个筛选出来的结果。
5. 打开finding中 **Resources** 的部分。
6. 点击EC2示例的**Resource ID** 蓝色链接
7. 点击实例记录，然后点击 **Security** tab 以及记下当前 **security group** 的名字。

<figure><img src="https://3752289132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LTfg4e0NhLEbwi6WFJp%2Fuploads%2FPQi0LFB1aaAmSx9P26Er%2Fimage.png?alt=media&#x26;token=f10ddc74-ae43-4d43-926b-ac9e1c60f49e" alt=""><figcaption></figcaption></figure>

1. 回到 Security Hub，然后点击同一个finding最左侧的选框。
2. 在 **Actions** 下拉中选择你用于隔离EC2 Instances的自定义活动custom action。

<figure><img src="https://3752289132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LTfg4e0NhLEbwi6WFJp%2Fuploads%2FCiZqXpurqw4rZdUSWGmH%2Fimage.png?alt=media&#x26;token=1076d8e7-2296-472a-89a6-d42f75016f68" alt=""><figcaption></figcaption></figure>

返回 **EC2 browser tab。** 刷新。 验证实例的安全组已经变成安全团队的安全组。
