首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何覆盖DevSec Inspec基线控件

如何覆盖DevSec Inspec基线控件
EN

Stack Overflow用户
提问于 2021-06-11 07:56:24
回答 1查看 127关注 0票数 0

问题:(如何)可以“覆盖”inspec控件吗?(特别是在DevSec Inspec基线中)?

我不想重写整个inspec定义,只想重写控制文件中的特定控件。

背景

我经常从DevSec存储库中提取当前的基线,以跟上当前的规范。但我想调整其中的一些“控制”,以满足我的需要,或想要禁用他们。

是否可以通过更改某些环境变量或在inspec目录结构的某个地方放置具有更高优先级的文件来更改规范?或者,我是否必须覆盖/编辑整个"controlfile.rb“规范--这将在每次控制文件更改时调用手动干预,并且会对自动化过程产生反作用。

(我看到考虑到,对于与安全有关的变化,检查每一次新的控制更新是明智的)

update一种解决方案是下面的回答,只需执行特定的控件。我仍然不知道如何排除特定的控制(否定正则表达式似乎不起作用)

EN

回答 1

Stack Overflow用户

发布于 2021-06-11 12:43:12

只使用专门的无花果控件:

在命令中找到它-帮助它说:

代码语言:javascript
复制
 [--controls=one two three]                                             
      # A list of control names to run, or a list of /regexes/ to match a gainst control names. Ignore all other tests. 

(我现在也在docs:https://docs.chef.io/inspec/cli/#options-3中找到了它)

下面只执行以指定配置文件中的"ssh“开头的控件:

代码语言:javascript
复制
inspec exec /profilepath/profilename --controls "/ssh-.*/"

覆盖控件以覆盖特定的控件--可以在配置文件的“控件”-directory中覆盖它们,这些控件可以“应用在其中的基线之上”,请参见https://blog.chef.io/understanding-inspec-profile-inheritance,如:

代码语言:javascript
复制
include_controls 'linux-baseline' do
  somevariable = attribute('somevariable', value: false, description: 'do something')
    control 'package-08' do
      impact 1.0
      title 'Install pkg'
      desc 'install some packaged'
      only_if { somevariable }
      audit_pkg = 'packagename'
      describe package(mypkg) do
        it { should be_installed }
      end
end

include "linux-patch-baseline"
# nothing to replace here
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67933272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档