#!/bin/bash # SPDX-Version: 3.0 # SPDX-CreationInfo: 2025-06-17; WEIDNER, Marc S.; # SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.installer.git # SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; # SPDX-FileType: SOURCE # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework. # SPDX-PackageName: CISS.debian.installer # SPDX-Security-Contact: security@coresecret.eu guard_sourcing ####################################### # Hardening files and directories. # Globals: # None # Arguments: # None # Returns: # 0: on success ####################################### hardening_files() { declare var_bin="" var_binary="" chmod 0700 "${TARGET}/etc/cron.d" "${TARGET}/etc/cron.daily" "${TARGET}/etc/cron.hourly" "${TARGET}/etc/cron.monthly" \ "${TARGET}/etc/cron.weekly" chmod 0700 "${TARGET}/etc/sudoers.d" chmod 0700 "${TARGET}/etc/crontab" [[ -f "${TARGET}/etc/cron.deny" ]] && rm "${TARGET}/etc/cron.deny" rm -f "${TARGET}/etc/issue" "${TARGET}/etc/issue.net" install -m 0644 -o root -g root "${VAR_SETUP_PATH}/includes/target/etc/issue" "${TARGET}/etc/issue" install -m 0644 -o root -g root "${VAR_SETUP_PATH}/includes/target/etc/issue.net" "${TARGET}/etc/issue.net" install -d -m 0700 -o root -g root "${TARGET}/root/.ansible" for var_bin in as gcc g++ cc clang; do var_binary=$(readlink -f "${TARGET}/usr/bin/${var_bin}") || { do_log "info" "file_only" "4430() Binary: '${var_bin}' not found, skipping." continue } chmod 0700 "${var_binary}" || { do_log "info" "file_only" "4430() Binary chmod 0700: '${var_bin}' failed, skipping." } done guard_dir && return 0 } ### Prevents accidental 'unset -f'. # shellcheck disable=SC2034 readonly -f hardening_files # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh