# 自定义漏洞说明
Ivanti 安全和遵从性功能提供了主流的操作系统厂家和软件厂家发布的漏洞检测规则,用于检测终端设备是否存在已知漏洞,并且 ivanti 提供了客户自定义功能,让用户可以根据自身业务需求,自定义一套漏洞检测规则,用于判断终端设备合规性
在控制台界面中,依次点击 Security and Compliance – Patch and compliance – Custom definition,在 Scan (global) 创建一个自定义漏洞规则
在漏洞定义窗口中可以添加 Title and Notes 等其它信息,其中 Detection Rules 是必须添加的,否则该定义没有任何意义,点击 Add 添加 Detection Rules
在 Rule 属性中,Detection Logic – Affected Platform 为必选项,这里指定漏洞扫描器与检查规则在选定的操作系统平台运行,必须至少选择一个操作系统平台,如果目标设备运行在不同的操作系统平台,则不检测
设置完 Affected Platform 的信息,下面添加漏洞验证方法,验证方法主要有两种,Files and Registry Settings,至少选择其中一种验证方法,否则无法验证该设备是否存在漏洞
在 Files 设置中,可以通过 File existence only、File version、Product version 等信息判断终端设备是否通过检测
在 Registry Setting 中,则对注册表 HKLM 的 Key 值进行判断,判断条件为该值是否存在
# 自定义漏洞检测实例
以某公司项目的实际准入需求为例,创建一个自定义漏洞规则
用户需求:
- 判断 ESET 产品版本是否低于定义中的版本,低于定义版本则不允许访问网络
- 判断 Windows 操作系统是否为 Windows 10,非 Windows 10 系统不允许访问网络
- 判断 Windows 10 版本是否低于定义中的版本,低于定义版本则不允许访问网络
如果终端不满足以上三条规则中的任意一条则不能访问网络,Ivanti EPM 仅负责检测验证这三条规则,验证结果返回 FALSE 或者 TRUE,由准入服务器通过 EPM 提供的 API 接口返回信息判断是否放行
- 添加 ESET 检测规则
在 Rule General Information 中添加 Rule Name 信息
选择 Affected Platform,用户仅需要在 win10 中检测,所以这里只需要选择 win10 平台
ESET 产品版本可以通过 Files 检测验证,在 Files 中点击 Add,创建一个 Product Version 检测规则,填写 ESET 主程序完整路径和最低版本信息,完成后点击 Update,最后点击 OK 完成对 ESET 版本的检测规则定义
- 添加 Windows 平台检测规则
ESET 版本检测规则添加完成后,再添加一条 Windows 平台的检测条件
在 Affected Platforms 这里,排除掉 Windows 10 和 Windows Server,仅检测非 Windows 10 的桌面版本
在 files 中添加一个结果为假的条件,例如检测 windows 目录中真实存在的文件,但是在 Requirement 中则选择该文件不能存在,这样便能让 Affected Platform 勾选的操作系统都不能通过检测
- 添加 Windows 10 版本检测规则
最后再添加一条 Windows 10 版本的检测规则, Windows 10 版本无法直接通过 Files 方式去判断,通过 Registry Setting 则只能判断固定的 Key Value,不能用于版本大小比较
这里选择使用 Query Filter 的方式判断,通过 Query 条件把低于 Windows 10 的某个版本设备全部筛选出来,然后在 Files 验证中添加结果为假的条件,使其无法通过检测
首先在控制台 Network View 中找到 Queries ,展开选中 My queries ,右键选择 New Query
在 Query 窗口填写 Query Name,然后根据需求添加筛选条件,首选添加 win10 的筛选条件,通过 "Computer"."OS"."Name" 中值,如果该值包含 windows 10 字段则表示设备的操作系统是 Windows 10
然后筛选 windows 10 版本,可以通过 "Computer"."OS"."NT Info"."Current Build" 或者 "Computer"."OS"."NT Info"."Release ID" 比较,这里以 Current Build 值为例
筛选条件完成后,添加该查询结果显示的列信息,方便验证查询结果是否正确,这里把 "Computer"."OS"."NT Info"."Current Build" 显示出来即可,添加完点击 save 关闭,需要显示更多列信息可以根据自己需求添加
保存后双击运行该查询条件,验证查询结果是否正确
确认无误后再回到漏洞定义中,添加 Detection Rules,填写 Rule Name
选择 Affected Platforms
添加 Query Filter,过滤掉不满足条件的设备
添加 Files 验证条件,由于 Query Filter 中设备都是低于定义的 windows 10 版本,所以这个验证条件不能让设备通过,添加结果为假的判断即可,例如验证一个不存在的文件,Requirement 选择该文件必须存在
完成后点击 ok 保存即可,然后在客户端执行安全扫描验证规则是否生效