Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ done
{{{ bash_fix_audit_watch_rule("augenrules", "/etc/network/", "wa", "audit_rules_networkconfig_modification") }}}
{{{ bash_fix_audit_watch_rule("auditctl", "/etc/netplan/", "wa", "audit_rules_networkconfig_modification") }}}
{{{ bash_fix_audit_watch_rule("augenrules", "/etc/netplan/", "wa", "audit_rules_networkconfig_modification") }}}
{{% elif 'debian' in product -%}}
{{{ bash_fix_audit_watch_rule("auditctl", "/etc/networks", "wa", "audit_rules_networkconfig_modification") }}}
{{{ bash_fix_audit_watch_rule("augenrules", "/etc/networks", "wa", "audit_rules_networkconfig_modification") }}}
{{{ bash_fix_audit_watch_rule("auditctl", "/etc/network/", "wa", "audit_rules_networkconfig_modification") }}}
{{{ bash_fix_audit_watch_rule("augenrules", "/etc/network/", "wa", "audit_rules_networkconfig_modification") }}}
{{% else -%}}
{{{ bash_fix_audit_watch_rule("auditctl", "/etc/sysconfig/network", "wa", "audit_rules_networkconfig_modification") }}}
{{{ bash_fix_audit_watch_rule("augenrules", "/etc/sysconfig/network", "wa", "audit_rules_networkconfig_modification") }}}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
{{% if product in ['ubuntu2404'] %}}
{{% set paths = ('/etc/issue', '/etc/issue.net', '/etc/hosts', '/etc/networks', '/etc/network/', '/etc/netplan/') %}}
{{% elif 'ubuntu' in product or 'debian' in product %}}
{{% set paths = ('/etc/issue', '/etc/issue.net', '/etc/hosts', '/etc/networks', '/etc/network/') %}}
{{% else %}}
{{% set paths = ('/etc/issue', '/etc/issue.net', '/etc/hosts', '/etc/sysconfig/network') %}}
{{% endif %}}

