# 通过COC补丁扫描识别合规性问题
#### 实践场景
某电商运维人员在日常工作中发现，云上资源合规性问题突出，OS合规性风险尤为明显，引发客户对云上OS安全合规性担忧；需要周期性检查主机OS补丁的合规性情况，避免主机因为OS补丁缺失产生漏洞，导致业务受损。云上无统一的OS合规性管理和自闭环工具，合规性问题修复困难或求助华为侧协助解决。希望能够自动化地完成OS补丁的扫描，并且及时修复补丁漏洞，保证主机的OS补丁合规性。
#### 解决方案
- **治理**：提供OS合规性自动化定时巡检能力，打造开箱即用体验，同时保留客户自定义能力，及时发现OS合规性问题并输出合规性报告；
- **运维**：基于合规性报告触发补丁修复，通过增量迭代方式保证OS合规性全覆盖，保证OS合规性问题闭环SLA；
- **补丁管理** ：COC提供OS补丁管理能力，支持对Linux下的Huawei Cloud EulerOS、CentOS、EulerOS三种系统进行补丁扫描和修复，并且支持ECS节点、CCE集群和BMS实例三种场景。本实践以ECS为例为您介绍COC补丁扫描功能。COC通过补丁基线中的规则，对主机的OS补丁进行扫描并且提供合规性报告。COC提供三条公共补丁基线，同时支持用户自定义创建补丁基线。用户可以自定义补丁安装规则、补丁的合规性级别、补丁例外。
  使用补丁管理包含以下步骤：
  1. [创建补丁基线]，基于操作系统及对应的补丁扫描基线。
  
  2. [创建补丁扫描任务]，基于扫描基线对资源进行补丁扫描。
  
  3. [查看补丁合规性报告]，扫描完成后可以查看资源的扫描合规性。
  
  4. [补丁修复]，不合规的资源可以执行批量修复。
   
 
#### 核心优势
- 动态识别：OS合规性风险动态识别。
- 安全生产：执行运维操作时，自动分批、爆炸半径评估等。
- 自动预警：短信、邮件、企业微信等自动通知。
 
