The reconstructed evaluation script behind this rule's OVAL check(s) — every module a compound check combines, with this rule's own concrete values and DISA's SCC tool's real per-module mechanism curated from static teardown of SCC releases.
#!/bin/bash
# Reconstructed from oval:mil.disa.stig.sles15os:def:255921
# The SUSE operating system must restrict access to the kernel message buffer.
# Per-module read mechanism curated from static teardown of DISA's SCC tool
# (SCAP Compliance Checker) -- see the SCC Automation Reference above.
#
# MANUAL REVIEW REQUIRED -- the module(s) below could not be reconstructed
# into working code from curated SCC reference data, and are excluded from
# the automated result:
# - textfilecontent54_object (textfilecontent54_test) -- kernel.dmesg_restrict setting in sysctl configuration files is set to 1: <set> composition (base object oval:mil.disa.stig.ind:obj:23026900, oval:mil.disa.stig.ind:obj:23026901): member unresolved -- no extractor for field "subexpression"
# kernel.dmesg_restrict setting in kernel is 1
# sysctl_object (sysctl_test)
test_1() {
[ "$(cat /proc/sys/kernel/dmesg_restrict)" -eq 1 ]
}
if test_1; then
echo "PASS (automated portion only -- MANUAL REVIEW still required, see notes above)"
else
echo "FAIL (or see MANUAL REVIEW note above)"
fi Assessment Script Powered by AISandbox-executed
A standalone Shell script to assess this control automatically. Review before running it in your environment.
Syntax-checked and actually executed in an isolated sandbox (not the real system this checks) — confirmed to run without errors.
#!/bin/sh
# OVAL definition: oval:mil.disa.stig.sles15os:def:255921
if sysctl -n kernel.dmesg_restrict &>/dev/null; then
dmesg_restrict=$(sysctl -n kernel.dmesg_restrict)
if [ $dmesg_restrict -eq 1 ]; then
files=("/etc/sysctl.conf" "/etc/sysctl.d/*" "/run/sysctl.d/*" "/usr/local/lib/sysctl.d/*" "/usr/lib/sysctl.d/*" "/lib/sysctl.d/*")
for file in "${files[@]}"; do
if [ -f "$file" ]; then
if ! grep -q "^kernel\.dmesg_restrict = 1$" "$file"; then
echo "FAIL"
exit 1
fi
fi
done
echo "PASS"
exit 0
fi
fi
echo "FAIL"
exit 1