<def-group>
<definition class="compliance" id="audit_rules_networkconfig_modification" version="1">
{{{ oval_metadata("The network environment should not be modified by anything other than
Expand All @@ -8,98 +16,44 @@
<!-- Test the augenrules case -->
<criteria operator="AND">
<extend_definition comment="audit augenrules" definition_ref="audit_rules_augenrules" />
<criterion comment="audit /etc/issue augenrules" test_ref="test_arnm_common_etc_issue_augenrules" />
<criterion comment="audit /etc/issue.net augenrules" test_ref="test_arnm_common_etc_issue_net_augenrules" />
<criterion comment="audit /etc/hosts augenrules" test_ref="test_arnm_common_etc_hosts_augenrules" />
<criterion comment="audit /etc/sysconfig/network augenrules" test_ref="test_arnm_common_etc_sysconfig_network_augenrules" />
{{% for path in paths %}}
<criterion comment="audit {{{ path }}} augenrules" test_ref="test_arnm_common_{{{ path | escape_id }}}_augenrules" />
{{% endfor %}}
<extend_definition comment="audit augenrules sethostname" definition_ref="audit_rules_networkconfig_modification_hostname" />
<extend_definition comment="audit augenrules setdomainname" definition_ref="audit_rules_networkconfig_modification_domainname" />
</criteria>

<!-- Test the auditctl case -->
<criteria operator="AND">
<extend_definition comment="audit auditctl" definition_ref="audit_rules_auditctl" />
<criterion comment="audit /etc/issue auditctl" test_ref="test_arnm_common_etc_issue_auditctl" />
<criterion comment="audit /etc/issue.net auditctl" test_ref="test_arnm_common_etc_issue_net_auditctl" />
<criterion comment="audit /etc/hosts auditctl" test_ref="test_arnm_common_etc_hosts_auditctl" />
<criterion comment="audit /etc/sysconfig/network auditctl" test_ref="test_arnm_common_etc_sysconfig_network_auditctl" />
{{% for path in paths %}}
<criterion comment="audit {{{ path }}} auditctl" test_ref="test_arnm_common_{{{ path | escape_id }}}_auditctl" />
{{% endfor %}}
<extend_definition comment="audit augenrules sethostname" definition_ref="audit_rules_networkconfig_modification_hostname" />
<extend_definition comment="audit augenrules setdomainname" definition_ref="audit_rules_networkconfig_modification_domainname" />
</criteria>

</criteria>
</definition>

<ind:textfilecontent54_test check="all" comment="audit /etc/issue augenrules" id="test_arnm_common_etc_issue_augenrules" version="1">
<ind:object object_ref="object_arnm_common_etc_issue_augenrules" />
</ind:textfilecontent54_test>
<ind:textfilecontent54_object id="object_arnm_common_etc_issue_augenrules" version="1">
<ind:filepath operation="pattern match">^/etc/audit/rules\.d/.*\.rules$</ind:filepath>
<ind:pattern operation="pattern match">^\-w[\s]+/etc/issue[\s]+\-p[\s]+\b([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*)\b.*$</ind:pattern>
<ind:instance datatype="int">1</ind:instance>
</ind:textfilecontent54_object>

<ind:textfilecontent54_test check="all" comment="audit /etc/issue.net augenrules" id="test_arnm_common_etc_issue_net_augenrules" version="1">
<ind:object object_ref="object_arnm_common_etc_issue_net_augenrules" />
</ind:textfilecontent54_test>
<ind:textfilecontent54_object id="object_arnm_common_etc_issue_net_augenrules" version="1">
<ind:filepath operation="pattern match">^/etc/audit/rules\.d/.*\.rules$</ind:filepath>
<ind:pattern operation="pattern match">^\-w[\s]+/etc/issue\.net[\s]+\-p[\s]+\b([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*)\b.*$</ind:pattern>
<ind:instance datatype="int">1</ind:instance>
</ind:textfilecontent54_object>

<ind:textfilecontent54_test check="all" comment="audit /etc/hosts augenrules" id="test_arnm_common_etc_hosts_augenrules" version="1">
<ind:object object_ref="object_arnm_common_etc_hosts_augenrules" />
</ind:textfilecontent54_test>
<ind:textfilecontent54_object id="object_arnm_common_etc_hosts_augenrules" version="1">
<ind:filepath operation="pattern match">^/etc/audit/rules\.d/.*\.rules$</ind:filepath>
<ind:pattern operation="pattern match">^\-w[\s]+/etc/hosts[\s]+\-p[\s]+\b([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*)\b.*$</ind:pattern>
<ind:instance datatype="int">1</ind:instance>
</ind:textfilecontent54_object>

<ind:textfilecontent54_test check="all" comment="audit /etc/sysconfig/network augenrules" id="test_arnm_common_etc_sysconfig_network_augenrules" version="1">
<ind:object object_ref="object_arnm_common_etc_sysconfig_network_augenrules" />
{{% for path in paths %}}
<ind:textfilecontent54_test check="all" comment="audit {{{ path }}} augenrules" id="test_arnm_common_{{{ path | escape_id }}}_augenrules" version="1">
<ind:object object_ref="obj_arnm_common_{{{ path | escape_id }}}_augenrules" />
</ind:textfilecontent54_test>
<ind:textfilecontent54_object id="object_arnm_common_etc_sysconfig_network_augenrules" version="1">
<ind:textfilecontent54_object id="obj_arnm_common_{{{ path | escape_id }}}_augenrules" version="1">
<ind:filepath operation="pattern match">^/etc/audit/rules\.d/.*\.rules$</ind:filepath>
<ind:pattern operation="pattern match">^\-w[\s]+/etc/sysconfig/network[\s]+\-p[\s]+\b([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*)\b.*$</ind:pattern>
<ind:instance datatype="int">1</ind:instance>
</ind:textfilecontent54_object>

<ind:textfilecontent54_test check="all" comment="audit /etc/issue auditctl" id="test_arnm_common_etc_issue_auditctl" version="1">
<ind:object object_ref="object_arnm_common_etc_issue_auditctl" />
</ind:textfilecontent54_test>
<ind:textfilecontent54_object id="object_arnm_common_etc_issue_auditctl" version="1">
<ind:filepath>/etc/audit/audit.rules</ind:filepath>
<ind:pattern operation="pattern match">^\-w[\s]+/etc/issue[\s]+\-p[\s]+\b([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*)\b.*$</ind:pattern>
<ind:instance datatype="int">1</ind:instance>
</ind:textfilecontent54_object>

<ind:textfilecontent54_test check="all" comment="audit /etc/issue.net auditctl" id="test_arnm_common_etc_issue_net_auditctl" version="1">
<ind:object object_ref="object_arnm_common_etc_issue_net_auditctl" />
</ind:textfilecontent54_test>
<ind:textfilecontent54_object id="object_arnm_common_etc_issue_net_auditctl" version="1">
<ind:filepath>/etc/audit/audit.rules</ind:filepath>
<ind:pattern operation="pattern match">^\-w[\s]+/etc/issue\.net[\s]+\-p[\s]+\b([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*)\b.*$</ind:pattern>
<ind:instance datatype="int">1</ind:instance>
</ind:textfilecontent54_object>

<ind:textfilecontent54_test check="all" comment="audit /etc/hosts auditctl" id="test_arnm_common_etc_hosts_auditctl" version="1">
<ind:object object_ref="object_arnm_common_etc_hosts_auditctl" />
</ind:textfilecontent54_test>
<ind:textfilecontent54_object id="object_arnm_common_etc_hosts_auditctl" version="1">
<ind:filepath>/etc/audit/audit.rules</ind:filepath>
<ind:pattern operation="pattern match">^\-w[\s]+/etc/hosts[\s]+\-p[\s]+\b([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*)\b.*$</ind:pattern>
<ind:pattern operation="pattern match">^\-w[\s]+{{{ path | escape_regex }}}[\s]+\-p[\s]+\b([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*)\b.*$</ind:pattern>
<ind:instance datatype="int">1</ind:instance>
</ind:textfilecontent54_object>

<ind:textfilecontent54_test check="all" comment="audit /etc/sysconfig/network auditctl" id="test_arnm_common_etc_sysconfig_network_auditctl" version="1">
<ind:object object_ref="object_arnm_common_etc_sysconfig_network_auditctl" />
<ind:textfilecontent54_test check="all" comment="audit {{{ path }}} auditctl" id="test_arnm_common_{{{ path | escape_id }}}_auditctl" version="1">
<ind:object object_ref="obj_arnm_common_{{{ path | escape_id }}}_auditctl" />
</ind:textfilecontent54_test>
<ind:textfilecontent54_object id="object_arnm_common_etc_sysconfig_network_auditctl" version="1">
<ind:textfilecontent54_object id="obj_arnm_common_{{{ path | escape_id }}}_auditctl" version="1">
<ind:filepath>/etc/audit/audit.rules</ind:filepath>
<ind:pattern operation="pattern match">^\-w[\s]+/etc/sysconfig/network[\s]+\-p[\s]+\b([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*)\b.*$</ind:pattern>
<ind:pattern operation="pattern match">^\-w[\s]+{{{ path | escape_regex }}}[\s]+\-p[\s]+\b([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*)\b.*$</ind:pattern>
<ind:instance datatype="int">1</ind:instance>
</ind:textfilecontent54_object>
{{% endfor %}}

</def-group>

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ description: |-
{{% if product in ['ubuntu2404'] %}}
-w /etc/netplan/ -p wa -k audit_rules_networkconfig_modification
{{% endif %}}
{{% if 'ubuntu' in product -%}}
{{% if 'ubuntu' in product or 'debian' in product -%}}
-w /etc/networks -p wa -k audit_rules_networkconfig_modification
-w /etc/network/ -p wa -k audit_rules_networkconfig_modification</pre>
{{% else -%}}
Expand All @@ -31,7 +31,7 @@ description: |-
-w /etc/issue -p wa -k audit_rules_networkconfig_modification
-w /etc/issue.net -p wa -k audit_rules_networkconfig_modification
-w /etc/hosts -p wa -k audit_rules_networkconfig_modification
{{% if 'ubuntu' in product -%}}
{{% if 'ubuntu' in product or 'debian' in product -%}}
-w /etc/networks -p wa -k audit_rules_networkconfig_modification
-w /etc/network/ -p wa -k audit_rules_networkconfig_modification</pre>
{{% else -%}}
Expand Down Expand Up @@ -76,7 +76,7 @@ ocil: |-
run the following command:
{{% if product in ['ubuntu2404'] -%}}
<pre>auditctl -l | grep -E '(/etc/issue|/etc/issue.net|/etc/hosts|/etc/networks|/etc/network/|/etc/netplan/)'</pre>
{{% elif 'ubuntu' in product -%}}
{{% elif 'ubuntu' in product or 'debian' in product -%}}
<pre>auditctl -l | grep -E '(/etc/issue|/etc/issue.net|/etc/hosts|/etc/networks|/etc/network/)'</pre>
{{% else -%}}
<pre>auditctl -l | grep -E '(/etc/issue|/etc/issue.net|/etc/hosts|/etc/sysconfig/network)'</pre>
Expand Down
1 change: 1 addition & 0 deletions products/debian12/product.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ platform_package_overrides:
pam: libpam-runtime
shadow: login
sssd: sssd-common
audit: auditd

reference_uris:
cis: 'https://www.cisecurity.org/benchmark/debian_linux/'
2 changes: 2 additions & 0 deletions products/debian13/product.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,5 @@ platform_package_overrides:
pam: libpam-runtime
shadow: login
sssd: sssd-common
audit: auditd

15 changes: 8 additions & 7 deletions tests/data/product_stability/debian12.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ aide_bin_path: /usr/sbin/aide
aide_conf_path: /etc/aide/aide.conf
audisp_conf_path: /etc/audit
audit_binaries:
- /sbin/auditctl
- /sbin/aureport
- /sbin/ausearch
- /sbin/autrace
- /sbin/auditd
- /sbin/audispd
- /sbin/augenrules
- /sbin/auditctl
- /sbin/aureport
- /sbin/ausearch
- /sbin/autrace
- /sbin/auditd
- /sbin/audispd
- /sbin/augenrules
audit_watches_style: legacy
auid: 1000
basic_properties_derived: true
Expand Down Expand Up @@ -49,6 +49,7 @@ pkg_manager: apt_get
pkg_system: dpkg
platform_package_overrides:
aarch64_arch: null
audit: auditd
gdm: gdm3
grub2: grub2-common
login_defs: login
Expand Down
15 changes: 8 additions & 7 deletions tests/data/product_stability/debian13.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ aide_bin_path: /usr/sbin/aide
aide_conf_path: /etc/aide/aide.conf
audisp_conf_path: /etc/audit
audit_binaries:
- /sbin/auditctl
- /sbin/aureport
- /sbin/ausearch
- /sbin/autrace
- /sbin/auditd
- /sbin/audispd
- /sbin/augenrules
- /sbin/auditctl
- /sbin/aureport
- /sbin/ausearch
- /sbin/autrace
- /sbin/auditd
- /sbin/audispd
- /sbin/augenrules
audit_watches_style: legacy
auid: 1000
basic_properties_derived: true
Expand Down Expand Up @@ -50,6 +50,7 @@ pkg_manager: apt_get
pkg_system: dpkg
platform_package_overrides:
aarch64_arch: null
audit: auditd
gdm: gdm3
grub2: grub2-common
login_defs: login
Expand Down
Loading