长期支持版本

    社区创新版本

      AOps漏洞管理模块使用手册

      参照AOps部署指南部署AOps前后端服务后,即可使用AOps漏洞管理模块。

      AOps智能运维工具的漏洞管理模块主要集成了漏洞扫描、CVE修复(冷补丁/热补丁)、热补丁回退等核心功能,其中漏洞扫描只支持openEuler已修复并发布的安全公告。系统可以对发布的安全公告实行定时下载同步,可设置定时任务执行漏洞扫描,保证系统平稳运行的同时,运维人员可通过AOps工具实现对漏洞的修复和回退。

      执行CVE修复过程中,会调用dnf hotpatch插件实现冷补丁/热补丁的热修复(除内核和个别软件需要重启)。

      对已修复的CVE可以查看修复的版本和所涉及的软件包,同时支持补丁回退(热补丁)至修复前的状态。

      下文以页面的维度进行AOps漏洞管理模块功能的介绍。

      1. 工作台

      管理员登录后直接切入数据看板界面,在右侧页面主窗口右上角内看到CVE整体数量的分布统计。

      工作台图示

      2. 资产管理

      资产管理界面用于对集群中服务器的纳管(添加、编辑和删除),支持单台主机和批量主机的添加操作。

      当前资产管理模块分为一下两个界面:

      • 主机管理
      • 主机组管理

      2.1 主机管理界面

      主机管理-列表

      支持如下操作:

      • 单台主机的添加
      • 主机的批量删除
      • 批量添加主机
      • 支持使用所属主机组、管理节点的主机过滤,同时可满足对主机名称的排序

      (1) 单台主机添加

      主机管理-添加

      支持如下操作:

      • 添加主机组管理(同主机组管理中的添加功能)
      • 使用密码模式添加主机(需提供账号和密码)
      • 使用密钥模式添加主机(需提供可登录的密钥,注意此处的密钥为私钥

      注意:当前管理节点和监控节点意义相同,默认为管理节点

      (2) 批量添加主机

      主机管理-批量添加

      支持如下操作:

      • 在线下载批量导入主机模板
      • 在线上传解析批量导入数据
      • 支持单个主机的数据调整
      • 查看主机添加的结果

      2.2 主机组管理

      资产管理-主机组管理列表

      资产管理-主机组内主机查看

      支持如下操作:

      • 添加主机组
      • 对主机组名称排序、主机数量排序
      • 删除主机组(主机组内包含主机时,无法直接删除主机组)
      • 查看组内的所有主机列表

      (1) 添加主机组

      资产管理-添加主机组

      支持如下操作:

      • 主机组的描述及名称定义

      3. 漏洞管理

      漏洞管理界面用于对目标主机存在的CVE进行监控与修复,现阶段漏洞管理只针对openEuler社区已修复的CVE,对于已发现但未修复的CVE管理作为预留扩展功能,后续逐步完善。

      当前漏洞管理模块分为以下三个界面:

      • 主机列表界面
      • CVEs界面
      • 任务列表界面

      3.1 主机列表界面

      主机列表界面

      支持如下操作:

      • 查看主机基本信息与其CVE个数(可根据主机组、Repo名称进行筛选,可根据CVE个数、上次扫描时间进行排序,根据主机名称进行主机检索)
      • 查看主机上次执行CVE扫描的时间
      • 当前已保存的Repo源
      • 添加Repo源
      • 删除Repo源
      • 对主机进行漏洞扫描
      • 点击主机名可跳转到主机详情界面
      • 主机列表数据导出(仅限当前分页数据)

      (1) 主机详情信息界面

      主机详情信息界面

      支持如下操作:

      • 查看主机基本信息与CVE个数
      • 进行漏洞扫描
      • 生成CVE修复任务(切换至“未修复”时,才可支持CVE修复任务创建),可支持CVE粒度的任务创建,同时也可具体到特定的rpm包修复
      • 生成回滚任务(切换至“已修复”时,才可支持生成回滚任务),回滚时只支持热补丁的回退
      • 查看当前主机CVE列表信息(可根据严重性与状态进行筛选,可根据CVE发布时间与CVSS分数进行排序,可根据CVE ID进行检索)
      • 点击CVE ID可跳转CVE详情界面
      • CVE标签修改
      • 主机CVE信息导出

      (2) 漏洞扫描

      扫描目标主机存在的CVE,主机列表不勾选的情况下,默认扫描全部主机。

      漏洞扫描

      (3) 添加Repo源

      点击CVE REPO下的“+”处,随后在弹出界面中,输入Repo源名称与Repo具体内容,点击右下角“确定”按钮便可完成添加Repo的操作。

      添加REPO源

      支持如下功能:

      • 编辑Repo内容
      • 下载Repo模板
      • 上传本地Repo文件

      (4) 上传Repo文件

      在新建REPO源页面,点击“选择文件”后,选择本地已经编辑好的Repo文件便可将文件内容读入。

      上传repo文件

      (5) 查看Repo源

      选中一个CVE REPO,点击CVE REPO名称后,在稍后弹出的窗口中可看到目标Repo的具体内容。

      查看repo源

      (6) 删除Repo源

      选中一个CVE REPO,点击“删除”后,会跳出一个确认窗口,点击“删除”按钮即可完成Repo删除动作。

      删除Repo源

      (7) 设置Repo任务

      当前CVE扫描与修复都是依赖于aops-update源实现,通过本功能可以为目标主机设置Repo。设置的目标Repo源中需包含aops-update源信息。

      设置REPO任务

      支持如下功能:

      • 编辑任务信息
      • 创建任务
      • 创建并执行任务

      3.2 CVEs界面

      此界面下可看到当前所有主机存在的CVE信息,单个CVE支持点击展开查看可修复的rpm包列表及每个rpm包支持的修复方式以及影响的主机个数。

      image-20230608115922608

      漏洞管理-CVEs界面-rpm

      支持如下操作:

      • 查看所有CVE信息(CVE严重性进行筛选、CVE ID、发布时间、CVSS分数、主机数量进行排序,可根据CVE ID进行检索)
      • 上传安全公告(对版本有影响与对版本无影响的CVE数据)
        • 下载安全公告
      • 切换至“未修复”按钮,右侧按钮为“生成修复任务”,支持生成CVE修复任务
      • 切换至“已修复”按钮,右侧按钮为“生成回滚任务”,支持生成回滚任务
        • 查看单个CVE中受影响的rpm包
        • 受影响rpm包影响的主机数及主机列表

      (1) CVE详情信息

      image-20230608141436293

      支持如下操作:

      • 查看CVE基本信息
      • 查看关联CVE数量
      • 查看用户对该CVE的状态标记
      • 查看受此CVE影响的主机列表以及单个主机上受此CVE影响的rpm包列表
      • 可点击主机名称跳转至主机详情界面
      • 选择“未修复”按钮,右侧按钮为“生成修复任务,支持生成CVE修复任务
      • 选择“已修复”按钮,右侧按钮为“生成回滚任务”,支持生成回滚任务

      (2) 生成CVE修复任务

      生成修复任务

      支持如下操作:

      • 编辑任务信息
      • 创建任务
      • 创建并执行任务

      (3) 生成回滚任务

      漏洞管理-CVEs界面-生成回滚任务

      支持如下操作:

      • 编辑任务信息
      • 创建任务
      • 创建并执行任务

      (4) 上传安全公告

      image-20230423162005888

      点击年份进入安全公告列表

      image-20230423162105519

      点击安全公告名称进入安全公告详情

      image-20230423162221215

      注:1.当前需要开发脚本主动下载或者手动复制安全公告内容保存;

      2.社区提供了一个订阅的方式:https://mailweb.openeuler.org/postorius/lists/sa-announce.openeuler.org/,目前还不支持推送的能力,预计2023年6月30上线。

      CVE扫描结果的呈现依赖于数据库中已存储的CVE信息,对于目标主机存在但是未录入数据库的CVE数据,仅做日志记录。

      而CVE信息的录入依赖此接口实现。

      安全公告上传

      修改状态点击确认后,对应CVE的标签将会变更为对应字段。

      cve标记状态

      3.3 任务列表界面

      任务列表界面

      支持如下操作:

      • 查看任务列表(可根据任务类型筛选,可根据任务生成时间、任务需执行主机数量进行排序,可根据任务名称进行检索)
      • 执行任务
      • 删除任务
      • 点击任务名称跳转至任务详情界面

      (1) 任务详情界面

      任务详情界面

      支持如下操作:

      • 查看任务基本信息
      • 查看任务执行进度
      • 查看修复的CVE中包含要修复的rpm包
      • 查看主机任务执行结果
      • 点击“查看报告”跳转至任务执行报告
      • 执行此任务

      (2) 执行任务

      任务的执行可通过下列三种方式触发。

      • 在任务创建时,点击创建并执行按钮(CVE修复任务、回滚任务、Repo设置任务都支持该操作)。

      执行任务1

      • 在任务列表界面,点击某条任务信息后面的执行按钮。

        执行任务2

      • 在任务详情界面,点击执行按钮。

        执行任务3

      (3) 删除任务

      删除任务

      (4) 查看报告

      可在此处查看每个任务执行的具体情况,如执行结果、执行失败的原因等。

      查看报告

      4.定时任务配置

      定时任务主要包含3种类型任务,定时任务配置文件位于 /etc/aops/apollo_crontab.ini,内容如下:

      [cve_scan]
      # timed task name
      id = cve scan
      # value between 0-6, for example, 0 means Monday, 0-6means everyday.
      day_of_week = 0-6
      # value between 0-23, for example, 2 means 2:00 in a day.
      hour = 2
      # value is true or false, for example, true means with service start.
      auto_start = true
      
      [download_sa]
      id = download sa
      day_of_week = 0-6
      hour = 3
      auto_start = true
      cvrf_url = https://repo.openeuler.org/security/data/cvrf
      
      [correct_data]
      id = correct data
      day_of_week = 0-6
      hour = 4
      auto_start = true
      service_timeout_threshold_min = 15
      

      4.1 定时巡检,执行漏洞扫描

      定时扫描cve任务的参数

      • id

        定时任务的名称,不能与其他定时任务名称重复,不建议修改。

      • day_of_week

        定时任务在一周中的第几天启动,取值范围0-6,0-6表示每天,0表示周一,以此类推。

      • hour

        任务启动的时间,取值范围0-23,与24小时制时间格式一致。

      • auto_start

        任务是否跟随服务启动,true表示同时启动,false表示不同时启动。

      • 其他

        如果要精确到分钟,秒,需要添加minute(取值范围0-59)和second(取值范围0-59)。

        示例

        minute = 0
        second = 0
        

      修改配置文件示例

      打开配置文件

      vim /etc/aops/apollo_crontab.ini
      

      修改定时任务执行时机

      [cve_scan]
      id = cve scan
      day_of_week = 5
      hour = 2
      auto_start = true
      

      4.2 定时下载安全公告

      相同字段含义和使用与[cve_scan]一样。

      • cvrf_url

        获取安全公告详细信息的基础url,暂不支持修改。

      4.3 定时校正异常数据

      相同字段含义和使用与[cve_scan]一样。

      • service_timeout_threshold_min

        判断异常数据的阈值,取值为正整数,建议最小值为15。

      修改配置文件示例

      打开配置文件

      vim /etc/aops/apollo_crontab.ini
      

      设置异常数据阈值

      service_timeout_threshold_min = 15
      

      FAQ

      1. 当某个CVE修复完成需要再次扫描才会刷新CVE列表信息。
      2. 执行CVE扫描与CVE修复前需在目标主机设置repo id为aops-update的Repo源。
      3. 当任务执行结果或者某个主机操作事件的返回结果为unknown时,请排查aops-zeus、aops-ceres服务是否正常运行以及相关配置文件是否正确配置。
      4. Linux系统Kernel类的漏洞修复完成后需要手动重启,否则CVE扫描仍可能会扫描到该漏洞。

      文档捉虫

      “有虫”文档片段

      问题描述

      提交类型 issue

      有点复杂...

      找人问问吧。

      PR

      小问题,全程线上修改...

      一键搞定!

      问题类型
      规范和低错类

      ● 错别字或拼写错误;标点符号使用错误;

      ● 链接错误、空单元格、格式错误;

      ● 英文中包含中文字符;

      ● 界面和描述不一致,但不影响操作;

      ● 表述不通顺,但不影响理解;

      ● 版本号不匹配:如软件包名称、界面版本号;

      易用性

      ● 关键步骤错误或缺失,无法指导用户完成任务;

      ● 缺少必要的前提条件、注意事项等;

      ● 图形、表格、文字等晦涩难懂;

      ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

      正确性

      ● 技术原理、功能、规格等描述和软件不一致,存在错误;

      ● 原理图、架构图等存在错误;

      ● 命令、命令参数等错误;

      ● 代码片段错误;

      ● 命令无法完成对应功能;

      ● 界面错误,无法指导操作;

      风险提示

      ● 对重要数据或系统存在风险的操作,缺少安全提示;

      内容合规

      ● 违反法律法规,涉及政治、领土主权等敏感词;

      ● 内容侵权;

      您对文档的总体满意度

      非常不满意
      非常满意
      提交
      根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
      文档捉虫
      编组 3备份