113 lines
3.1 KiB
Bash
Executable File
113 lines
3.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# ©AngelaMos | 2026
|
|
# test_01_initial_setup.sh
|
|
#
|
|
# Tests for CIS Section 1 (Initial Setup) checks
|
|
#
|
|
# Uses pass and fail fixture directories to verify cramfs module
|
|
# detection (1.1.1), /tmp separate partition (1.2.1), /tmp mount
|
|
# options noexec/nosuid/nodev (1.2.2-1.2.4), ASLR enabled status
|
|
# (1.5.1), and core dump restrictions (1.5.2). Each test calls the
|
|
# corresponding check function against a fixture SYSROOT and asserts
|
|
# both the expected status and key evidence substrings.
|
|
#
|
|
# Connects to:
|
|
# checks/01_initial_setup.sh - check functions under test
|
|
# tests/test_helpers.sh - setup_test, assert_status,
|
|
# assert_evidence_contains
|
|
|
|
test_1_1_1_pass() {
|
|
CURRENT_TEST="test_1_1_1_pass"
|
|
setup_test "${PROJECT_DIR}/testdata/fixtures"
|
|
check_1_1_1
|
|
assert_status "1.1.1" "PASS"
|
|
assert_evidence_contains "1.1.1" "cramfs"
|
|
}
|
|
|
|
test_1_1_1_fail() {
|
|
CURRENT_TEST="test_1_1_1_fail"
|
|
setup_test "${PROJECT_DIR}/testdata/fixtures_fail"
|
|
check_1_1_1
|
|
assert_status "1.1.1" "FAIL"
|
|
assert_evidence_contains "1.1.1" "cramfs"
|
|
}
|
|
|
|
test_1_2_1_pass() {
|
|
CURRENT_TEST="test_1_2_1_pass"
|
|
setup_test "${PROJECT_DIR}/testdata/fixtures"
|
|
check_1_2_1
|
|
assert_status "1.2.1" "PASS"
|
|
assert_evidence_contains "1.2.1" "/tmp"
|
|
}
|
|
|
|
test_1_2_1_fail() {
|
|
CURRENT_TEST="test_1_2_1_fail"
|
|
setup_test "${PROJECT_DIR}/testdata/fixtures_fail"
|
|
check_1_2_1
|
|
assert_status "1.2.1" "FAIL"
|
|
assert_evidence_contains "1.2.1" "/tmp"
|
|
}
|
|
|
|
test_1_2_2_pass() {
|
|
CURRENT_TEST="test_1_2_2_pass"
|
|
setup_test "${PROJECT_DIR}/testdata/fixtures"
|
|
check_1_2_2
|
|
assert_status "1.2.2" "PASS"
|
|
assert_evidence_contains "1.2.2" "noexec"
|
|
}
|
|
|
|
test_1_2_2_fail() {
|
|
CURRENT_TEST="test_1_2_2_fail"
|
|
setup_test "${PROJECT_DIR}/testdata/fixtures_fail"
|
|
check_1_2_2
|
|
assert_status "1.2.2" "SKIP"
|
|
assert_evidence_contains "1.2.2" "/tmp"
|
|
}
|
|
|
|
test_1_2_3_pass() {
|
|
CURRENT_TEST="test_1_2_3_pass"
|
|
setup_test "${PROJECT_DIR}/testdata/fixtures"
|
|
check_1_2_3
|
|
assert_status "1.2.3" "PASS"
|
|
assert_evidence_contains "1.2.3" "nosuid"
|
|
}
|
|
|
|
test_1_2_4_pass() {
|
|
CURRENT_TEST="test_1_2_4_pass"
|
|
setup_test "${PROJECT_DIR}/testdata/fixtures"
|
|
check_1_2_4
|
|
assert_status "1.2.4" "PASS"
|
|
assert_evidence_contains "1.2.4" "nodev"
|
|
}
|
|
|
|
test_1_5_1_pass() {
|
|
CURRENT_TEST="test_1_5_1_pass"
|
|
setup_test "${PROJECT_DIR}/testdata/fixtures"
|
|
check_1_5_1
|
|
assert_status "1.5.1" "PASS"
|
|
assert_evidence_contains "1.5.1" "ASLR is fully enabled"
|
|
}
|
|
|
|
test_1_5_1_fail() {
|
|
CURRENT_TEST="test_1_5_1_fail"
|
|
setup_test "${PROJECT_DIR}/testdata/fixtures_fail"
|
|
check_1_5_1
|
|
assert_status "1.5.1" "FAIL"
|
|
assert_evidence_contains "1.5.1" "ASLR is disabled"
|
|
}
|
|
|
|
test_1_5_2_pass() {
|
|
CURRENT_TEST="test_1_5_2_pass"
|
|
setup_test "${PROJECT_DIR}/testdata/fixtures"
|
|
check_1_5_2
|
|
assert_status "1.5.2" "PASS"
|
|
assert_evidence_contains "1.5.2" "Core dumps restricted"
|
|
}
|
|
|
|
test_1_5_2_fail() {
|
|
CURRENT_TEST="test_1_5_2_fail"
|
|
setup_test "${PROJECT_DIR}/testdata/fixtures_fail"
|
|
check_1_5_2
|
|
assert_status "1.5.2" "FAIL"
|
|
}
|