Ubuntu 22.04 LTS must not assign an interactive login shell for system accounts.

STIG ID: UBTU-22-412040  |  SRG: SRG-OS-000445-GPOS-00199 |  Severity: medium (CAT II)  |  CCI: CCI-002696 |  Vulnerability Id: V-288817

Vulnerability Discussion

Ensuring shells are not given to system accounts upon login makes it more difficult for attackers to use system accounts.

Check

Verify Ubuntu 22.04 LTS system accounts do not have an interactive login shell with the following command:

Run the following command to list any system account (UID < 1000) that has an interactive shell, excluding authorized system utility accounts (root, sync, shutdown, halt):

$ awk -F: '(($3 > 0 && $3 < 1000) && $1 !~ /^(halt|sync|shutdown)$/ && $7 !~ /(nologin|false)$/) {print $1 ":" $3 ":" $7}' /etc/passwd

If the command returns any output, this is a finding.

Fix

Configure Ubuntu 22.04 LTS so that all noninteractive accounts on the system do not have an interactive shell assigned to them.

If the system account needs a shell assigned for mission operations, document the need with the information system security officer (ISSO).

Run the following command to disable the interactive shell for a specific noninteractive user account:

$ sudo usermod -s /usr/sbin/nologin <user>