AlmaLinux OS 9 must be configured so that all network connections associated with SSH traffic are terminated after 10 minutes of becoming unresponsive.

STIG ID: ALMA-09-040170  |  SRG: SRG-OS-000395-GPOS-00175 |  Severity: medium |  CCI: CCI-002891,CCI-001133,CCI-002361 |  Vulnerability Id: V-269419

Vulnerability Discussion

Terminating an unresponsive SSH session within a short time period reduces the window of opportunity for unauthorized personnel to take control of a management session enabled on the console or console port that has been left unattended. In addition, quickly terminating an idle SSH session will also free up resources committed by the managed network element.

Terminating network connections associated with communications sessions includes, for example, deallocating associated TCP/IP address/port pairs at the operating system level and deallocating networking assignments at the application level if multiple application sessions are using a single operating system-level network connection. This does not mean the operating system terminates all sessions or network access; it only ends the unresponsive session and releases the resources associated with that session.

Satisfies: SRG-OS-000395-GPOS-00175, SRG-OS-000163-GPOS-00072, SRG-OS-000279-GPOS-00109

Check

Verify that the "ClientAliveInterval" variable is set to a value of "600" or less and "ClientAliveCountMax" is set to "1" by performing the following command:

$ sshd -T | grep clientalive

clientaliveinterval 600
clientalivecountmax 1

If "ClientAliveInterval" does not have a value of "600" or less, or "ClientAliveCountMax" is not set to "1", this is a finding.

Fix

To configure the SSH server to terminate a user session automatically after the SSH client has become unresponsive, add or modify the following lines in "/etc/ssh/sshd_config":

ClientAliveInterval 600
ClientAliveCountMax 1

Alternatively, add the settings to an include file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file:

$ cat << EOF | tee /etc/ssh/sshd_config.d/clientalive.conf
ClientAliveInterval 600
ClientAliveCountMax 1
EOF

Restart the SSH daemon for the settings to take effect:

$ systemctl restart sshd.service