| name | cis-ubuntu2004-v300-3-2-4 |
| description | Ensure sctp kernel module is not available |
| category | cis-networking |
| version | 3.0.0 |
| author | cyberstrike-official |
| tags | ["cis","ubuntu","linux","ubuntu-20.04","kernel-module"] |
| cis_id | 3.2.4 |
| cis_benchmark | CIS Ubuntu Linux 20.04 LTS Benchmark v3.0.0 |
| tech_stack | ["ubuntu","linux"] |
| cwe_ids | [] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
3.2.4 Ensure sctp kernel module is not available (Automated)
Profile
- Level 2 - Server
- Level 2 - Workstation
Description
The Stream Control Transmission Protocol (SCTP) is a transport layer protocol used to support message oriented communication, with several streams of messages in one connection. It serves a similar function as TCP and UDP, incorporating features of both. It is message-oriented like UDP, and ensures reliable in-sequence transport of messages with congestion control like TCP.
Rationale
- IF - the protocol is not being used, it is recommended that kernel module not be loaded, disabling the service to reduce the potential attack surface.
Impact
None expected if the SCTP protocol is not in use.
Audit Procedure
Command Line
Verify the sctp kernel module is not available on the system or has been disabled. This can be verified by performing the following or by running the audit script included below.
Run the following script to determine if the sctp kernel module is available on the system:
#!/usr/bin/env bash
{
l_mod_name="sctp" l_mod_type="net"
while IFS= read -r l_mod_path; do
if [ -d "$l_mod_path/${l_mod_name//\-/\/}" ] && [ -n "$(ls -A "$l_mod_path/${l_mod_name//\-/\/}")" ]; then
printf '%s\n' "$l_mod_name exists in $l_mod_path"
fi
done < <(readlink -f /usr/lib/modules/**/kernel/$l_mod_type || readlink -f
/lib/modules/**/kernel/$l_mod_type)
}
If nothing is returned, the sctp kernel module is not available on the system and no further audit steps are required.
Note: Some systems may include the sctp filesystem as part of the kernel opposed to being available as a kernel module. In this case, the above audit will not return anything. This is also considered a passing state.