C-0176 - Ensure that the --streaming-connection-idle-timeout argument is not set to 0
Prerequisites
Run Kubescape with host sensor (see here)
Framework
cis-eks-t1.2.0, cis-v1.23-t1.0.1, cis-aks-t1.2.0
Severity
Low
Description of the the issue
Setting idle timeouts ensures that you are protected against Denial-of-Service attacks, inactive connections and running out of ephemeral ports.
Note: By default, --streaming-connection-idle-timeout
is set to 4 hours which might be too high for your environment. Setting this as appropriate would additionally ensure that such streaming connections are timed out after serving legitimate use cases.
Related resources
What does this control test
Do not disable timeouts on streaming connections.
How to check it manually
Run the following command on each node:
ps -ef | grep kubelet
Verify that the --streaming-connection-idle-timeout
argument is not set to 0
.
If the argument is not present, and there is a Kubelet config file specified by --config
, check that it does not set streamingConnectionIdleTimeout
to 0.
Remediation
If using a Kubelet config file, edit the file to set streamingConnectionIdleTimeout
to a value other than 0.
If using command line arguments, edit the kubelet service file /etc/kubernetes/kubelet.conf
on each worker node and set the below parameter in KUBELET_SYSTEM_PODS_ARGS
variable.
--streaming-connection-idle-timeout=5m
Based on your system, restart the kubelet
service. For example:
systemctl daemon-reload
systemctl restart kubelet.service
Impact Statement
Long-lived connections could be interrupted.
Default Value
By default, --streaming-connection-idle-timeout
is set to 4 hours.
Example
No example
Updated about 2 months ago