An XCCDF Group - A logical subset of the XCCDF Benchmark
$ mount -t xfs | awk '{print $3}'
$ sudo chmod +t DIR
/etc/audit/auditd.conf
$ sudo chmod 0640 /etc/audit/auditd.conf
/etc/audit/rules.d/*.rules
$ sudo chmod 0640 /etc/audit/rules.d/*.rules
/boot/System.map-*
$ sudo chmod 0600 /boot/System.map-*
sysfs
procfs
$ findmnt -n -l -k -it $(awk '/nodev/ { print $2 }' /proc/filesystems | paste -sd,)
$ sudo find MOUNTPOINT -xdev -nogroup 2>/dev/null
$ sudo find MOUNTPOINT -xdev -nouser 2>/dev/null
fs.protected_hardlinks
$ sudo sysctl -w fs.protected_hardlinks=1
/etc/sysctl.d
fs.protected_hardlinks = 1
fs.protected_symlinks
$ sudo sysctl -w fs.protected_symlinks=1
fs.protected_symlinks = 1
passwd
shadow
group
gshadow
/etc/group-
$ sudo chgrp root /etc/group-
/etc/gshadow-
$ sudo chgrp root /etc/gshadow-
/etc/passwd-
$ sudo chgrp root /etc/passwd-
/etc/shadow-
$ sudo chgrp root /etc/shadow-
/etc/group
$ sudo chgrp root /etc/group
/etc/gshadow
$ sudo chgrp root /etc/gshadow
/etc/passwd
$ sudo chgrp root /etc/passwd
/etc/shadow
$ sudo chgrp root /etc/shadow
$ sudo chown root /etc/group-
$ sudo chown root /etc/gshadow-
$ sudo chown root /etc/passwd-
$ sudo chown root /etc/shadow-
$ sudo chown root /etc/group
$ sudo chown root /etc/gshadow
$ sudo chown root /etc/passwd
$ sudo chown root /etc/shadow
$ sudo chmod 0644 /etc/group-
$ sudo chmod 0000 /etc/gshadow-
$ sudo chmod 0644 /etc/passwd-
$ sudo chmod 0000 /etc/shadow-
$ sudo chmod 0644 /etc/group
$ sudo chmod 0000 /etc/gshadow
$ sudo chmod 0644 /etc/passwd
$ sudo chmod 0000 /etc/shadow
/var/log
$ sudo chgrp root /var/log
/var/log/messages
$ sudo chgrp root /var/log/messages
/var/log/syslog
$ sudo chgrp adm /var/log/syslog
$ sudo chown root /var/log
$ sudo chown root /var/log/messages
$ sudo chown syslog /var/log/syslog
$ sudo chmod 0755 /var/log
$ sudo chmod 0640 /var/log/messages
$ sudo chmod 0640 /var/log/syslog
/lib /lib64 /usr/lib /usr/lib64
/lib/modules
root
$ sudo chgrp root DIR
/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
$ sudo chown root DIR
$ sudo chmod go-w DIR
$ sudo chgrp root FILE
/bin /sbin /usr/bin /usr/libexec /usr/local/bin /usr/local/sbin /usr/sbin
$ sudo chown root FILE
$ sudo chmod go-w FILE
fs.protected_fifos
$ sudo sysctl -w fs.protected_fifos=2
fs.protected_fifos = 2
fs.protected_regular
$ sudo sysctl -w fs.protected_regular=2
fs.protected_regular = 2
$ find /lib/modules/`uname -r`/kernel/fs -type f -name '*.ko'
/etc/modprobe.d
autofs
/misc/cd
/etc/fstab
$ sudo systemctl mask --now autofs.service
cramfs
/etc/modprobe.d/cramfs.conf
install cramfs /bin/true
blacklist cramfs
usb-storage
/etc/modprobe.d/usb-storage.conf
install usb-storage /bin/true
blacklist usb-storage
modprobe
insmod
nodev
/boot
/dev
noexec
nosuid
/dev/shm
grpquota
/home
usrquota
/opt
/srv
/tmp
/var/log/audit
/var
/var/tmp
/etc/permissions.local
chkstat
kernel.core_pattern
$ sudo sysctl -w kernel.core_pattern=|/bin/false
kernel.core_pattern = |/bin/false
kernel.core_uses_pid
$ sudo sysctl -w kernel.core_uses_pid=0
kernel.core_uses_pid = 0
kernel.dmesg_restrict
$ sudo sysctl -w kernel.dmesg_restrict=1
kernel.dmesg_restrict = 1
kernel.kexec_load_disabled
$ sudo sysctl -w kernel.kexec_load_disabled=1
kernel.kexec_load_disabled = 1
kernel.modules_disabled
$ sudo sysctl -w kernel.modules_disabled=1
kernel.modules_disabled = 1
kernel.panic_on_oops
$ sudo sysctl -w kernel.panic_on_oops=1
kernel.panic_on_oops = 1
kernel.perf_cpu_time_max_percent
$ sudo sysctl -w kernel.perf_cpu_time_max_percent=1
kernel.perf_cpu_time_max_percent = 1
kernel.perf_event_max_sample_rate
$ sudo sysctl -w kernel.perf_event_max_sample_rate=1
kernel.perf_event_max_sample_rate = 1
kernel.perf_event_paranoid
$ sudo sysctl -w kernel.perf_event_paranoid=2
kernel.perf_event_paranoid = 2
kernel.pid_max
$ sudo sysctl -w kernel.pid_max=65536
kernel.pid_max = 65536
kernel.sysrq
$ sudo sysctl -w kernel.sysrq=0
kernel.sysrq = 0
kernel.unprivileged_bpf_disabled
$ sudo sysctl -w kernel.unprivileged_bpf_disabled=1
kernel.unprivileged_bpf_disabled = 1
kernel.yama.ptrace_scope
$ sudo sysctl -w kernel.yama.ptrace_scope=1
kernel.yama.ptrace_scope = 1
net.core.bpf_jit_harden
$ sudo sysctl -w net.core.bpf_jit_harden=2
net.core.bpf_jit_harden = 2
user.max_user_namespaces
$ sudo sysctl -w user.max_user_namespaces=0
user.max_user_namespaces = 0
vm.mmap_min_addr
$ sudo sysctl -w vm.mmap_min_addr=65536
vm.mmap_min_addr = 65536
/etc/security/limits.conf
/etc/security/limits.d/
limits.conf
sysctl
fs.suid_dumpable
systemd-coredump.socket
systemd-coredump@.service
ProcessSizeMax
[Coredump]
/etc/systemd/coredump.conf
Storage
none
* hard core 0
$ sudo sysctl -w fs.suid_dumpable=0
fs.suid_dumpable = 0
kernel.exec-shield
kernel.randomize_va_space
kernel.kptr_restrict
$ sudo sysctl -w kernel.kptr_restrict=
kernel.kptr_restrict =
$ sudo sysctl -w kernel.randomize_va_space=2
kernel.randomize_va_space = 2
/etc/default/grub
slub_debug
page_poison=1
GRUB_CMDLINE_LINUX="... page_poison=1 ..."
# grubby --update-kernel=ALL --args="page_poison=1"
slub_debug=
GRUB_CMDLINE_LINUX="... slub_debug= ..."
# grubby --update-kernel=ALL --args="slub_debug="