diff --git a/arch-hardening.sh b/arch-hardening.sh index 66f7f1e..99c8102 100644 --- a/arch-hardening.sh +++ b/arch-hardening.sh @@ -16,6 +16,10 @@ EOL sudo pacman -S --noconfirm --needed syslog-ng sudo systemctl enable --now syslog-ng@default.service +# [NETW-2706] Ensure DNSSEC validation is enabled +echo 'DNSSEC=yes' | sudo tee -a /etc/systemd/resolved.conf > /dev/null +sudo systemctl restart systemd-resolved + # [USB-3000] Ensure USBGUARD is installed and configured sudo pacman -S --noconfirm --needed usbguard sudo usbguard generate-policy | sudo tee /etc/usbguard/rules.conf > /dev/null @@ -239,7 +243,7 @@ sudo tee /etc/issue > /dev/null <> /etc/pacman.conf' @@ -330,6 +334,11 @@ sudo sed -i 's/^PASS_MAX_DAYS.*/PASS_MAX_DAYS 90/' /etc/login.defs # [AUTH-9328] Ensure default user umask is 027 or more restrictive sudo sed -i 's/^UMASK.*/UMASK 027/' /etc/login.defs +if sudo grep -qE '^[[:space:]]*#?[[:space:]]*umask' /etc/bash.bashrc; then + sudo sed -i 's/^[[:space:]]*#\?[[:space:]]*umask.*/umask 027/' /etc/bash.bashrc +else + echo 'umask 027' | sudo tee -a /etc/bash.bashrc > /dev/null +fi if sudo grep -qE '^[[:space:]]*#?[[:space:]]*umask' /etc/profile; then sudo sed -i 's/^[[:space:]]*#\?[[:space:]]*umask.*/umask 027/' /etc/profile else @@ -372,9 +381,9 @@ EOL # To test # Function to create basic systemd hardening drop-in create_systemd_hardening () { - SERVICE="$1" - DROPIN="/etc/systemd/system/${SERVICE}.d" - sudo mkdir -p "$DROPIN" + SERVICE="$1" + DROPIN="/etc/systemd/system/${SERVICE}.d" + sudo mkdir -p "$DROPIN" sudo tee "$DROPIN/hardening.conf" > /dev/null <