Skip to content

Protection Profile for General Purpose Operating Systems

Rules and Groups employed by this XCCDF Profile

  • Perform general configuration of Audit for OSPP (ppc64le)

    Configure some basic <code>Audit</code> parameters specific for OSPP profile. In particular, configure <code>Audit</code> to watch for direct modif...
    Rule Medium Severity
  • Configure auditing of unsuccessful ownership changes

    Ensure that unsuccessful attempts to change an ownership of files or directories are audited. The following rules configure audit as described abo...
    Rule Medium Severity
  • Configure auditing of unsuccessful ownership changes (AArch64)

    Ensure that unsuccessful attempts to change an ownership of files or directories are audited. The following rules configure audit as described abo...
    Rule Medium Severity
  • Configure auditing of unsuccessful ownership changes (ppc64le)

    Ensure that unsuccessful attempts to change an ownership of files or directories are audited. The following rules configure audit as described abo...
    Rule Medium Severity
  • Configure auditing of successful ownership changes

    Ensure that successful attempts to change an ownership of files or directories are audited. The following rules configure audit as described above...
    Rule Medium Severity
  • Configure auditing of successful ownership changes (AArch64)

    Ensure that successful attempts to change an ownership of files or directories are audited. The following rules configure audit as described above...
    Rule Medium Severity
  • Configure auditing of successful ownership changes (ppc64le)

    Ensure that successful attempts to change an ownership of files or directories are audited. The following rules configure audit as described above...
    Rule Medium Severity
  • Configure auditing of unsuccessful permission changes

    Ensure that unsuccessful attempts to change file or directory permissions are audited. The following rules configure audit as described above: <pr...
    Rule Medium Severity
  • Configure auditing of unsuccessful permission changes (AArch64)

    Ensure that unsuccessful attempts to change file or directory permissions are audited. The following rules configure audit as described above: <pr...
    Rule Medium Severity
  • Configure auditing of unsuccessful permission changes (ppc64le)

    Ensure that unsuccessful attempts to change file or directory permissions are audited. The following rules configure audit as described above: <pr...
    Rule Medium Severity
  • Configure auditing of successful permission changes

    Ensure that successful attempts to modify permissions of files or directories are audited. The following rules configure audit as described above:...
    Rule Medium Severity
  • Configure auditing of successful permission changes (AArch64)

    Ensure that successful attempts to modify permissions of files or directories are audited. The following rules configure audit as described above:...
    Rule Medium Severity
  • Configure auditing of successful permission changes (ppc64le)

    Ensure that successful attempts to modify permissions of files or directories are audited. The following rules configure audit as described above:...
    Rule Medium Severity
  • GRUB2 bootloader configuration

    During the boot process, the boot loader is responsible for starting the execution of the kernel and passing options to it. The boot loader allows ...
    Group
  • Disable Recovery Booting

    Red Hat Enterprise Linux 9 systems support an "recovery boot" option that can be used to prevent services from being started. The <code>GRUB_DISABL...
    Rule Medium Severity
  • Configure kernel to zero out memory before allocation

    To configure the kernel to zero out memory before allocating it, add the <code>init_on_alloc=1</code> argument to the default GRUB 2 command line. ...
    Rule Medium Severity
  • Enable randomization of the page allocator

    To enable randomization of the page allocator in the kernel, add the <code>page_alloc.shuffle=1</code> argument to the default GRUB 2 command line....
    Rule Medium Severity
  • Ensure debug-shell service is not enabled during boot

    systemd's <code>debug-shell</code> service is intended to diagnose systemd related boot issues with various <code>systemctl</code> commands. Once e...
    Rule Medium Severity
  • Disable vsyscalls

    To disable use of virtual syscalls, add the argument <code>vsyscall=none</code> to the default GRUB 2 command line for the Linux operating system. ...
    Rule Medium Severity
  • UEFI GRUB2 bootloader configuration

    UEFI GRUB2 bootloader configuration
    Group
  • Set the UEFI Boot Loader Password

    The grub2 boot loader should have a superuser account and password protection enabled to protect boot-time settings. <br><br> Since plaintext passw...
    Rule High Severity
  • zIPL bootloader configuration

    During the boot process, the bootloader is responsible for starting the execution of the kernel and passing options to it. The default Red Hat Ente...
    Group
  • Enable Auditing to Start Prior to the Audit Daemon in zIPL

    To ensure all processes can be audited, even those which start prior to the audit daemon, check that all boot entries in <code>/boot/loader/entries...
    Rule Medium Severity
  • Extend Audit Backlog Limit for the Audit Daemon in zIPL

    To improve the kernel capacity to queue all log events, even those which start prior to the audit daemon, check that all boot entries in <code>/boo...
    Rule Medium Severity
  • Ensure all zIPL boot entries are BLS compliant

    Ensure that zIPL boot entries fully adheres to Boot Loader Specification (BLS) by checking that <code>/etc/zipl.conf</code> doesn't contain <code>i...
    Rule Medium Severity
  • Ensure zIPL bootmap is up to date

    Make sure that <code>/boot/bootmap</code> is up to date.<br> Every time a boot entry or zIPL configuration is changed <code>/boot/bootmap</code> ne...
    Rule Medium Severity
  • Configure kernel to zero out memory before allocation in zIPL

    To ensure that the kernel is configured to zero out memory before allocation, check that all boot entries in <code>/boot/loader/entries/*.conf</cod...
    Rule Medium Severity
  • Enable randomization of the page allocator in zIPL

    To enable the randomization of the page allocator in the kernel, check that all boot entries in <code>/boot/loader/entries/*.conf</code> have <code...
    Rule Medium Severity
  • Ensure debug-shell service is not enabled in zIPL

    systemd's <code>debug-shell</code> service is intended to diagnose systemd related boot issues with various <code>systemctl</code> commands. Once e...
    Rule Medium Severity
  • Network Configuration and Firewalls

    Most systems must be connected to a network of some sort, and this brings with it the substantial risk of network attack. This section discusses th...
    Group
  • firewalld

    The dynamic firewall daemon <code>firewalld</code> provides a dynamically managed firewall with support for network “zones” to assign a level of tr...
    Group
  • Inspect and Activate Default firewalld Rules

    Firewalls can be used to separate networks into different zones based on the level of trust the user has decided to place on the devices and traffi...
    Group
  • Install firewalld Package

    The firewalld package can be installed with the following command:
    $ sudo dnf install firewalld
    Rule Medium Severity
  • Verify firewalld Enabled

    The firewalld service can be enabled with the following command:
    $ sudo systemctl enable firewalld.service
    Rule Medium Severity
  • Uncommon Network Protocols

    The system includes support for several network protocols which are not commonly used. Although security vulnerabilities in kernel networking code ...
    Group
  • Disable CAN Support

    The Controller Area Network (CAN) is a serial communications protocol which was initially developed for automotive and is now also used in marine, ...
    Rule Medium Severity
  • Disable SCTP Support

    The Stream Control Transmission Protocol (SCTP) is a transport layer protocol, designed to support the idea of message-oriented communication, with...
    Rule Medium Severity
  • Disable TIPC Support

    The Transparent Inter-Process Communication (TIPC) protocol is designed to provide communications between nodes in a cluster. To configure the sys...
    Rule Low Severity
  • Wireless Networking

    Wireless networking, such as 802.11 (WiFi) and Bluetooth, can present a security risk to sensitive or classified systems and networks. Wireless net...
    Group
  • Disable Wireless Through Software Configuration

    If it is impossible to remove the wireless hardware from the device in question, disable as much of it as possible through software. The following ...
    Group
  • Disable Bluetooth Kernel Module

    The kernel's module loading system can be configured to prevent loading of the Bluetooth module. Add the following to the appropriate <code>/etc/mo...
    Rule Medium Severity
  • File Permissions and Masks

    Traditional Unix security relies heavily on file and directory permissions to prevent unauthorized users from reading or modifying files to which t...
    Group
  • Restrict Partition Mount Options

    System partitions can be mounted with certain options that limit what files on those partitions can do. These options are set in the <code>/etc/fst...
    Group
  • Add nodev Option to /var/log/audit

    The <code>nodev</code> mount option can be used to prevent device files from being created in <code>/var/log/audit</code>. Legitimate character and...
    Rule Medium Severity
  • Add noexec Option to /var/log/audit

    The <code>noexec</code> mount option can be used to prevent binaries from being executed out of <code>/var/log/audit</code>. Add the <code>noexec</...
    Rule Medium Severity
  • Add nosuid Option to /var/log/audit

    The <code>nosuid</code> mount option can be used to prevent execution of setuid programs in <code>/var/log/audit</code>. The SUID and SGID permissi...
    Rule Medium Severity
  • Restrict Programs from Dangerous Execution Patterns

    The recommendations in this section are designed to ensure that the system's features to protect against potentially dangerous program execution ar...
    Group
  • Disable storing core dumps

    The <code>kernel.core_pattern</code> option specifies the core dumpfile pattern name. It can be set to an empty string. In this case, the kernel be...
    Rule Medium Severity
  • Configure file name of core dumps

    To set the runtime status of the <code>kernel.core_uses_pid</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w kernel.core_u...
    Rule Medium Severity
  • Restrict Access to Kernel Message Buffer

    To set the runtime status of the <code>kernel.dmesg_restrict</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w kernel.dmesg...
    Rule Low Severity

The content of the drawer really is up to you. It could have form fields, definition lists, text lists, labels, charts, progress bars, etc. Spacing recommendation is 24px margins. You can put tabs in here, and can also make the drawer scrollable.

Capacity
Modules