Vulnerability Discussion
A session time-out lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, operating systems need to be able to identify when a user's session has idled and take action to initiate the session lock.
The session lock is implemented at the point where session activity can be determined and/or controlled.
Implementing session settings will have little value if a user is able to manipulate these settings from the defaults prescribed in the other requirements of this implementation guide.
Locking these settings from non-privileged users is crucial to maintaining a protected baseline.
Satisfies: SRG-OS-000029-GPOS-00010, SRG-OS-000031-GPOS-00012, SRG-OS-000480-GPOS-00227
Check
Verify the operating system prevents a user from overriding graphical user interfaces.
Note: This requirement assumes the use of the RHEL 8 default graphical user interface, Gnome Shell. If the system does not have any graphical user interface installed, this requirement is Not Applicable.
Determine which profile the system database is using with the following command:
$ sudo grep system-db /etc/dconf/profile/user
system-db:local
Check that graphical settings are locked from non-privileged user modification with the following command:
Note: The example below is using the database "local" for the system, so the path is "/etc/dconf/db/local.d". This path must be modified if a database other than "local" is being used.
$ sudo grep -i 'idle\|lock\|log\|user\|banner' /etc/dconf/db/local.d/locks/*
/org/gnome/desktop/session/idle-delay
/org/gnome/desktop/screensaver/lock-enabled
/org/gnome/desktop/screensaver/lock-delay
/org/gnome/settings-daemon/plugins/media-keys/logout
/org/gnome/login-screen/disable-user-list
/org/gnome/login-screen/banner-message-text
/org/gnome/login-screen/banner-message-enable
/org/gnome/desktop/lockdown/disable-lock-screen
If the command does not return at least the example result, this is a finding.
Fix
Configure the operating system to prevent a user from overriding settings for graphical user interfaces.
Create a database to contain the system-wide screensaver settings (if it does not already exist) with the following command:
Note: The example below is using the database "local" for the system, so if the system is using another database in "/etc/dconf/profile/user", the file should be created under the appropriate subdirectory.
$ sudo touch /etc/dconf/db/local.d/locks/session
Add the following settings to prevent non-privileged users from modifying them:
/org/gnome/desktop/session/idle-delay
/org/gnome/desktop/screensaver/lock-enabled
/org/gnome/desktop/screensaver/lock-delay
/org/gnome/settings-daemon/plugins/media-keys/logout
/org/gnome/login-screen/disable-user-list
/org/gnome/login-screen/banner-message-text
/org/gnome/login-screen/banner-message-enable
/org/gnome/desktop/lockdown/disable-lock-screen