CIS Ubuntu Benchmark

This document describes the level of compliance that Google Distributed Cloud has with the CIS Ubuntu Benchmark.

Access the benchmark

The CIS Ubuntu Benchmark is available on the CIS website.

Configuration profile

In the CIS Ubuntu Benchmark document, you can read about configuration profiles. The Ubuntu images used by Google Distributed Cloud are hardened to meet the Level 2 - Server profile.

Evaluation on Google Distributed Cloud

We use the following values to specify the status of Ubuntu recommendations in Google Distributed Cloud.

Status Description
Pass Complies with a benchmark recommendation.
Fail Does not comply with a benchmark recommendation.
Equivalent control Does not comply with the exact terms in a benchmark recommendation, but other mechanisms in Google Distributed Cloud provide equivalent security controls.
Depends on environment Google Distributed Cloud does not configure items related to a benchmark recommendation. Your configuration determines whether your environment complies with the recommendation.

Status of Google Distributed Cloud

The Ubuntu images used with Google Distributed Cloud are hardened to meet the CIS Level 2 - Server profile. The following table gives justifications for why Google Distributed Cloud components did not pass certain recommendations. Benchmarks that have a Passed status are not included in the following table.

1.32

Versions

This section refers to these versions:

Google Distributed Cloud version Ubuntu version CIS Ubuntu Benchmark version CIS level
1.32 22.04 LTS v1.0.0 Level 2 Server

Failed recommendations

The following table lists the recommendations for which Google Distributed Cloud deviates from the benchmark's recommendations. For each recommendation, we categorize the failure status, provide a justification for the failure, and list the affected components.

# Recommendation Status Justification Affected Components
1.1.2.1 Ensure /tmp Located On Separate Partition Fail Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.1.3.1 Ensure /var Located On Separate Partition Won't fix Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.1.4.1 Ensure /var/tmp Located On Separate Partition Won't fix Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.1.5.1 Ensure /var/log Located On Separate Partition Won't fix Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.1.6.1 Ensure /var/log/audit Located On Separate Partition Won't fix Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.1.7.1 Ensure /home Located On Separate Partition Won't fix Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.4.1 Set Boot Loader Password in grub2 Depends on Environment No root password is set on Ubuntu cloud images. All cluster nodes, Admin workstation, Seesaw
1.4.3 Ensure Authentication Required for Single User Mode Depends on Environment No root password is set on Ubuntu cloud images. All cluster nodes, Admin workstation, Seesaw
2.3.6 Uninstall rpcbind Package Failed rpcbind is installed on the Canonical cloud image, though it's not enabled by default. The rule is failing because it requires it to be not installed All cluster nodes Admin workstation, Seesaw
3.3.7 Enable Kernel Parameter to Use Reverse Path Filtering on all IPv4 Interfaces Depends on Environment Asynchronous routing and reverse path origination is a requirement for delivering cluster load balancing. All cluster nodes Seesaw
3.5.2.6 Set nftables configuration for loopback traffic Won't fix Anthos Network got affected by this rule. All cluster nodes, Admin workstation, Seesaw
3.5.2.8 Ensure nftables default deny firewall policy Depends on Environment It is recommended that Google Distributed Cloud be deployed on a private network with appropriate firewall protections. The required firewall rules can be found here. All cluster nodes, Admin workstation, Seesaw
4.2.3 Verify permissions of log files Fail This specific test is overly restrictive and unrealistic as many services may require a group to write log files. This item may be removed in a future benchmark. All cluster nodes, Admin workstation, Seesaw
5.2.18 Limit Users' SSH Access Depends on Environment This is not configured by default. All cluster nodes, Admin workstation, Seesaw
5.3.4 Ensure Users Re-Authenticate for Privilege Escalation - sudo Depends on Environment This is not configured by default. All cluster nodes, Admin workstation, Seesaw
5.5.1.2 Set Password Maximum Age Equivalent control VMs for Google Distributed Cloud rely on ssh key for user login, instead of using password All cluster nodes
6.1.10 Ensure All Files Are Owned by a User Fail Permissions have been left as default. All cluster nodes

Passed recommendations

The following table lists the recommendations for which Google Distributed Cloud complies with the benchmark's recommendations.

