通过 saltstack 更改 ossec(wazuh) 代理配置文件

Change ossec(wazuh) agent profiles via saltstack

我正在尝试修改 ossc.conf 文件的 <config-profile> 部分,包括 grains 内容。

类似于:

ossec-profiles:
  - profile1
  - profile2

并且我想修改

中的 <config-profile> 部分
<config-profile>centos, centos7</config-profile>

<config-profile>centos, centos7, profile1, profile2</config-profile>

ossec.conf 文件中

有什么想法吗?

这可以通过使用 file.replace 模块来完成,该模块使您能够根据模式更改文件中的文本。因此,在您的情况下,您可以执行以下操作:

您需要select将模式作为正则表达式组,以便稍后使用它,如下所示

configure_ossec:
  file.replace:
    - name: /path/to/ossec.conf
    - pattern: '((<config-profile>.*?)[^<]*)'
    - repl: {{ '\1, ' +  pillar['ossec-profiles'] | join(', ') }}

或者您可以使用此模式仅匹配 config-profile 标签内的任何内容,然后您将能够在 repl 参数中再次调用它:

(?<=<config-profile>)(.*)(?=<\/config-profile>)

Note: As pillar['ossec-profiles'] should return a list of profiles then you have to use the join filter in order to separate the values with comma as a delimiter

最后的输出应该是这样的:

     Changes:   
              ----------
              diff:
                  --- 
                  +++ 
                  @@ -1 +1 @@
                  -<config-profile>centos, centos7</config-profile>
                  +<config-profile>centos, centos7, profile1, profile2</config-profile>