Skip to content

Guide to the Secure Configuration of OpenEmbedded

Rules, Groups, and Values defined within the XCCDF Benchmark

  • Verify Owner on cron.d

    To properly set the owner of /etc/cron.d, run the command:
    $ sudo chown root /etc/cron.d 
    Rule Medium Severity
  • Verify Owner on cron.daily

    To properly set the owner of /etc/cron.daily, run the command:
    $ sudo chown root /etc/cron.daily 
    Rule Medium Severity
  • Verify Owner on cron.hourly

    To properly set the owner of /etc/cron.hourly, run the command:
    $ sudo chown root /etc/cron.hourly 
    Rule Medium Severity
  • Verify Owner on cron.monthly

    To properly set the owner of /etc/cron.monthly, run the command:
    $ sudo chown root /etc/cron.monthly 
    Rule Medium Severity
  • Verify Owner on cron.weekly

    To properly set the owner of /etc/cron.weekly, run the command:
    $ sudo chown root /etc/cron.weekly 
    Rule Medium Severity
  • Verify Owner on crontab

    To properly set the owner of /etc/crontab, run the command:
    $ sudo chown root /etc/crontab 
    Rule Medium Severity
  • Verify Permissions on cron.d

    To properly set the permissions of /etc/cron.d, run the command:
    $ sudo chmod 0700 /etc/cron.d
    Rule Medium Severity
  • Verify Permissions on cron.daily

    To properly set the permissions of /etc/cron.daily, run the command:
    $ sudo chmod 0700 /etc/cron.daily
    Rule Medium Severity
  • Verify Permissions on cron.hourly

    To properly set the permissions of /etc/cron.hourly, run the command:
    $ sudo chmod 0700 /etc/cron.hourly
    Rule Medium Severity
  • Configure low address space to protect from user allocation

    This is the portion of low virtual memory which should be protected from userspace allocation. This configuration is available from kernel 3.14, bu...
    Rule Medium Severity
  • Disable /dev/kmem virtual device support

    Disable support for the /dev/kmem device. The configuration that was used to build kernel is available at <code>/boot/config-*</code>. To chec...
    Rule Low Severity
  • Disable hibernation

    Enable the suspend to disk (STD) functionality, which is usually called "hibernation" in user interfaces. STD checkpoints the system and powers it ...
    Rule Medium Severity
  • Verify Permissions on cron.monthly

    To properly set the permissions of /etc/cron.monthly, run the command:
    $ sudo chmod 0700 /etc/cron.monthly
    Rule Medium Severity
  • Disable IA32 emulation

    Disables support for legacy 32-bit programs under a 64-bit kernel. The configuration that was used to build kernel is available at <code>/boot/con...
    Rule Medium Severity
  • Verify Permissions on cron.weekly

    To properly set the permissions of /etc/cron.weekly, run the command:
    $ sudo chmod 0700 /etc/cron.weekly
    Rule Medium Severity
  • Disable the IPv6 protocol

    Disable support for IP version 6 (IPv6). The configuration that was used to build kernel is available at <code>/boot/config-*</code>. To check...
    Rule Medium Severity
  • Verify Permissions on crontab

    To properly set the permissions of /etc/crontab, run the command:
    $ sudo chmod 0600 /etc/crontab
    Rule Medium Severity
  • Uninstall the telnet server

    The telnet daemon should be uninstalled.
    Rule High Severity
  • DHCP

    The Dynamic Host Configuration Protocol (DHCP) allows systems to request and obtain an IP address and other configuration parameters from a server....
    Group
  • Configure DHCP Client if Necessary

    If DHCP must be used, then certain configuration changes can minimize the amount of information it receives and applies from the network, and thus ...
    Group
  • Protect DNS Data from Tampering or Attack

    This section discusses DNS configuration options which make it more difficult for attackers to gain access to private DNS data or to modify DNS data.
    Group
  • Disable kexec system call

    <code>kexec</code> is a system call that implements the ability to shutdown your current kernel, and to start another kernel. It is like a reboot b...
    Rule Low Severity
  • Disable legacy (BSD) PTY support

    Disable the Linux traditional BSD-like terminal names /dev/ptyxx for masters and /dev/ttyxx for slaves of pseudo terminals, and use only the modern...
    Rule Medium Severity
  • Enable module signature verification

    Check modules for valid signatures upon load. Note that this option adds the OpenSSL development packages as a kernel build dependency so that the ...
    Rule Medium Severity
  • Enable automatic signing of all modules

    Sign all modules during make modules_install. Without this option, modules must be signed manually, using the scripts/sign-file tool. The configur...
    Rule Medium Severity
  • Require modules to be validly signed

    Reject unsigned modules or signed modules with an unknown key. The configuration that was used to build kernel is available at <code>/boot/config-...
    Rule Medium Severity
  • Accounts Authorized Local Users on the Operating System

    List the user accounts that are authorized locally on the operating system. This list includes both users requried by the operating system and by t...
    Value
  • Ensure All Accounts on the System Have Unique User IDs

    Change user IDs (UIDs), or delete accounts, so each has a unique name.
    Rule Medium Severity
  • Ensure All Groups on the System Have Unique Group ID

    Change the group name or delete groups, so each has a unique id.
    Rule Medium Severity
  • Ensure All Groups on the System Have Unique Group Names

    Change the group name or delete groups, so each has a unique name.
    Rule Medium Severity
  • Verify All Account Password Hashes are Shadowed

    If any password hashes are stored in <code>/etc/passwd</code> (in the second field, instead of an <code>x</code> or <code>*</code>), the cause of t...
    Rule Medium Severity
  • Ensure all users last password change date is in the past

    All users should have a password change date in the past.
    Rule Medium Severity
  • All GIDs referenced in /etc/passwd must be defined in /etc/group

    Add a group to the system for each GID referenced without a corresponding group.
    Rule Low Severity
  • Prevent Login to Accounts With Empty Password

    If an account is configured for password authentication but does not have an assigned password, it may be possible to log into the account without ...
    Rule High Severity
  • System Settings

    Contains rules that check correct system settings.
    Group
  • Installing and Maintaining Software

    The following sections contain information on security-relevant choices during the initial operating system installation process and the setup of s...
    Group
  • Prefer to use a 64-bit Operating System when supported

    Prefer installation of 64-bit operating systems when the CPU supports it.
    Rule Medium Severity
  • System and Software Integrity

    System and software integrity can be gained by installing antivirus, increasing system encryption strength with FIPS, verifying installed software,...
    Group
  • Software Integrity Checking

    Both the AIDE (Advanced Intrusion Detection Environment) software and the RPM package management system provide mechanisms for verifying the integr...
    Group
  • Integrity Scan Notification Email Address

    Specify the email address for designated personnel if baseline configurations are changed in an unauthorized manner.
    Value
  • fapolicyd Must be Configured to Limit Access to Users Home Folders

    fapolicyd needs be configured so that users cannot give access to their home folders to other users.
    Rule Medium Severity
  • Configure Periodic Execution of AIDE

    At a minimum, AIDE should be configured to run a weekly scan. To implement a daily execution of AIDE at 4:05am using cron, add the following line t...
    Rule Medium Severity
  • Federal Information Processing Standard (FIPS)

    The Federal Information Processing Standard (FIPS) is a computer security standard which is developed by the U.S. Government and industry working g...
    Group
  • System Cryptographic Policies

    Linux has the capability to centrally configure cryptographic polices. The command <code>update-crypto-policies</code> is used to set the policy ap...
    Group
  • SSH client RekeyLimit - size

    Specify the size component of the rekey limit. This limit signifies amount of data. After this amount of data is transferred through the connection...
    Value
  • SSH client RekeyLimit - time

    Specify the time component of the rekey limit. The session key is renegotiated after the defined amount of time passes. The number is followed by u...
    Value
  • The system-provided crypto policies

    Specify the crypto policy for the system.
    Value
  • Configure System Cryptography Policy

    To configure the system cryptography policy to use ciphers only from the <code><xccdf-1.2:sub idref="xccdf_org.ssgproject.content_value_var_system_...
    Rule High Severity
  • Harden SSH client Crypto Policy

    Crypto Policies are means of enforcing certain cryptographic settings for selected applications including OpenSSH client. To override the system wi...
    Rule Medium Severity
  • Disk Partitioning

    To ensure separation and protection of data, there are top-level system directories which should be placed on their own physical partition or logic...
    Group

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