# Recommendation Severity Status
1.1.8.1 Add nodev Option to /dev/shm medium pass
1.1.8.2 Add noexec Option to /dev/shm medium pass
1.1.8.3 Add nosuid Option to /dev/shm medium pass
1.5.2 Package "prelink" Must not be Installed medium pass
1.5.3 Disable Apport Service unknown pass
1.5.4 Disable Core Dumps for All Users medium pass
1.5.4 Disable Core Dumps for SUID programs medium pass
1.6.1.1 Ensure AppArmor is installed medium pass
1.6.1.2 Ensure AppArmor is enabled in the bootloader configuration medium pass
1.6.1.4 Enforce all AppArmor Profiles medium pass
1.7.1 Modify the System Message of the Day Banner medium pass
1.7.3 Modify the System Login Banner for Remote Connections medium pass
1.7.4 Verify Group Ownership of Message of the Day Banner medium pass
1.7.4 Verify ownership of Message of the Day Banner medium pass
1.7.4 Verify permissions on Message of the Day Banner medium pass
1.7.5 Verify Group Ownership of System Login Banner medium pass
1.7.5 Verify ownership of System Login Banner medium pass
1.7.5 Verify permissions on System Login Banner medium pass
1.7.6 Verify Group Ownership of System Login Banner for Remote Connections medium pass
1.7.6 Verify ownership of System Login Banner for Remote Connections medium pass
1.7.6 Verify permissions on System Login Banner for Remote Connections medium pass
2.1.1.1 Install the systemd_timesyncd Service high pass
2.1.3.2 Enable systemd_timesyncd Service high pass
2.2.1 Remove the X Windows Package Group medium pass
2.2.10 Uninstall cyrus-imapd Package unknown pass
2.2.10 Uninstall dovecot Package unknown pass
2.2.11 Uninstall Samba Package unknown pass
2.2.12 Uninstall squid Package unknown pass
2.2.13 Uninstall net-snmp Package unknown pass
2.2.14 Uninstall the nis package low pass
2.2.15 Ensure Mail Transfer Agent is not Listening on any non-loopback Address medium pass
2.2.16 Uninstall rsync Package medium pass
2.2.2 Disable Avahi Server Software medium pass
2.2.2 Uninstall avahi Server Package medium pass
2.2.3 Disable the CUPS Service unknown pass
2.2.3 Uninstall CUPS Package unknown pass
2.2.4 Uninstall DHCP Server Package medium pass
2.2.5 Uninstall openldap-servers Package low pass
2.2.6 Uninstall nfs-kernel-server Package low pass
2.2.7 Uninstall bind Package low pass
2.2.8 Uninstall vsftpd Package high pass
2.2.9 Uninstall httpd Package unknown pass
2.2.9 Uninstall nginx Package unknown pass
2.3.3 Uninstall talk Package medium pass
2.3.5 Ensure LDAP client is not installed low pass
3.1.1, 3.1.5 Disable SSH Access via Empty Passwords high pass
3.1.1, 3.1.5 Disable SSH Root Login medium pass
3.1.1, 3.1.5 Verify Only Root Has UID 0 high pass
3.1.11 Set Interactive Session Timeout medium pass
3.1.11 Set SSH Client Alive Count Max medium pass
3.1.11 Set SSH Client Alive Interval medium pass
3.1.12 Disable Host-Based Authentication medium pass
3.1.12 Disable SSH Support for .rhosts Files medium pass
3.1.12 Do Not Allow SSH Environment Options medium pass
3.1.13, 3.13.10 Verify Permissions on SSH Server Private *_key Key Files medium pass
3.1.13, 3.13.10 Verify Permissions on SSH Server Public *.pub Key Files medium pass
3.1.13 Remove telnet Clients low pass
3.1.13 Uninstall rsh Package unknown pass
3.1.16 Deactivate Wireless Network Interfaces medium pass
3.1.20 Configure Accepting Router Advertisements on All IPv6 Interfaces medium pass
3.1.20 Configure Kernel Parameter for Accepting Secure Redirects By Default medium pass
3.1.20 Disable Accepting ICMP Redirects for All IPv4 Interfaces medium pass
3.1.20 Disable Accepting ICMP Redirects for All IPv6 Interfaces medium pass
3.1.20 Disable Accepting Router Advertisements on all IPv6 Interfaces by Default medium pass
3.1.20 Disable Kernel Parameter for Accepting ICMP Redirects by Default on IPv4 Interfaces medium pass
3.1.20 Disable Kernel Parameter for Accepting ICMP Redirects by Default on IPv6 Interfaces medium pass
3.1.20 Disable Kernel Parameter for Accepting Secure ICMP Redirects on all IPv4 Interfaces medium pass
3.1.20 Disable Kernel Parameter for Accepting Source-Routed Packets on all IPv4 Interfaces medium pass
3.1.20 Disable Kernel Parameter for Accepting Source-Routed Packets on all IPv6 Interfaces medium pass
3.1.20 Disable Kernel Parameter for Accepting Source-Routed Packets on IPv4 Interfaces by Default medium pass
3.1.20 Disable Kernel Parameter for Accepting Source-Routed Packets on IPv6 Interfaces by Default medium pass
3.1.20 Disable Kernel Parameter for Sending ICMP Redirects on all IPv4 Interfaces by Default medium pass
3.1.20 Disable Kernel Parameter for Sending ICMP Redirects on all IPv4 Interfaces medium pass
3.1.20 Enable Kernel Parameter to Ignore Bogus ICMP Error Responses on IPv4 Interfaces unknown pass
3.1.20 Enable Kernel Parameter to Ignore ICMP Broadcast Echo Requests on IPv4 Interfaces medium pass
3.1.20 Enable Kernel Parameter to Log Martian Packets on all IPv4 Interfaces unknown pass
3.1.20 Enable Kernel Parameter to Use Reverse Path Filtering on all IPv4 Interfaces by Default medium pass
3.1.20 Enable Kernel Parameter to Use Reverse Path Filtering on all IPv4 Interfaces medium pass
3.1.20 Enable Kernel Parameter to Use TCP Syncookies on Network Interfaces medium pass
3.1.20 Enable Kernel Parameter to Log Martian Packets on all IPv4 Interfaces by Default unknown pass
3.1.21 Disable Modprobe Loading of USB Storage Driver medium pass
3.1.7 Enable Randomized Layout of Virtual Address Space medium pass
3.1.7 Ensure auditd Collects File Deletion Events by User - rename medium pass
3.1.7 Ensure auditd Collects File Deletion Events by User - renameat medium pass
3.1.7 Ensure auditd Collects File Deletion Events by User - unlink medium pass
3.1.7 Ensure auditd Collects File Deletion Events by User - unlinkat medium pass
3.1.7 Ensure auditd Collects Information on Exporting to Media (successful) medium pass
3.1.7 Ensure auditd Collects Information on Kernel Module Loading - init_module medium pass
3.1.7 Ensure auditd Collects Information on Kernel Module Unloading - delete_module medium pass
3.1.7 Ensure auditd Collects Information on the Use of Privileged Commands - su medium pass
3.1.7 Ensure auditd Collects Information on the Use of Privileged Commands - sudo medium pass
3.1.7 Ensure auditd Collects Information on the Use of Privileged Commands - sudoedit medium pass
3.1.7 Ensure auditd Collects Information on the Use of Privileged Commands - umount medium pass
3.1.7 Ensure auditd Collects Information on the Use of Privileged Commands - unix_chkpwd medium pass
3.1.7 Ensure auditd Collects System Administrator Actions medium pass
3.1.7 Record Any Attempts to Run chcon medium pass
3.1.7 Record Attempts to Alter Logon and Logout Events - lastlog medium pass
3.1.7 Record Attempts to Alter Logon and Logout Events - tallylog medium pass
3.1.7 Record Attempts to Alter Process and Session Initiation Information medium pass
3.1.7 Record Attempts to Alter the localtime File medium pass
3.1.7 Record attempts to alter time through adjtimex medium pass
3.1.7 Record Attempts to Alter Time Through clock_settime medium pass
3.1.7 Record attempts to alter time through settimeofday medium pass
3.1.7 Record Attempts to Alter Time Through stime medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - chmod medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - chown medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - fchmod medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - fchmodat medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - fchown medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - fchownat medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - fremovexattr medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - fsetxattr medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - lchown medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - lremovexattr medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - lsetxattr medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - removexattr medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - setxattr medium pass
3.1.7 Record Events that Modify the System's Network Environment medium pass
3.1.7 Record Events that Modify User/Group Information - /etc/group medium pass
3.1.7 Record Events that Modify User/Group Information - /etc/gshadow medium pass
3.1.7 Record Events that Modify User/Group Information - /etc/passwd medium pass
3.1.7 Record Events that Modify User/Group Information - /etc/security/opasswd medium pass
3.1.7 Record Events that Modify User/Group Information - /etc/shadow medium pass
3.1.7 Record Unsuccessful Access Attempts to Files - creat medium pass
3.1.7 Record Unsuccessful Access Attempts to Files - ftruncate medium pass
3.1.7 Record Unsuccessful Access Attempts to Files - open medium pass
3.1.7 Record Unsuccessful Access Attempts to Files - openat medium pass
3.1.7 Record Unsuccessful Access Attempts to Files - truncate medium pass
3.1.8 Lock Accounts After Failed Password Attempts medium pass
3.1.8 Record Events that Modify the System's Mandatory Access Controls medium pass
3.1.8 Set Lockout Time for Failed Password Attempts medium pass
3.1.9 Enable SSH Warning Banner medium pass
3.1.9 Modify the System Login Banner medium pass
3.3.1, 3.3.2, 3.3.6 Enable auditd Service medium pass
3.3.1, 3.4.3 Make the auditd Configuration Immutable medium pass
3.3.1 Configure auditd admin_space_left Action on Low Disk Space medium pass
3.3.1 Configure auditd mail_acct Action on Low Disk Space medium pass
3.3.1 Configure auditd space_left Action on Low Disk Space medium pass
3.3.1 System Audit Logs Must Be Group Owned By Root medium pass
3.3.1 System Audit Logs Must Be Owned By Root medium pass
3.3.1 System Audit Logs Must Have Mode 0640 or Less Permissive medium pass
3.4.3 Disable RDS Support low pass
3.4.4 Disable TIPC Support low pass
3.4.5 Verify /boot/grub/grub.cfg Permissions medium pass
3.4.6 Disable DCCP Support medium pass
3.4.6 Disable Mounting of cramfs low pass
3.4.6 Disable Mounting of squashfs low pass
3.4.6 Disable Mounting of udf low pass
3.4.6 Disable SCTP Support medium pass
3.4.6 Disable the Automounter medium pass
3.5.1.2 Remove iptables-persistent Package medium pass
3.5.10 Verify All Account Password Hashes are Shadowed medium pass
3.5.2.1 Install nftables Package medium pass
3.5.2.10 Ensure nftables rules are permanent medium pass
3.5.2.4 Ensure a Table Exists for Nftables medium pass
3.5.2.5 Ensure Base Chains Exist for Nftables medium pass
3.5.2.9 Verify nftables Service is Enabled medium pass
3.5.3.1.1 Install iptables Package medium pass
3.5.3.1.3 Remove ufw Package medium pass
3.5.6 Set Account Expiration Following Inactivity medium pass
3.5.8 Limit Password Reuse medium pass
3.5.8 Set Password Minimum Age medium pass
3.5.8 Set Password Warning Age medium pass
4.1.1.1 Ensure the audit Subsystem is Installed medium pass
4.1.1.4 Extend Audit Backlog Limit for the Audit Daemon low pass
4.1.2.1 Configure auditd Max Log File Size medium pass
4.1.2.2 Configure auditd max_log_file_action Upon Reaching Maximum Log Size medium pass
4.1.3.12 Record Attempts to Alter Logon and Logout Events - faillog medium pass
4.1.3.16 Record Any Attempts to Run setfacl medium pass
4.1.3.17 Record Any Attempts to Run chacl medium pass
4.1.3.18 Ensure auditd Collects Information on the Use of Privileged Commands - usermod medium pass
4.1.3.19 Ensure auditd Collects Information on the Use of Privileged Commands - insmod medium pass
4.1.3.19 Ensure auditd Collects Information on the Use of Privileged Commands - modprobe medium pass
4.1.3.19 Ensure auditd Collects Information on the Use of Privileged Commands - rmmod medium pass
4.1.3.2 Record Events When Privileged Executables Are Run medium pass
4.1.3.3 Record Attempts to perform maintenance activities medium pass
4.1.4.10 Verify that audit tools are owned by group root medium pass
4.1.4.4 System Audit Logs Must Have Mode 0750 or Less Permissive medium pass
4.1.4.5 Verify Permissions on /etc/audit/auditd.conf medium pass
4.1.4.5 Verify Permissions on /etc/audit/rules.d/*.rules medium pass
4.1.4.6 Audit Configuration Files Must Be Owned By Root medium pass
4.1.4.7 Audit Configuration Files Must Be Owned By Group root medium pass
4.1.4.8 Verify that audit tools Have Mode 0755 or less medium pass
4.1.4.9 Verify that audit tools are owned by root medium pass
4.2.1.1.1 Install systemd-journal-remote Package medium pass
4.2.1.1.4 Disable systemd-journal-remote Socket medium pass
4.2.1.2 Enable systemd-journald Service medium pass
4.2.1.3 Ensure journald is configured to compress large log files medium pass
4.2.1.4 Ensure journald is configured to write log files to persistent disk medium pass
4.2.2.1 Ensure rsyslog is Installed medium pass
4.2.2.2 Enable rsyslog Service medium pass
4.2.2.4 Ensure rsyslog Default File Permissions Configured medium pass
4.2.2.7 Ensure rsyslog Does Not Accept Remote Messages Unless Acting As Log Server medium pass
5.1.1 Enable cron Service medium pass
5.1.2 Verify Group Who Owns Crontab medium pass
5.1.2 Verify Owner on crontab medium pass
5.1.2 Verify Permissions on crontab medium pass
5.1.3 Verify Group Who Owns cron.hourly medium pass
5.1.3 Verify Owner on cron.hourly medium pass
5.1.3 Verify Permissions on cron.hourly medium pass
5.1.4 Verify Group Who Owns cron.daily medium pass
5.1.4 Verify Owner on cron.daily medium pass
5.1.4 Verify Permissions on cron.daily medium pass
5.1.5 Verify Group Who Owns cron.weekly medium pass
5.1.5 Verify Owner on cron.weekly medium pass
5.1.5 Verify Permissions on cron.weekly medium pass
5.1.6 Verify Group Who Owns cron.monthly medium pass
5.1.6 Verify Owner on cron.monthly medium pass
5.1.6 Verify Permissions on cron.monthly medium pass
5.1.7 Verify Group Who Owns cron.d medium pass
5.1.7 Verify Owner on cron.d medium pass
5.1.7 Verify Permissions on cron.d medium pass
5.1.8 Ensure that /etc/cron.deny does not exist medium pass
5.1.8 Verify Group Who Owns /etc/cron.allow file medium pass
5.1.8 Verify Permissions on /etc/cron.allow file medium pass
5.1.8 Verify User Who Owns /etc/cron.allow file medium pass
5.1.9 Ensure that /etc/at.deny does not exist medium pass
5.1.9 Verify Group Who Owns /etc/at.allow file medium pass
5.1.9 Verify Permissions on /etc/at.allow file medium pass
5.1.9 Verify User Who Owns /etc/at.allow file medium pass
5.2.1 Verify Group Who Owns SSH Server config file medium pass
5.2.1 Verify Owner on SSH Server config file medium pass
5.2.1 Verify Permissions on SSH Server config file medium pass
5.2.12 Disable X11 Forwarding medium pass
5.2.13 Use Only Strong Ciphers medium pass
5.2.14 Use Only Strong MACs medium pass
5.2.15 Use Only Strong Key Exchange algorithms medium pass
5.2.16 Disable SSH TCP Forwarding medium pass
5.2.18 Set SSH authentication attempt limit medium pass
5.2.19 Ensure SSH MaxStartups is configured medium pass
5.2.20 Set SSH MaxSessions limit medium pass
5.2.21 Ensure SSH LoginGraceTime is configured medium pass
5.2.5 Set LogLevel to INFO low pass
5.2.6 Enable PAM medium pass
5.3.1 Install sudo Package medium pass
5.3.2 Ensure Only Users Logged In To Real tty Can Execute Sudo - sudo use_pty medium pass
5.3.3 Ensure Sudo Logfile Exists - sudo logfile low pass
5.3.5 Ensure Users Re-Authenticate for Privilege Escalation - sudo !authenticate medium pass
5.3.6 Require Re-Authentication When Using the sudo Command medium pass
5.3.7 Enforce Usage of pam_wheel with Group Parameter for su Authentication medium pass
5.3.7 Ensure the Group Used by pam_wheel Module Exists on System and is Empty medium pass
5.4.1 Ensure PAM Enforces Password Requirements - Authentication Retry Prompts Permitted Per-Session medium pass
5.4.1 Ensure PAM Enforces Password Requirements - Minimum Different Categories medium pass
5.4.1 Ensure PAM Enforces Password Requirements - Minimum Digit Characters medium pass
5.4.1 Ensure PAM Enforces Password Requirements - Minimum Length medium pass
5.4.1 Ensure PAM Enforces Password Requirements - Minimum Lowercase Characters medium pass
5.4.1 Ensure PAM Enforces Password Requirements - Minimum Special Characters medium pass
5.4.1 Ensure PAM Enforces Password Requirements - Minimum Uppercase Characters medium pass
5.4.1 Install pam_pwquality Package medium pass
5.4.2 Set Interval For Counting Failed Password Attempts medium pass
5.4.4 Set Password Hashing Algorithm in /etc/login.defs medium pass
5.5.1.1 Set Existing Passwords Minimum Age medium pass
5.5.1.2 Set Existing Passwords Maximum Age medium pass
5.5.1.5 Ensure all users last password change date is in the past medium pass
5.5.2 Ensure that System Accounts Do Not Run a Shell Upon Login medium pass
5.5.3 Verify Root Has A Primary GID 0 high pass
5.5.4 Ensure the Default Bash Umask is Set Correctly medium pass
5.5.4 Ensure the Default Umask is Set Correctly For Interactive Users medium pass
5.5.4 Ensure the Default Umask is Set Correctly in /etc/profile medium pass
5.5.4 Ensure the Default Umask is Set Correctly in login.defs medium pass
6.1.1 Verify Group Who Owns passwd File medium pass
6.1.1 Verify Permissions on passwd File medium pass
6.1.1 Verify User Who Owns passwd File medium pass
6.1.2 Verify Group Who Owns Backup passwd File medium pass
6.1.2 Verify Permissions on Backup passwd File medium pass
6.1.2 Verify User Who Owns Backup passwd File medium pass
6.1.3 Verify Group Who Owns group File medium pass
6.1.3 Verify Permissions on group File medium pass
6.1.3 Verify User Who Owns group File medium pass
6.1.4 Verify Group Who Owns Backup group File medium pass
6.1.4 Verify Permissions on Backup group File medium pass
6.1.4 Verify User Who Owns Backup group File medium pass
6.1.5 Verify Group Who Owns shadow File medium pass
6.1.5 Verify Permissions on shadow File medium pass
6.1.5 Verify User Who Owns shadow File medium pass
6.1.6 Verify Group Who Owns Backup shadow File medium pass
6.1.6 Verify Permissions on Backup shadow File medium pass
6.1.6 Verify User Who Owns Backup shadow File medium pass
6.1.7 Verify Group Who Owns gshadow File medium pass
6.1.7 Verify Permissions on gshadow File medium pass
6.1.7 Verify User Who Owns gshadow File medium pass
6.1.8 Verify Group Who Owns Backup gshadow File medium pass
6.1.8 Verify Permissions on Backup gshadow File medium pass
6.1.8 Verify User Who Owns Backup gshadow File medium pass
6.2.11 All Interactive Users Home Directories Must Exist medium pass
6.2.12 All Interactive User Home Directories Must Be Group-Owned By The Primary Group medium pass
6.2.12 All Interactive User Home Directories Must Be Owned By The Primary User medium pass
6.2.13 All Interactive User Home Directories Must Have mode 0750 Or Less Permissive medium pass
6.2.14 Verify No netrc Files Exist medium pass
6.2.15 Verify No .forward Files Exist medium pass
6.2.16 Remove Rsh Trust Files high pass
6.2.17 User Initialization Files Must Be Group-Owned By The Primary Group medium pass
6.2.17 User Initialization Files Must Be Owned By the Primary User medium pass
6.2.17 User Initialization Files Must Not Run World-Writable Programs medium pass
6.2.2 Ensure There Are No Accounts With Blank or Null Passwords high pass
6.2.3 All GIDs referenced in /etc/passwd must be defined in /etc/group low pass
6.2.4 Ensure shadow group is empty medium pass
6.2.5 Ensure All Accounts on the System Have Unique User IDs medium pass
6.2.6 Ensure All Groups on the System Have Unique Group ID medium pass
6.2.7 Ensure All Accounts on the System Have Unique Names medium pass
6.2.8 Ensure All Groups on the System Have Unique Group Names medium pass
6.2.9 Ensure that Root's Path Does Not Include Relative Paths or Null Directories unknown pass
6.2.9 Ensure that Root's Path Does Not Include World or Group-Writable Directories medium pass

Not applicable recommendations

The following table lists the recommendations that don't apply for Google Distributed Cloud.

# Recommendation Severity Status
1.1.2.2 Add nodev Option to /tmp medium notapplicable
1.1.2.3 Add noexec Option to /tmp medium notapplicable
1.1.2.4 Add nosuid Option to /tmp medium notapplicable
1.1.3.2 Add nodev Option to /var medium notapplicable
1.1.3.3 Add nosuid Option to /var medium notapplicable
1.1.4.2 Add noexec Option to /var/tmp medium notapplicable
1.1.4.3 Add nosuid Option to /var/tmp medium notapplicable
1.1.4.4 Add nodev Option to /var/tmp medium notapplicable
1.1.5.2 Add nodev Option to /var/log medium notapplicable
1.1.5.3 Add noexec Option to /var/log medium notapplicable
1.1.5.4 Add nosuid Option to /var/log medium notapplicable
1.1.6.2 Add noexec Option to /var/log/audit medium notapplicable
1.1.6.3 Add nodev Option to /var/log/audit medium notapplicable
1.1.6.4 Add nosuid Option to /var/log/audit medium notapplicable
1.1.7.2 Add nodev Option to /home unknown notapplicable
1.1.7.3 Add nosuid Option to /home medium notapplicable
1.10 Configure GNOME3 DConf User Profile high notapplicable
1.8.1 Remove the GDM Package Group medium notapplicable
1.8.10 Disable XDMCP in GDM high notapplicable
2.1.4.1 Configure server restrictions for ntpd medium notapplicable
2.1.4.3 Configure ntpd To Run As ntp User medium notapplicable
2.1.4.4 Enable the NTP Daemon high notapplicable
2.2.15 Disable Postfix Network Listening medium notapplicable
3.1.10 Enable GNOME3 Screensaver Lock After Idle Period medium notapplicable
3.1.10 Set GNOME3 Screensaver Lock Delay After Activation Period medium notapplicable
3.1.7 Disable GNOME3 Automount Opening medium notapplicable
3.1.7 Disable GNOME3 Automount running low notapplicable
3.1.7 Disable GNOME3 Automounting medium notapplicable
3.4.5 Set the UEFI Boot Loader Password high notapplicable
3.5.1.3 Verify ufw Enabled medium notapplicable
3.5.1.4 Set UFW Loopback Traffic medium notapplicable
3.5.1.6 Ensure ufw Firewall Rules Exist for All Open Ports medium notapplicable
3.5.1.7 Ensure ufw Default Deny Firewall Policy medium notapplicable
3.5.3.2.1 Set Default iptables Policy for Incoming Packets medium notapplicable
3.5.3.2.2 Set configuration for loopback traffic medium notapplicable
3.5.3.2.4 Ensure iptables Firewall Rules Exist for All Open Ports medium notapplicable
3.5.3.3.1 Set Default ip6tables Policy for Incoming Packets medium notapplicable
3.5.3.3.4 Ensure ip6tables Firewall Rules Exist for All Open Ports medium notapplicable

1.31

Versions

This section refers to these versions:

Google Distributed Cloud version Ubuntu version CIS Ubuntu Benchmark version CIS level
1.31 22.04 LTS v1.0.0 Level 2 Server

Failed recommendations

The following table lists the recommendations for which Google Distributed Cloud deviates from the benchmark's recommendations. For each recommendation, we categorize the failure status, provide a justification for the failure, and list the affected components.

# Recommendation Status Justification Affected Components
1.1.2.1 Ensure /tmp Located On Separate Partition Fail Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.1.3.1 Ensure /var Located On Separate Partition Won't fix Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.1.4.1 Ensure /var/tmp Located On Separate Partition Won't fix Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.1.5.1 Ensure /var/log Located On Separate Partition Won't fix Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.1.6.1 Ensure /var/log/audit Located On Separate Partition Won't fix Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.1.7.1 Ensure /home Located On Separate Partition Won't fix Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.4.1 Set Boot Loader Password in grub2 Depends on Environment No root password is set on Ubuntu cloud images. All cluster nodes, Admin workstation, Seesaw
1.4.3 Ensure Authentication Required for Single User Mode Depends on Environment No root password is set on Ubuntu cloud images. All cluster nodes, Admin workstation, Seesaw
2.3.6 Uninstall rpcbind Package Failed rpcbind is installed on the Canonical cloud image, though it's not enabled by default. The rule is failing because it requires it to be not installed All cluster nodes Admin workstation, Seesaw
3.3.7 Enable Kernel Parameter to Use Reverse Path Filtering on all IPv4 Interfaces Depends on Environment Asynchronous routing and reverse path origination is a requirement for delivering cluster load balancing. All cluster nodes Seesaw
3.5.2.6 Set nftables configuration for loopback traffic Won't fix Anthos Network got affected by this rule. All cluster nodes, Admin workstation, Seesaw
3.5.2.8 Ensure nftables default deny firewall policy Depends on Environment It is recommended that Google Distributed Cloud be deployed on a private network with appropriate firewall protections. The required firewall rules can be found here. All cluster nodes, Admin workstation, Seesaw
4.2.3 Verify permissions of log files Fail This specific test is overly restrictive and unrealistic as many services may require a group to write log files. This item may be removed in a future benchmark. All cluster nodes, Admin workstation, Seesaw
5.2.18 Limit Users' SSH Access Depends on Environment This is not configured by default. All cluster nodes, Admin workstation, Seesaw
5.3.4 Ensure Users Re-Authenticate for Privilege Escalation - sudo Depends on Environment This is not configured by default. All cluster nodes, Admin workstation, Seesaw
5.5.1.2 Set Password Maximum Age Equivalent control VMs for Google Distributed Cloud rely on ssh key for user login, instead of using password All cluster nodes
6.1.10 Ensure All Files Are Owned by a User Fail Permissions have been left as default. All cluster nodes

Passed recommendations

The following table lists the recommendations for which Google Distributed Cloud complies with the benchmark's recommendations.

# Recommendation Severity Status
1.1.8.1 Add nodev Option to /dev/shm medium pass
1.1.8.2 Add noexec Option to /dev/shm medium pass
1.1.8.3 Add nosuid Option to /dev/shm medium pass
1.5.2 Package "prelink" Must not be Installed medium pass
1.5.3 Disable Apport Service unknown pass
1.5.4 Disable Core Dumps for All Users medium pass
1.5.4 Disable Core Dumps for SUID programs medium pass
1.6.1.1 Ensure AppArmor is installed medium pass
1.6.1.2 Ensure AppArmor is enabled in the bootloader configuration medium pass
1.6.1.4 Enforce all AppArmor Profiles medium pass
1.7.1 Modify the System Message of the Day Banner medium pass
1.7.3 Modify the System Login Banner for Remote Connections medium pass
1.7.4 Verify Group Ownership of Message of the Day Banner medium pass
1.7.4 Verify ownership of Message of the Day Banner medium pass
1.7.4 Verify permissions on Message of the Day Banner medium pass
1.7.5 Verify Group Ownership of System Login Banner medium pass
1.7.5 Verify ownership of System Login Banner medium pass
1.7.5 Verify permissions on System Login Banner medium pass
1.7.6 Verify Group Ownership of System Login Banner for Remote Connections medium pass
1.7.6 Verify ownership of System Login Banner for Remote Connections medium pass
1.7.6 Verify permissions on System Login Banner for Remote Connections medium pass
2.1.1.1 Install the systemd_timesyncd Service high pass
2.1.3.2 Enable systemd_timesyncd Service high pass
2.2.1 Remove the X Windows Package Group medium pass
2.2.10 Uninstall cyrus-imapd Package unknown pass
2.2.10 Uninstall dovecot Package unknown pass
2.2.11 Uninstall Samba Package unknown pass
2.2.12 Uninstall squid Package unknown pass
2.2.13 Uninstall net-snmp Package unknown pass
2.2.14 Uninstall the nis package low pass
2.2.15 Ensure Mail Transfer Agent is not Listening on any non-loopback Address medium pass
2.2.16 Uninstall rsync Package medium pass
2.2.2 Disable Avahi Server Software medium pass
2.2.2 Uninstall avahi Server Package medium pass
2.2.3 Disable the CUPS Service unknown pass
2.2.3 Uninstall CUPS Package unknown pass
2.2.4 Uninstall DHCP Server Package medium pass
2.2.5 Uninstall openldap-servers Package low pass
2.2.6 Uninstall nfs-kernel-server Package low pass
2.2.7 Uninstall bind Package low pass
2.2.8 Uninstall vsftpd Package high pass
2.2.9 Uninstall httpd Package unknown pass
2.2.9 Uninstall nginx Package unknown pass
2.3.3 Uninstall talk Package medium pass
2.3.5 Ensure LDAP client is not installed low pass
3.1.1, 3.1.5 Disable SSH Access via Empty Passwords high pass
3.1.1, 3.1.5 Disable SSH Root Login medium pass
3.1.1, 3.1.5 Verify Only Root Has UID 0 high pass
3.1.11 Set Interactive Session Timeout medium pass
3.1.11 Set SSH Client Alive Count Max medium pass
3.1.11 Set SSH Client Alive Interval medium pass
3.1.12 Disable Host-Based Authentication medium pass
3.1.12 Disable SSH Support for .rhosts Files medium pass
3.1.12 Do Not Allow SSH Environment Options medium pass
3.1.13, 3.13.10 Verify Permissions on SSH Server Private *_key Key Files medium pass
3.1.13, 3.13.10 Verify Permissions on SSH Server Public *.pub Key Files medium pass
3.1.13 Remove telnet Clients low pass
3.1.13 Uninstall rsh Package unknown pass
3.1.16 Deactivate Wireless Network Interfaces medium pass
3.1.20 Configure Accepting Router Advertisements on All IPv6 Interfaces medium pass
3.1.20 Configure Kernel Parameter for Accepting Secure Redirects By Default medium pass
3.1.20 Disable Accepting ICMP Redirects for All IPv4 Interfaces medium pass
3.1.20 Disable Accepting ICMP Redirects for All IPv6 Interfaces medium pass
3.1.20 Disable Accepting Router Advertisements on all IPv6 Interfaces by Default medium pass
3.1.20 Disable Kernel Parameter for Accepting ICMP Redirects by Default on IPv4 Interfaces medium pass
3.1.20 Disable Kernel Parameter for Accepting ICMP Redirects by Default on IPv6 Interfaces medium pass
3.1.20 Disable Kernel Parameter for Accepting Secure ICMP Redirects on all IPv4 Interfaces medium pass
3.1.20 Disable Kernel Parameter for Accepting Source-Routed Packets on all IPv4 Interfaces medium pass
3.1.20 Disable Kernel Parameter for Accepting Source-Routed Packets on all IPv6 Interfaces medium pass
3.1.20 Disable Kernel Parameter for Accepting Source-Routed Packets on IPv4 Interfaces by Default medium pass
3.1.20 Disable Kernel Parameter for Accepting Source-Routed Packets on IPv6 Interfaces by Default medium pass
3.1.20 Disable Kernel Parameter for Sending ICMP Redirects on all IPv4 Interfaces by Default medium pass
3.1.20 Disable Kernel Parameter for Sending ICMP Redirects on all IPv4 Interfaces medium pass
3.1.20 Enable Kernel Parameter to Ignore Bogus ICMP Error Responses on IPv4 Interfaces unknown pass
3.1.20 Enable Kernel Parameter to Ignore ICMP Broadcast Echo Requests on IPv4 Interfaces medium pass
3.1.20 Enable Kernel Parameter to Log Martian Packets on all IPv4 Interfaces unknown pass
3.1.20 Enable Kernel Parameter to Use Reverse Path Filtering on all IPv4 Interfaces by Default medium pass
3.1.20 Enable Kernel Parameter to Use Reverse Path Filtering on all IPv4 Interfaces medium pass
3.1.20 Enable Kernel Parameter to Use TCP Syncookies on Network Interfaces medium pass
3.1.20 Enable Kernel Parameter to Log Martian Packets on all IPv4 Interfaces by Default unknown pass
3.1.21 Disable Modprobe Loading of USB Storage Driver medium pass
3.1.7 Enable Randomized Layout of Virtual Address Space medium pass
3.1.7 Ensure auditd Collects File Deletion Events by User - rename medium pass
3.1.7 Ensure auditd Collects File Deletion Events by User - renameat medium pass
3.1.7 Ensure auditd Collects File Deletion Events by User - unlink medium pass
3.1.7 Ensure auditd Collects File Deletion Events by User - unlinkat medium pass
3.1.7 Ensure auditd Collects Information on Exporting to Media (successful) medium pass
3.1.7 Ensure auditd Collects Information on Kernel Module Loading - init_module medium pass
3.1.7 Ensure auditd Collects Information on Kernel Module Unloading - delete_module medium pass
3.1.7 Ensure auditd Collects Information on the Use of Privileged Commands - su medium pass
3.1.7 Ensure auditd Collects Information on the Use of Privileged Commands - sudo medium pass
3.1.7 Ensure auditd Collects Information on the Use of Privileged Commands - sudoedit medium pass
3.1.7 Ensure auditd Collects Information on the Use of Privileged Commands - umount medium pass
3.1.7 Ensure auditd Collects Information on the Use of Privileged Commands - unix_chkpwd medium pass
3.1.7 Ensure auditd Collects System Administrator Actions medium pass
3.1.7 Record Any Attempts to Run chcon medium pass
3.1.7 Record Attempts to Alter Logon and Logout Events - lastlog medium pass
3.1.7 Record Attempts to Alter Logon and Logout Events - tallylog medium pass
3.1.7 Record Attempts to Alter Process and Session Initiation Information medium pass
3.1.7 Record Attempts to Alter the localtime File medium pass
3.1.7 Record attempts to alter time through adjtimex medium pass
3.1.7 Record Attempts to Alter Time Through clock_settime medium pass
3.1.7 Record attempts to alter time through settimeofday medium pass
3.1.7 Record Attempts to Alter Time Through stime medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - chmod medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - chown medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - fchmod medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - fchmodat medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - fchown medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - fchownat medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - fremovexattr medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - fsetxattr medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - lchown medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - lremovexattr medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - lsetxattr medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - removexattr medium pass
3.1.7 Record Events that Modify the System's Discretionary Access Controls - setxattr medium pass
3.1.7 Record Events that Modify the System's Network Environment medium pass
3.1.7 Record Events that Modify User/Group Information - /etc/group medium pass
3.1.7 Record Events that Modify User/Group Information - /etc/gshadow medium pass
3.1.7 Record Events that Modify User/Group Information - /etc/passwd medium pass
3.1.7 Record Events that Modify User/Group Information - /etc/security/opasswd medium pass
3.1.7 Record Events that Modify User/Group Information - /etc/shadow medium pass
3.1.7 Record Unsuccessful Access Attempts to Files - creat medium pass
3.1.7 Record Unsuccessful Access Attempts to Files - ftruncate medium pass
3.1.7 Record Unsuccessful Access Attempts to Files - open medium pass
3.1.7 Record Unsuccessful Access Attempts to Files - openat medium pass
3.1.7 Record Unsuccessful Access Attempts to Files - truncate medium pass
3.1.8 Lock Accounts After Failed Password Attempts medium pass
3.1.8 Record Events that Modify the System's Mandatory Access Controls medium pass
3.1.8 Set Lockout Time for Failed Password Attempts medium pass
3.1.9 Enable SSH Warning Banner medium pass
3.1.9 Modify the System Login Banner medium pass
3.3.1, 3.3.2, 3.3.6 Enable auditd Service medium pass
3.3.1, 3.4.3 Make the auditd Configuration Immutable medium pass
3.3.1 Configure auditd admin_space_left Action on Low Disk Space medium pass
3.3.1 Configure auditd mail_acct Action on Low Disk Space medium pass
3.3.1 Configure auditd space_left Action on Low Disk Space medium pass
3.3.1 System Audit Logs Must Be Group Owned By Root medium pass
3.3.1 System Audit Logs Must Be Owned By Root medium pass
3.3.1 System Audit Logs Must Have Mode 0640 or Less Permissive medium pass
3.4.3 Disable RDS Support low pass
3.4.4 Disable TIPC Support low pass
3.4.5 Verify /boot/grub/grub.cfg Permissions medium pass
3.4.6 Disable DCCP Support medium pass
3.4.6 Disable Mounting of cramfs low pass
3.4.6 Disable Mounting of squashfs low pass
3.4.6 Disable Mounting of udf low pass
3.4.6 Disable SCTP Support medium pass
3.4.6 Disable the Automounter medium pass
3.5.1.2 Remove iptables-persistent Package medium pass
3.5.10 Verify All Account Password Hashes are Shadowed medium pass
3.5.2.1 Install nftables Package medium pass
3.5.2.10 Ensure nftables rules are permanent medium pass
3.5.2.4 Ensure a Table Exists for Nftables medium pass
3.5.2.5 Ensure Base Chains Exist for Nftables medium pass
3.5.2.9 Verify nftables Service is Enabled medium pass
3.5.3.1.1 Install iptables Package medium pass
3.5.3.1.3 Remove ufw Package medium pass
3.5.6 Set Account Expiration Following Inactivity medium pass
3.5.8 Limit Password Reuse medium pass
3.5.8 Set Password Minimum Age medium pass
3.5.8 Set Password Warning Age medium pass
4.1.1.1 Ensure the audit Subsystem is Installed medium pass
4.1.1.4 Extend Audit Backlog Limit for the Audit Daemon low pass
4.1.2.1 Configure auditd Max Log File Size medium pass
4.1.2.2 Configure auditd max_log_file_action Upon Reaching Maximum Log Size medium pass
4.1.3.12 Record Attempts to Alter Logon and Logout Events - faillog medium pass
4.1.3.16 Record Any Attempts to Run setfacl medium pass
4.1.3.17 Record Any Attempts to Run chacl medium pass
4.1.3.18 Ensure auditd Collects Information on the Use of Privileged Commands - usermod medium pass
4.1.3.19 Ensure auditd Collects Information on the Use of Privileged Commands - insmod medium pass
4.1.3.19 Ensure auditd Collects Information on the Use of Privileged Commands - modprobe medium pass
4.1.3.19 Ensure auditd Collects Information on the Use of Privileged Commands - rmmod medium pass
4.1.3.2 Record Events When Privileged Executables Are Run medium pass
4.1.3.3 Record Attempts to perform maintenance activities medium pass
4.1.4.10 Verify that audit tools are owned by group root medium pass
4.1.4.4 System Audit Logs Must Have Mode 0750 or Less Permissive medium pass
4.1.4.5 Verify Permissions on /etc/audit/auditd.conf medium pass
4.1.4.5 Verify Permissions on /etc/audit/rules.d/*.rules medium pass
4.1.4.6 Audit Configuration Files Must Be Owned By Root medium pass
4.1.4.7 Audit Configuration Files Must Be Owned By Group root medium pass
4.1.4.8 Verify that audit tools Have Mode 0755 or less medium pass
4.1.4.9 Verify that audit tools are owned by root medium pass
4.2.1.1.1 Install systemd-journal-remote Package medium pass
4.2.1.1.4 Disable systemd-journal-remote Socket medium pass
4.2.1.2 Enable systemd-journald Service medium pass
4.2.1.3 Ensure journald is configured to compress large log files medium pass
4.2.1.4 Ensure journald is configured to write log files to persistent disk medium pass
4.2.2.1 Ensure rsyslog is Installed medium pass
4.2.2.2 Enable rsyslog Service medium pass
4.2.2.4 Ensure rsyslog Default File Permissions Configured medium pass
4.2.2.7 Ensure rsyslog Does Not Accept Remote Messages Unless Acting As Log Server medium pass
5.1.1 Enable cron Service medium pass
5.1.2 Verify Group Who Owns Crontab medium pass
5.1.2 Verify Owner on crontab medium pass
5.1.2 Verify Permissions on crontab medium pass
5.1.3 Verify Group Who Owns cron.hourly medium pass
5.1.3 Verify Owner on cron.hourly medium pass
5.1.3 Verify Permissions on cron.hourly medium pass
5.1.4 Verify Group Who Owns cron.daily medium pass
5.1.4 Verify Owner on cron.daily medium pass
5.1.4 Verify Permissions on cron.daily medium pass
5.1.5 Verify Group Who Owns cron.weekly medium pass
5.1.5 Verify Owner on cron.weekly medium pass
5.1.5 Verify Permissions on cron.weekly medium pass
5.1.6 Verify Group Who Owns cron.monthly medium pass
5.1.6 Verify Owner on cron.monthly medium pass
5.1.6 Verify Permissions on cron.monthly medium pass
5.1.7 Verify Group Who Owns cron.d medium pass
5.1.7 Verify Owner on cron.d medium pass
5.1.7 Verify Permissions on cron.d medium pass
5.1.8 Ensure that /etc/cron.deny does not exist medium pass
5.1.8 Verify Group Who Owns /etc/cron.allow file medium pass
5.1.8 Verify Permissions on /etc/cron.allow file medium pass
5.1.8 Verify User Who Owns /etc/cron.allow file medium pass
5.1.9 Ensure that /etc/at.deny does not exist medium pass
5.1.9 Verify Group Who Owns /etc/at.allow file medium pass
5.1.9 Verify Permissions on /etc/at.allow file medium pass
5.1.9 Verify User Who Owns /etc/at.allow file medium pass
5.2.1 Verify Group Who Owns SSH Server config file medium pass
5.2.1 Verify Owner on SSH Server config file medium pass
5.2.1 Verify Permissions on SSH Server config file medium pass
5.2.12 Disable X11 Forwarding medium pass
5.2.13 Use Only Strong Ciphers medium pass
5.2.14 Use Only Strong MACs medium pass
5.2.15 Use Only Strong Key Exchange algorithms medium pass
5.2.16 Disable SSH TCP Forwarding medium pass
5.2.18 Set SSH authentication attempt limit medium pass
5.2.19 Ensure SSH MaxStartups is configured medium pass
5.2.20 Set SSH MaxSessions limit medium pass
5.2.21 Ensure SSH LoginGraceTime is configured medium pass
5.2.5 Set LogLevel to INFO low pass
5.2.6 Enable PAM medium pass
5.3.1 Install sudo Package medium pass
5.3.2 Ensure Only Users Logged In To Real tty Can Execute Sudo - sudo use_pty medium pass
5.3.3 Ensure Sudo Logfile Exists - sudo logfile low pass
5.3.5 Ensure Users Re-Authenticate for Privilege Escalation - sudo !authenticate medium pass
5.3.6 Require Re-Authentication When Using the sudo Command medium pass
5.3.7 Enforce Usage of pam_wheel with Group Parameter for su Authentication medium pass
5.3.7 Ensure the Group Used by pam_wheel Module Exists on System and is Empty medium pass
5.4.1 Ensure PAM Enforces Password Requirements - Authentication Retry Prompts Permitted Per-Session medium pass
5.4.1 Ensure PAM Enforces Password Requirements - Minimum Different Categories medium pass
5.4.1 Ensure PAM Enforces Password Requirements - Minimum Digit Characters medium pass
5.4.1 Ensure PAM Enforces Password Requirements - Minimum Length medium pass
5.4.1 Ensure PAM Enforces Password Requirements - Minimum Lowercase Characters medium pass
5.4.1 Ensure PAM Enforces Password Requirements - Minimum Special Characters medium pass
5.4.1 Ensure PAM Enforces Password Requirements - Minimum Uppercase Characters medium pass
5.4.1 Install pam_pwquality Package medium pass
5.4.2 Set Interval For Counting Failed Password Attempts medium pass
5.4.4 Set Password Hashing Algorithm in /etc/login.defs medium pass
5.5.1.1 Set Existing Passwords Minimum Age medium pass
5.5.1.2 Set Existing Passwords Maximum Age medium pass
5.5.1.5 Ensure all users last password change date is in the past medium pass
5.5.2 Ensure that System Accounts Do Not Run a Shell Upon Login medium pass
5.5.3 Verify Root Has A Primary GID 0 high pass
5.5.4 Ensure the Default Bash Umask is Set Correctly medium pass
5.5.4 Ensure the Default Umask is Set Correctly For Interactive Users medium pass
5.5.4 Ensure the Default Umask is Set Correctly in /etc/profile medium pass
5.5.4 Ensure the Default Umask is Set Correctly in login.defs medium pass
6.1.1 Verify Group Who Owns passwd File medium pass
6.1.1 Verify Permissions on passwd File medium pass
6.1.1 Verify User Who Owns passwd File medium pass
6.1.2 Verify Group Who Owns Backup passwd File medium pass
6.1.2 Verify Permissions on Backup passwd File medium pass
6.1.2 Verify User Who Owns Backup passwd File medium pass
6.1.3 Verify Group Who Owns group File medium pass
6.1.3 Verify Permissions on group File medium pass
6.1.3 Verify User Who Owns group File medium pass
6.1.4 Verify Group Who Owns Backup group File medium pass
6.1.4 Verify Permissions on Backup group File medium pass
6.1.4 Verify User Who Owns Backup group File medium pass
6.1.5 Verify Group Who Owns shadow File medium pass
6.1.5 Verify Permissions on shadow File medium pass
6.1.5 Verify User Who Owns shadow File medium pass
6.1.6 Verify Group Who Owns Backup shadow File medium pass
6.1.6 Verify Permissions on Backup shadow File medium pass
6.1.6 Verify User Who Owns Backup shadow File medium pass
6.1.7 Verify Group Who Owns gshadow File medium pass
6.1.7 Verify Permissions on gshadow File medium pass
6.1.7 Verify User Who Owns gshadow File medium pass
6.1.8 Verify Group Who Owns Backup gshadow File medium pass
6.1.8 Verify Permissions on Backup gshadow File medium pass
6.1.8 Verify User Who Owns Backup gshadow File medium pass
6.2.11 All Interactive Users Home Directories Must Exist medium pass
6.2.12 All Interactive User Home Directories Must Be Group-Owned By The Primary Group medium pass
6.2.12 All Interactive User Home Directories Must Be Owned By The Primary User medium pass
6.2.13 All Interactive User Home Directories Must Have mode 0750 Or Less Permissive medium pass
6.2.14 Verify No netrc Files Exist medium pass
6.2.15 Verify No .forward Files Exist medium pass
6.2.16 Remove Rsh Trust Files high pass
6.2.17 User Initialization Files Must Be Group-Owned By The Primary Group medium pass
6.2.17 User Initialization Files Must Be Owned By the Primary User medium pass
6.2.17 User Initialization Files Must Not Run World-Writable Programs medium pass
6.2.2 Ensure There Are No Accounts With Blank or Null Passwords high pass
6.2.3 All GIDs referenced in /etc/passwd must be defined in /etc/group low pass
6.2.4 Ensure shadow group is empty medium pass
6.2.5 Ensure All Accounts on the System Have Unique User IDs medium pass
6.2.6 Ensure All Groups on the System Have Unique Group ID medium pass
6.2.7 Ensure All Accounts on the System Have Unique Names medium pass
6.2.8 Ensure All Groups on the System Have Unique Group Names medium pass
6.2.9 Ensure that Root's Path Does Not Include Relative Paths or Null Directories unknown pass
6.2.9 Ensure that Root's Path Does Not Include World or Group-Writable Directories medium pass

Not applicable recommendations

The following table lists the recommendations that don't apply for Google Distributed Cloud.

# Recommendation Severity Status
1.1.2.2 Add nodev Option to /tmp medium notapplicable
1.1.2.3 Add noexec Option to /tmp medium notapplicable
1.1.2.4 Add nosuid Option to /tmp medium notapplicable
1.1.3.2 Add nodev Option to /var medium notapplicable
1.1.3.3 Add nosuid Option to /var medium notapplicable
1.1.4.2 Add noexec Option to /var/tmp medium notapplicable
1.1.4.3 Add nosuid Option to /var/tmp medium notapplicable
1.1.4.4 Add nodev Option to /var/tmp medium notapplicable
1.1.5.2 Add nodev Option to /var/log medium notapplicable
1.1.5.3 Add noexec Option to /var/log medium notapplicable
1.1.5.4 Add nosuid Option to /var/log medium notapplicable
1.1.6.2 Add noexec Option to /var/log/audit medium notapplicable
1.1.6.3 Add nodev Option to /var/log/audit medium notapplicable
1.1.6.4 Add nosuid Option to /var/log/audit medium notapplicable
1.1.7.2 Add nodev Option to /home unknown notapplicable
1.1.7.3 Add nosuid Option to /home medium notapplicable
1.10 Configure GNOME3 DConf User Profile high notapplicable
1.8.1 Remove the GDM Package Group medium notapplicable
1.8.10 Disable XDMCP in GDM high notapplicable
2.1.4.1 Configure server restrictions for ntpd medium notapplicable
2.1.4.3 Configure ntpd To Run As ntp User medium notapplicable
2.1.4.4 Enable the NTP Daemon high notapplicable
2.2.15 Disable Postfix Network Listening medium notapplicable
3.1.10 Enable GNOME3 Screensaver Lock After Idle Period medium notapplicable
3.1.10 Set GNOME3 Screensaver Lock Delay After Activation Period medium notapplicable
3.1.7 Disable GNOME3 Automount Opening medium notapplicable
3.1.7 Disable GNOME3 Automount running low notapplicable
3.1.7 Disable GNOME3 Automounting medium notapplicable
3.4.5 Set the UEFI Boot Loader Password high notapplicable
3.5.1.3 Verify ufw Enabled medium notapplicable
3.5.1.4 Set UFW Loopback Traffic medium notapplicable
3.5.1.6 Ensure ufw Firewall Rules Exist for All Open Ports medium notapplicable
3.5.1.7 Ensure ufw Default Deny Firewall Policy medium notapplicable
3.5.3.2.1 Set Default iptables Policy for Incoming Packets medium notapplicable
3.5.3.2.2 Set configuration for loopback traffic medium notapplicable
3.5.3.2.4 Ensure iptables Firewall Rules Exist for All Open Ports medium notapplicable
3.5.3.3.1 Set Default ip6tables Policy for Incoming Packets medium notapplicable
3.5.3.3.4 Ensure ip6tables Firewall Rules Exist for All Open Ports medium notapplicable

1.30

Versions

This section refers to these versions:

Google Distributed Cloud version Ubuntu version CIS Ubuntu Benchmark version CIS level
1.30 22.04 LTS v1.0.0 Level 2 Server
# Recommendation Status Justification Affected Components
1.1.2.1 Ensure /tmp Located On Separate Partition Fail Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.1.3.1 Ensure /var Located On Separate Partition Won't fix Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.1.4.1 Ensure /var/tmp Located On Separate Partition Won't fix Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.1.5.1 Ensure /var/log Located On Separate Partition Won't fix Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.1.6.1 Ensure /var/log/audit Located On Separate Partition Won't fix Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.1.7.1 Ensure /home Located On Separate Partition Won't fix Canonical has no plan to modify the cloud image partitions at this time. All cluster nodes, Admin workstation, Seesaw
1.4.1 Set Boot Loader Password in grub2 Depends on Environment No root password is set on Ubuntu cloud images. All cluster nodes, Admin workstation, Seesaw
1.4.3 Ensure Authentication Required for Single User Mode Depends on Environment No root password is set on Ubuntu cloud images. All cluster nodes, Admin workstation, Seesaw
2.3.6 Uninstall rpcbind Package Failed rpcbind is installed on the Canonical cloud image, though it's not enabled by default. The rule is failing because it requires it to be not installed All cluster nodes Admin workstation, Seesaw
3.3.7 Enable Kernel Parameter to Use Reverse Path Filtering on all IPv4 Interfaces Depends on Environment Asynchronous routing and reverse path origination is a requirement for delivering cluster load balancing. All cluster nodes Seesaw
3.5.2.6 Set nftables configuration for loopback traffic Won't fix Anthos Network got affected by this rule. All cluster nodes, Admin workstation, Seesaw
3.5.2.8 Ensure nftables default deny firewall policy Depends on Environment It is recommended that Google Distributed Cloud be deployed on a private network with appropriate firewall protections. The required firewall rules can be found here. All cluster nodes, Admin workstation, Seesaw
4.2.3 Verify permissions of log files Fail This specific test is overly restrictive and unrealistic as many services may require a group to write log files. This item may be removed in a future benchmark. All cluster nodes, Admin workstation, Seesaw
5.2.18 Limit Users' SSH Access Depends on Environment This is not configured by default. All cluster nodes, Admin workstation, Seesaw
5.3.4 Ensure Users Re-Authenticate for Privilege Escalation - sudo Depends on Environment This is not configured by default. All cluster nodes, Admin workstation, Seesaw
5.5.1.2 Set Password Maximum Age Equivalent control VMs for Google Distributed Cloud rely on ssh key for user login, instead of using password All cluster nodes
6.1.10 Ensure All Files Are Owned by a User Fail Permissions have been left as default. All cluster nodes

Configure AIDE cron job

AIDE is a file integrity checking tool that verifies compliance with CIS L1 Server benchmark 1.4 Filesystem Integrity Checking. In Google Distributed Cloud, the AIDE process has been causing high resource usage issues.

The AIDE process on nodes is disabled by default to prevent resource issues. This will affect compliance with CIS L1 Server benchmark 1.4.2: Ensure filesystem integrity is regularly checked.

If you want to opt in to run the AIDE cron job, complete the following steps to re-enable AIDE:

  1. Create a DaemonSet.

    Here's a manifest for a DaemonSet:

    apiVersion: apps/v1
    kind: DaemonSet
    metadata:
    name: enable-aide-pool1
    spec:
    selector:
      matchLabels:
        app: enable-aide-pool1
    template:
      metadata:
        labels:
          app: enable-aide-pool1
      spec:
        hostIPC: true
        hostPID: true
        nodeSelector:
          cloud.google.com/gke-nodepool: pool-1
        containers:
        - name: update-audit-rule
          image: ubuntu
          command: ["chroot", "/host", "bash", "-c"]
          args:
          - |
            set -x
            while true; do
              # change daily cronjob schedule
              minute=30;hour=5
              sed -E "s/([0-9]+ [0-9]+)(.*run-parts --report \/etc\/cron.daily.*)/$minute $hour\2/g" -i /etc/crontab
    
              # enable aide
              chmod 755 /etc/cron.daily/aide
    
              sleep 3600
            done
          volumeMounts:
          - name: host
            mountPath: /host
          securityContext:
            privileged: true
        volumes:
        - name: host
          hostPath:
            path: /
    

    In the preceding manifest:

    • The AIDE cron job will only run on node pool pool-1 as specified by the nodeSelector cloud.google.com/gke-nodepool: pool-1. You can configure the AIDE process to run on as many node pools as you want by specifying the pools under the nodeSelector field. To run the same cron job schedule across different node pools, remove the nodeSelector field. However, to avoid host resource congestions, we recommend you maintain separate schedules.

    • The cron job is scheduled to run daily at 5:30am as specified by the configuration minute=30;hour=5. You can configure different schedules for the AIDE cron job as required.

  2. Copy the manifest to a file named enable-aide.yaml, and create the DaemonSet:

    kubectl apply --kubeconfig USER_CLUSTER_KUBECONFIG -f enable-aide.yaml
    

    where USER_CLUSTER_KUBECONFIG is the path of the kubeconfig file for your user cluster.