debian-cis/tests/hardening/5.2.23_limit_ssh_max_sessions.sh

39 lines
1.4 KiB
Bash
Raw Normal View History

2020-12-22 14:42:45 +01:00
# shellcheck shell=bash
# run-shellcheck
test_audit() {
describe Running on blank host
register_test retvalshouldbe 0
dismiss_count_for_test
# shellcheck disable=2154
run blank "${CIS_CHECKS_DIR}/${script}.sh" --audit-all
2020-12-22 14:42:45 +01:00
echo "maxsessions 1" >>/etc/ssh/sshd_config
describe Running restrictive
register_test retvalshouldbe 0
register_test contain "[ OK ] 1 is lower than recommended 10"
run restrictive "${CIS_CHECKS_DIR}/${script}.sh" --audit-all
# delete last line
sed -i '$ d' /etc/ssh/sshd_config
echo "maxsessions 15" >>/etc/ssh/sshd_config
describe Running too permissive
register_test retvalshouldbe 1
register_test contain "[ KO ] 15 is higher than recommended 10"
run permissive "${CIS_CHECKS_DIR}/${script}.sh" --audit-all
2020-12-23 11:41:53 +01:00
describe Correcting situation
# `apply` performs a service reload after each change in the config file
# the service needs to be started for the reload to succeed
service ssh start
# if the audit script provides "apply" option, enable and run it
sed -i 's/audit/enabled/' "${CIS_CONF_DIR}/conf.d/${script}.cfg"
"${CIS_CHECKS_DIR}/${script}.sh" || true
2020-12-23 11:41:53 +01:00
describe Checking resolved state
register_test retvalshouldbe 0
register_test contain "[ OK ] ^maxsessions[[:space:]]*10 is present in /etc/ssh/sshd_config"
run resolved "${CIS_CHECKS_DIR}/${script}.sh" --audit-all
2020-12-22 15:58:10 +01:00
}