获取多个 Linux 发行版的更改日志?

获取多个 Linux 发行版的更改日志?

我正在尝试构建一个可以采用发行版、包和版本号的服务,并使用该信息来检查该元组是否有活跃的 CVE。

经过一番搜索,我发现变更日志可靠地引用了 CVE,所以我考虑解析变更日志中的 CVE ID 并基于此进行报告。不幸的是,我们运行的架构非常异构,其中 CentOS、Ubuntu 和 Debian 机器运行着我们的软件。

我知道每个盒子都可以自己获取更改日志,但由于我们设置监控的方式,这不可行(我知道我知道,但相信我这一点)。我在服务器上保存了所有这些机器的软件包信息数据转储,这些盒子打电话回家时,数据会定期更新。

有没有办法让一台机器可以获取每个发行版的更改日志?或者我是否需要一台 Ubuntu 机器来获取 Ubuntu 更改日志,一台 CentOS 机器来调用yum changelog,等等?

谢谢!

答案1

由于您已经明确询问了 CVE,因此您更可能想要做的是不是手动解析更改日志,而是使用现有的工具集来检查哪些 CVE 在发行版的哪些版本中得到了修复。

每个发行版都有一些系统来在中心位置跟踪安全问题。

对于 Ubuntu,这称为ubuntu-cve-tracker. 一个很好的例子是Ubuntu CVE 跟踪网站。您可以使用 Bazaar 检查整个跟踪器状态的存储库:

$ bzr branch lp:ubuntu-cve-tracker
$ grep xenial_ ubuntu-cve-tracker/active/CVE-2017-9936
xenial_tiff: needed
xenial_tiff3: DNE

考虑调查 /scripts 目录并亲自看看你可以以何种方式重用那里的代码。

大胆警告:除了按照 Ubuntu 用户预期的方式之外,不要简单地自动访问启动板或 Ubuntu 更改日志镜像。Ubuntu 镜像和 Launchpad 之所以能成功,是因为人们贡献了大量的免费资源,并且您应该使用已经记录在案的方式访问数据,或者礼貌地提交错误询问。

相关内容