如何使用外部监控自动检查您的 Cisco ASA 是否正在运行最新版本或无漏洞的版本?
使用 SNMP,您可以获取 ASA 的版本号:
$ snmpget -v2c -c password 1.2.3.4 iso.3.6.1.2.1.1.1.0
iso.3.6.1.2.1.1.1.0 = STRING: "Cisco Adaptive Security Appliance Version 9.8(2)"
但是我找不到任何内容(URL/API/CVE 数据库)来与之比较,或者测试该版本是否存在已知漏洞。
我可以找到各种 Nagios 插件(例如检查级别和nm_check_version) 也不这样做。它们仅允许根据配置文件中的版本进行验证。
类似页面这些有版本信息,但是解析当然是不可靠的。
Cisco ASA 有一个“检查更新”功能,它必须检查某种 URL,但我们没有 cisco.com 帐户。我不知道 URL 是什么,它可能是 https,所以嗅探它没有帮助。话虽如此,如果有人知道受密码保护的更新 URL,我会很乐意接受它。
编辑:它甚至更加复杂,因为此 CVE指出对于版本 9.8,版本 9.8.2.28 已修补。但该补丁级别在 SNMP 中不可见,在“关于 ASA”下的 GUI 中也不可见...
答案1
通过查看该文档,我可以看到您的问题出在哪里。
尝试执行此命令,show version | include image
您应该看到如下输出:System image file is "disk0:/asa982-28-smp-k8.bin"
据我所见思科临时发行说明这将是检索发布和构建信息的直接方法。
在这种情况下
Revision: Version 9.8(2)28 – 04/18/2018 Files: asa982-28-smp-k8.bin
看起来版本信息嵌入在文件名中。
Version X.Y(I)J File: asaXYI-J-smp-k8.bin
这当然是一个临时解决方案,但你可以:
- 让 Nagios 通过 SSH 连接到 ASA
- 捕获
show version | include image
- 将文件名解析为版本名。
- 对照某些外部来源检查版本。
- 将成功或失败返回到 nagios。
根据您的评论进行更新:
如果你不想解析网页已列出数据。有人必须将供应商补丁、供应商安全公告和 CVE 关联在一起。这是一个不简单的过程。
涅索斯和开放虚拟应用系统有安全源尝试将这三种类型的数据链接起来。
这些工具和其他类似工具将扫描您的网络,将版本和配置与最低版本或配置基准进行比较。创建包含建议的报告。然后跟踪您在解决这些最低级别问题方面的进展。
如果您不想做所有这些,那么您最好解析网页并关注 Cisco ASA 的 CVE。
答案2
有人向我指出,交互式网页表单请求一个 URL获取有关版本的 JSON 数据。
它甚至有一个字段isSuggested
,这样您不需要知道它是否是最新功能版本,而只需要知道您的功能分支,您就有建议的版本。
它看起来有点像一个可能会在某个时候发生变化的 URL,但它确实有效。