长期支持版本

    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备份