Skip to content

CIS Ubuntu 22.04 Level 1 Workstation Benchmark

Rules and Groups employed by this XCCDF Profile

  • Add noexec Option to /var/tmp

    The <code>noexec</code> mount option can be used to prevent binaries from being executed out of <code>/var/tmp</code>. Add the <code>noexec</code> option to the fourth column of <code>/etc/fstab</c...
    Rule Medium Severity
  • Add nosuid Option to /var/tmp

    The <code>nosuid</code> mount option can be used to prevent execution of setuid programs in <code>/var/tmp</code>. The SUID and SGID permissions should not be required in these world-writable direc...
    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 are activated. These protections are applied at the ...
    Group
  • Disable Core Dumps

    A core dump file is the memory image of an executable program when it was terminated by the operating system due to errant behavior. In most cases, only software developers legitimately need to acc...
    Group
  • Disable Core Dumps for All Users

    To disable core dumps for all users, add the following line to <code>/etc/security/limits.conf</code>, or to a file within the <code>/etc/security/limits.d/</code> directory: <pre>* hard core...
    Rule Medium Severity
  • Disable Core Dumps for SUID programs

    To set the runtime status of the <code>fs.suid_dumpable</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w fs.suid_dumpable=0</pre> To make sure that the setting is persisten...
    Rule Medium Severity
  • Enable ExecShield

    ExecShield describes kernel features that provide protection against exploitation of memory corruption errors such as buffer overflows. These features include random placement of the stack and othe...
    Group
  • Enable Randomized Layout of Virtual Address Space

    To set the runtime status of the <code>kernel.randomize_va_space</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w kernel.randomize_va_space=2</pre> To make sure that the se...
    Rule Medium Severity
  • Services

    The best protection against vulnerable software is running less software. This section describes how to review the software which Ubuntu 22.04 installs on a system and disable software which is not...
    Group
  • Apport Service

    The Apport service provides debugging and crash reporting features on Ubuntu distributions.
    Group
  • Disable Apport Service

    The Apport modifies certain kernel configuration values at runtime which may decrease the overall security of the system and expose sensitive data. The <code>apport</code> service can be disabled ...
    Rule Unknown Severity
  • Avahi Server

    The Avahi daemon implements the DNS Service Discovery and Multicast DNS protocols, which provide service and host discovery on a network. It allows a system to automatically identify resources on t...
    Group
  • Disable Avahi Server if Possible

    Because the Avahi daemon service keeps an open network port, it is subject to network attacks. Disabling it can reduce the system's vulnerability to such attacks.
    Group
  • Uninstall avahi Server Package

    If the system does not need to have an Avahi server which implements the DNS Service Discovery and Multicast DNS protocols, the avahi-autoipd and avahi packages can be uninstalled.
    Rule Medium Severity
  • Disable Avahi Server Software

    The avahi-daemon service can be disabled with the following command:
    $ sudo systemctl mask --now avahi-daemon.service
    Rule Medium Severity
  • Cron and At Daemons

    The cron and at services are used to allow commands to be executed at a later time. The cron service is required by almost all systems to perform necessary maintenance tasks, while at may or may no...
    Group
  • Enable cron Service

    The <code>crond</code> service is used to execute commands at preconfigured times. It is required by almost all systems to perform necessary maintenance tasks, such as notifying root of system acti...
    Rule Medium Severity
  • Verify Group Who Owns cron.d

    To properly set the group owner of /etc/cron.d, run the command:
    $ sudo chgrp root /etc/cron.d
    Rule Medium Severity
  • Verify Group Who Owns cron.daily

    To properly set the group owner of /etc/cron.daily, run the command:
    $ sudo chgrp root /etc/cron.daily
    Rule Medium Severity
  • Verify Group Who Owns cron.hourly

    To properly set the group owner of /etc/cron.hourly, run the command:
    $ sudo chgrp root /etc/cron.hourly
    Rule Medium Severity
  • Verify Group Who Owns cron.monthly

    To properly set the group owner of /etc/cron.monthly, run the command:
    $ sudo chgrp root /etc/cron.monthly
    Rule Medium Severity
  • Verify Group Who Owns cron.weekly

    To properly set the group owner of /etc/cron.weekly, run the command:
    $ sudo chgrp root /etc/cron.weekly
    Rule Medium Severity
  • Verify Group Who Owns Crontab

    To properly set the group owner of /etc/crontab, run the command:
    $ sudo chgrp root /etc/crontab
    Rule Medium Severity
  • 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
  • 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
  • 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
  • Verify Permissions on crontab

    To properly set the permissions of /etc/crontab, run the command:
    $ sudo chmod 0600 /etc/crontab
    Rule Medium Severity
  • Restrict at and cron to Authorized Users if Necessary

    The <code>/etc/cron.allow</code> and <code>/etc/at.allow</code> files contain lists of users who are allowed to use <code>cron</code> and at to delay execution of processes. If these files exist an...
    Group
  • Ensure that /etc/at.deny does not exist

    The file /etc/at.deny should not exist. Use /etc/at.allow instead.
    Rule Medium Severity
  • Ensure that /etc/cron.deny does not exist

    The file /etc/cron.deny should not exist. Use /etc/cron.allow instead.
    Rule Medium Severity
  • Verify Group Who Owns /etc/at.allow file

    If <code>/etc/at.allow</code> exists, it must be group-owned by <code>root</code>. To properly set the group owner of <code>/etc/at.allow</code>, run the command: <pre>$ sudo chgrp root /etc/at.al...
    Rule Medium Severity
  • Verify Group Who Owns /etc/cron.allow file

    If <code>/etc/cron.allow</code> exists, it must be group-owned by <code>crontab</code>. To properly set the group owner of <code>/etc/cron.allow</code>, run the command: <pre>$ sudo chgrp crontab ...
    Rule Medium Severity
  • Verify User Who Owns /etc/at.allow file

    If <code>/etc/at.allow</code> exists, it must be owned by <code>root</code>. To properly set the owner of <code>/etc/at.allow</code>, run the command: <pre>$ sudo chown root /etc/at.allow </pre> ...
    Rule Medium Severity
  • Verify User Who Owns /etc/cron.allow file

    If <code>/etc/cron.allow</code> exists, it must be owned by <code>root</code>. To properly set the owner of <code>/etc/cron.allow</code>, run the command: <pre>$ sudo chown root /etc/cron.allow </...
    Rule Medium Severity
  • Verify Permissions on /etc/at.allow file

    If <code>/etc/at.allow</code> exists, it must have permissions <code>0640</code> or more restrictive. To properly set the permissions of <code>/etc/at.allow</code>, run the command: <pre>$ sudo c...
    Rule Medium Severity
  • Verify Permissions on /etc/cron.allow file

    If <code>/etc/cron.allow</code> exists, it must have permissions <code>0640</code> or more restrictive. To properly set the permissions of <code>/etc/cron.allow</code>, run the command: <pre>$ su...
    Rule Medium Severity
  • Deprecated services

    Some deprecated software services impact the overall system security due to their behavior (leak of confidentiality in network exchange, usage as uncontrolled communication channel, risk associated...
    Group
  • Uninstall the nis package

    The support for Yellowpages should not be installed unless it is required.
    Rule Low Severity
  • DHCP

    The Dynamic Host Configuration Protocol (DHCP) allows systems to request and obtain an IP address and other configuration parameters from a server. <br> <br> This guide recommends configuring...
    Group
  • Disable DHCP Server

    The DHCP server <code>dhcpd</code> is not installed or activated by default. If the software was installed and activated, but the system does not need to act as a DHCP server, it should be disabled...
    Group
  • Uninstall DHCP Server Package

    If the system does not need to act as a DHCP server, the dhcp package can be uninstalled. The <code>isc-dhcp-server</code> package can be removed with the following command: <pre> $ apt-get remove...
    Rule Medium Severity
  • DNS Server

    Most organizations have an operational need to run at least one nameserver. However, there are many common attacks involving DNS server software, and this server software should be disabled on any ...
    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