4.1.5 Ensure events that modify the system's network environment are collected

Information

Record changes to network environment files or system calls. The below parameters monitor the sethostname (set the systems host name) or setdomainname (set the systems domainname) system calls, and write an audit event on system call exit. The other parameters monitor the /etc/issue and /etc/issue.net files (messages displayed pre-login), /etc/hosts (file containing host names and associated IP addresses) and /etc/sysconfig/network (directory containing network interface scripts and configurations) files.

Note: Reloading the auditd config to set active settings requires the auditd service to be restarted, and may require a system reboot.

Monitoring sethostname and setdomainname will identify potential unauthorized changes to host and domainname of a system. The changing of these names could potentially break security parameters that are set based on those names. The /etc/hosts file is monitored for changes in the file that can indicate an unauthorized intruder is trying to change machine associations with IP addresses and trick users and processes into connecting to unintended machines. Monitoring /etc/issue and /etc/issue.net is important, as intruders could put disinformation into those files and trick users into providing information to the intruder. Monitoring /etc/sysconfig/network is important as it can show if network interfaces or scripts are being modified in a way that can lead to the machine becoming unavailable or compromised. All audit records will be tagged with the identifier "system-locale."

Solution

_If /etc/issue is not a symlink to /run/issue and the issue generator is not being used to create a volatile banner file:

For 32 bit systems Edit or create a file in the /etc/audit/rules.d/ directory ending inrules

Example: vi /etc/audit/rules.d/system_locale.rules

and add the following lines:

-a always,exit -F arch=b32 -S sethostname -S setdomainname -k system-locale
-w /etc/issue -p wa -k system-locale
-w /etc/issue.net -p wa -k system-locale
-w /etc/hosts -p wa -k system-locale
-w /etc/sysconfig/network -p wa -k system-locale

For 64 bit systems Edit or create a file in the /etc/audit/rules.d/ directory ending inrules

Example: vi /etc/audit/rules.d/system_locale.rules

and add the following lines:

-a always,exit -F arch=b64 -S sethostname -S setdomainname -k system-locale-a always,exit -F arch=b32 -S sethostname -S setdomainname -k system-locale
-w /etc/issue -p wa -k system-locale
-w /etc/issue.net -p wa -k system-locale
-w /etc/hosts -p wa -k system-locale
-w /etc/sysconfig/network -p wa -k system-locale

_If the issue generator service is enabled then /etc/issue is a symlink and /run/issue should be monitored instead:

For 32 bit systems Edit or create a file in the /etc/audit/rules.d/ directory ending inrules

Example: vi /etc/audit/rules.d/system_locale.rules

and add the following lines:

-a always,exit -F arch=b32 -S sethostname -S setdomainname -k system-locale
-w /run/issue -p wa -k system-locale
-w /etc/issue.net -p wa -k system-locale
-w /etc/hosts -p wa -k system-locale
-w /etc/sysconfig/network -p wa -k system-locale

For 64 bit systems Edit or create a file in the /etc/audit/rules.d/ directory ending inrules

Example: vi /etc/audit/rules.d/system_locale.rules

and add the following lines:

-a always,exit -F arch=b64 -S sethostname -S setdomainname -k system-locale-a always,exit -F arch=b32 -S sethostname -S setdomainname -k system-locale
-w /run/issue -p wa -k system-locale
-w /etc/issue.net -p wa -k system-locale
-w /etc/hosts -p wa -k system-locale
-w /etc/sysconfig/network -p wa -k system-locale

See Also

https://workbench.cisecurity.org/benchmarks/8498