Damcava35/deb12 scripts 3 (#279)

* add "apt_remove" in lib/utils.sh

in order to manage DEBIAN_FRONTEND

* feat: add new scripts for debian 12

- tftp_is_disabled              ->      2.1.16
- network_services_listening    ->      2.1.22
- use_time_sync                 ->      2.3.1.1
Update the existing script to check there is only one installed

- chrony_is_enabled_and_running ->      2.3.3.3

---------

Co-authored-by: damien cavagnini <damien.cavagnini@corp.ovh.com>
This commit is contained in:
damcav35
2025-08-06 16:50:52 +02:00
committed by GitHub
parent 4b9e7d0b33
commit b0e46dd658
13 changed files with 394 additions and 14 deletions

View File

@@ -6,7 +6,7 @@
#
#
# Ensure time synchronization is in use (Not Scored)
# Ensure a single time synchronization daemon is in use (Automated)
#
set -e # One error, it's over
@@ -15,28 +15,31 @@ set -u # One variable unset, it's over
# shellcheck disable=2034
HARDENING_LEVEL=3
# shellcheck disable=2034
DESCRIPTION="Ensure time synchronization is in use"
DESCRIPTION="Ensure a single time synchronization is in use"
PACKAGES="systemd-timesyncd ntp chrony"
# This function will be called if the script status is on enabled / audit mode
audit() {
FOUND=false
local count=0
for PACKAGE in $PACKAGES; do
is_pkg_installed "$PACKAGE"
if [ "$FNRET" = 0 ]; then
ok "Time synchronization is available through $PACKAGE"
FOUND=true
if [ "$FNRET" -eq 0 ]; then
count=$(("$count" + 1))
fi
done
if [ "$FOUND" = false ]; then
if [ "$count" -eq 0 ]; then
crit "None of the following time sync packages are installed: $PACKAGES"
elif [ "$count" -gt 1 ]; then
crit "Multiple time sync packages are installed, from $PACKAGES. Pick one and remove the others"
else
info "A single time sync package from $PACKAGES is installed"
fi
}
# This function will be called if the script status is on enabled mode
apply() {
:
info "This recommendation has to be reviewed and applied manually"
}
# This function will check config parameters required