#### 前提条件
执行自动化运维的主机需[安装UniAgent](https://support.huaweicloud.com/usermanual-coc/coc_um_03_01_02.html)。
 #### 创建补丁基线
通过COC创建一个用户自定义的补丁基线。
1. 登录[云运维中心](https://console.huaweicloud.com/coc/?#/console/home)。
2. 在左侧菜单栏选择"**资源运维** **\> 自动化运维**"，进入自动化运维页面。
3. 在"日常运维"模块单击"**补丁管理**"，进入补丁管理页面。
4. 选择"**补丁基线** "页签，并单击"**创建补丁基线**"。
5. 参考[表1]填写补丁基线相关内容。
   
    表1基本信息参数说明 
   | **参数**  | **说明**                                       | **示例**                |
   |:---|:---|:---|
   | 基线名称   | 根据命名规则，自定义补丁基线的名称。                           | 测试基线               |
   | 场景类型  | 可选项为"弹性云服务器ECS"、"云容器引擎CCE"、"裸金属服务器BMS"。         | 弹性云服务器ECS           |
   | 操作系统    | 可选项为"Huawei Cloud EulerOS"、"CentOS"、"EulerOS"。 | Huawei Cloud EulerOS |
   | 基线类型 | 选择安装规则基线。                                    | 安装规则基线             |
   | 产品    | 选择补丁的产品属性，在补丁扫描修复时将会过滤出该产品的补丁。               | 全部                    |
   | 分类    | 选择补丁的分类属性，在补丁扫描修复时将会过滤出该分类的补丁。               | Bugfix               |
   | 严重性级别 | 选择补丁的严重性级别属性，在补丁扫描和修复时会过滤出该严重性级别的补丁。        | 全部                  |
   | 自动批准   | 自动批准满足指定条件的补丁。                                | 在指定的天数后批准补丁          |
   | 指定天数 | "自动批准"选择在"指定的天数后批准补丁"时必填。                     | 7                    |
   | 合规性级别   | 符合该补丁基线的补丁在合规性报告中展示的等级。                        | 中                  |
      
   
   
6. 单击"确定"，完成自定义补丁基线创建。 
   页面自动返回补丁管理页面。
   
   
 
 #### 创建补丁扫描任务
补丁扫描提供了用户可以扫描目标ECS实例上补丁合规性的功能，补丁扫描会根据用户所选择的默认基线、实例、分批执行策略进行合规性报告扫描。
若出现实例不可选情况，请确认该实例UniAgent状态是否正常或是否为Cloud Operations Center补丁管理支持操作系统。
1. 在补丁管理页面，选择"**补丁扫描**"页签。
2. 选择[创建补丁基线]中设置的场景类型"弹性云服务器 ECS"，单击"**创建扫描任务**"。
3. 设置补丁扫描基本参数。 
   本示例中仅解释必要参数，其余配置可保留默认值。
   - 执行类型选择"**单账号执行**"；
   
   - 执行方式选择"**立即执行**"；
   
   - 单击"**添加实例**"，选择ECS实例；
   
   - 分批策略选择"**不分批**"；
   
   
   
   
4. 设置熔断策略。 
   熔断阈值：用户可以设置执行的成功率，当执行失败的机器数量到达根据成功率计算出的失败数量，工单状态会变为异常，并停止执行。
   图1熔断策略   
   ![](https://support.huaweicloud.com/bestpractice-coc/zh-cn_image_0000002429413548.png "点击放大")
   
   
5. 单击"确定"，完成补丁扫描任务创建。
6. 扫描工单执行完成后，单击右上角"合规性报告"，则可跳转到合规性报告界面，查看ECS实例合规性状态。 
   图2扫描工单界面   
   ![](https://support.huaweicloud.com/bestpractice-coc/zh-cn_image_0000002429229074.png "点击放大")
   图3合规性报告界面   
   ![](https://support.huaweicloud.com/bestpractice-coc/zh-cn_image_0000002462711409.png "点击放大")
   
   
 
 #### 查看补丁合规性报告
补丁合规性扫描或修复后，用户可单击合规性报告详情摘要查看实例上的补丁详情。
补丁合规性报告只会保留最近的一次扫描或修复记录。
1. 在合规性报告界面，单击操作列"**摘要**"，进入补丁摘要页面。
2. 查看补丁合规性报告。 
   图4补丁合规性报告摘要   
   ![](https://support.huaweicloud.com/bestpractice-coc/zh-cn_image_0000002429240234.png "点击放大")
   
   表2补丁状态说明 
   | 补丁状态        | 说明                                     |
   |:---|:---|
   | 合规（已安装）       | 补丁符合补丁基线，已经安装在ECS实例上，并且没有可用更新。         |
   | 合规（已安装非基线补丁）  | 补丁未包含在补丁基线中，但已安装到ECS实例上。             |
   | 不合规（已安装待重启） | 补丁已被修复，但需要重启ECS实例才可生效。                  |
   | 不合规（已拒绝）     | 在补丁基线的补丁例外中被拒绝的补丁，该状态的补丁就算满足基线也不会被修复。 |
   | 不合规（待修复）      | 补丁符合基线，但补丁版本低于基线版本。                      |
   | 不合规（修复失败）    | 补丁进行了修复操作，但是修复失败。                      |
      
   
   
 
 #### 补丁修复
补丁修复提供了用户可以修复补丁扫描出的不合规ECS实例的能力，补丁修复功能会将ECS实例上不合规的补丁进行升级或安装。
1. 返回补丁管理页面，选择"**补丁扫描**"页签。
2. 选择需要修复的实例，单击操作列"**修复**"按钮。
3. 设置补丁修复基本参数。 
   本示例中仅解释必要参数，其余配置可保留默认值。
   - 执行类型选择"**单账号执行**"；
   
   - 执行方式选择"**立即执行**"；
   
   - 分批策略选择"**不分批**"。
   
   
   
   
4. 设置是否允许重启，本示例选"否"。 
   部分补丁需要重启生效，若选择否，则需要您择期安排重启。
   
   
5. 单击"**确定**"，完成补丁修复。
 
