AOps漏洞管理模块使用手册
参照AOps部署指南部署AOps前后端服务后,即可使用AOps漏洞管理模块。
下文会从页面的维度进行AOps漏洞管理模块功能的介绍。
1. 工作台
管理员登录后直接切入数据看板界面,在右侧页面主窗口右上角内看到CVE整体数量的分布统计。
2. 漏洞管理
漏洞管理界面用于对目标主机存在的CVE进行监控与修复,现阶段漏洞管理只针对openEuler社区已修复的CVE,对于已发现但未修复的CVE管理作为预留扩展功能,后续逐步完善。
当前漏洞管理模块分为以下三个界面:
- CVEs界面
- 主机列表界面
- 任务列表界面
2.1 主机列表界面
支持如下操作:
- 查看主机基本信息与其CVE个数(可根据主机组、Repo名称进行筛选,可根据CVE个数、上次扫描时间进行排序,根据主机名称进行主机检索)
- 查看主机上次执行CVE扫描的时间
- 当前已保存的Repo源
- 添加Repo源
- 删除Repo源
- 对主机进行漏洞扫描
- 点击主机名可跳转到主机详情界面
- 当前数据进行导出
(1) 主机详情信息界面
支持如下操作:
查看主机基本信息与CVE个数
进行漏洞扫描
生成CVE修复任务
查看当前主机CVE列表信息(可根据严重性与状态进行筛选,可根据CVE发布时间与CVSS分数进行排序,可根据CVE ID进行检索)
点击CVE ID 可跳转CVE详情界面
CVE标签修改
主机CVE信息导出
(2) 漏洞扫描
扫描目标主机存在的CVE,主机列表不勾选的情况下,默认扫描全部主机。
(3) 添加REPO源
点击CVE REPO下的“+”处,随后在弹出界面中,输入Repo源名称与Repo具体内容,点击右下角“确定”按钮便可完成添加Repo的操作。
支持如下功能:
- 编辑Repo内容
- 下载Repo模板
- 上传本地Repo文件
(4) 上传repo文件
在新建REPO源页面,点击“选择文件”后,选择本地已经编辑好的Repo文件便可将文件内容读入。
(5) 查看repo源
选中一个CVE REPO,点击CVE REPO名称后,在稍后弹出的窗口中可看到目标Repo的具体内容。
(6) 删除Repo源
选中一个CVE REPO,点击“删除”后,会跳出一个确认窗口,点击“删除”按钮即可完成Repo删除动作。
(7) 设置REPO任务
当前CVE扫描与修复都是依赖于aops-update源实现,通过本功能可以为目标主机设置repo。设置的目标repo源中需包含aops-update源信息。
支持如下功能:
- 编辑任务信息
- 创建任务
- 创建并执行任务
2.2 CVEs界面
此界面下可看到当前所有主机存在的CVE信息。
支持如下操作:
- 查看所有CVE信息(可根据CVE严重性进行筛选、CVE ID、发布时间、CVSS分数、主机数量进行排序,可根据CVE ID进行检索)
- 上传安全公告(对版本有影响与对版本无影响的CVE数据)
- 下载安全公告
- 生成CVE修复任务
(1) CVE详情信息
支持如下操作:
- 查看CVE基本信息
- 查看关联CVE数量
- 查看用户对该CVE的状态标记
- 查看受此CVE影响的主机列表以及基本信息
- 可点击主机名称跳转至主机详情界面
- 生成CVE修复任务
(2) 生成CVE修复任务
支持如下操作:
- 编辑任务信息
- 创建任务
- 创建并执行任务
(3) 上传安全公告
- 下载安全公告
受影响安全公告地址:https://repo.openeuler.org/security/data/cvrf/
点击年份进入安全公告列表
点击安全公告名称进入安全公告详情
注:1.当前需要开发脚本主动下载或者手动复制安全公告内容保存;
2.社区提供了一个订阅的方式:https://mailweb.openeuler.org/postorius/lists/sa-announce.openeuler.org/,目前还不支持推送的能力,预计6月30上线。
CVE扫描结果的呈现依赖于数据库中已存储的CVE信息,对于目标主机存在但是未录入数据库的CVE数据,仅做日志记录。
而CVE信息的录入依赖此接口实现。
修改状态点击确认后,对应CVE的标签将会变更为对应字段。
2.3 任务界面
支持如下操作:
- 查看任务列表(可根据任务类型筛选,可根据任务生成时间、任务需执行主机数量进行排序,可根据任务名称进行检索)
- 执行任务
- 删除任务
- 点击任务名称跳转至任务详情界面
(1) 任务详情界面
支持如下操作:
- 查看任务基本信息
- 查看任务执行进度
- 查看主机任务执行结果
- 点击“查看报告”跳转至任务执行报告
- 执行此任务
(2) 执行任务
任务的执行可通过下列三种方式触发。
在任务创建时,点击创建并执行按钮。
在任务列表界面,点击某条任务信息后面的执行按钮。
在任务详情界面,点击执行按钮.
(3) 删除任务
(4) 查看报告
可在此处查看每个任务执行的具体情况,如执行结果、执行失败的原因等。
FAQ:
- 当某个CVE修复完成需要再次扫描才会刷新CVE列表信息。
- 执行CVE扫描与CVE修复前需在目标主机设置repo id为aops-update的repo源。
- 当任务执行结果或者某个主机操作事件的返回结果为unknown时,请排查aops-zeus、aops-ceres服务是否正常运行以及相关配置文件是否正确配置。
- Linux系统Kernel类的漏洞修复完成后需要手动重启,否则CVE扫描仍可能会扫描到该漏洞。
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
base_url = https://repo.openeuler.org/security/data/cvrf
sa_years = 2021,2022,2023
[correct_data]
id = correct data
day_of_week = 0-6
hour = 4
auto_start = true
service_timeout_threshold_min = 15
[cve_scan]
定时扫描cve任务的参数。
id
表示定时任务的名称,不能与其他定时任务名称重复,不建议修改。
day_of_week
表示定时任务在一周中的第几天启动,取值范围0-6,0-6表示每天,0表示周一,1表示周二,以此类推。
修改配置文件示例
- 打开配置文件
vim etc/aops/apollo_crontab.ini
- 修改值
hour
表示定时任务启动的时间,取值范围0-23,1表示凌晨一点,2表示凌晨两点,以此类推。
auto_start
表示定时任务是否跟随服务启动,true表示同时启动,false表示不同时启动。
其他
如果要精确到分钟,秒,需要添加minute(取值范围0-59)和second(取值范围0-59)。
示例
minute = 13
second = 34
[download_sa]
定时下载安全公告。
相同字段含义和使用与[cve_scan]一样。
base_url
获取安全公告详细信息的基础url,不能修改。
sa_years
安全公告的年份,年份之间用“,”分开。
[correct_data]
定时校正异常数据。
相同字段含义和使用与[cve_scan]一样。
service_timeout_threshold_min
判断异常数据的阈值,取值为正整数,建议最小值为15。
修改配置文件示例
- 打开配置文件
vim etc/aops/apollo_crontab.ini
- 修改值