Verify that Shared Library Files Have Restrictive Permissions
An XCCDF Rule
Description
System-wide shared library files, which are linked to executables during process load time or run time, are stored in the following directories by default:
/lib /lib64 /usr/lib /usr/lib64Kernel modules, which can be added to the kernel during runtime, are stored in
/lib/modules
. All files in these directories
should not be group-writable or world-writable. If any file in these
directories is found to be group-writable or world-writable, correct
its permission with the following command:
$ sudo chmod go-w FILE
Rationale
Files from shared library directories are loaded into the address space of processes (including privileged ones) or of the kernel itself at runtime. Restrictive permissions are necessary to protect the integrity of the system.
- ID
- xccdf_org.ssgproject.content_rule_file_permissions_library_dirs
- Severity
- Medium
- References
- Updated
Remediation - Shell Script
find -H /lib/ -perm /g+w,o+w -type f -regex '^.*$' -exec chmod g-w,o-w {} \;
Remediation - Ansible
- name: Find /lib/ file(s) recursively
command: find -H /lib/ -perm /g+w,o+w -type f -regex "^.*$"
register: files_found
changed_when: false
failed_when: false
check_mode: false