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
if [ $(sysctl -n kernel.dmesg_restrict) -eq 1 ]; then
if [ ! -e /etc/sysctl.d/ ]; then mkdir /etc/sysctl.d/; fi
echo "kernel.dmesg_restrict = 1" > /etc/sysctl.d/99-dmesg-restrict.conf
if [ -f /etc/sysctl.conf ]; then
grep -q "^\\s*kernel\\.dmesg_restrict\\s*=\\s*1\\s*$" /etc/sysctl.conf || cat >> /etc/sysctl.conf <<EOF
kernel.dmesg_restrict = 1
EOF
fi
echo "PASS" && exit 0
fi
fi
echo "FAIL" && exit 1