.PHONY: postinstall utils hardening sys-tune postinstall: utils hardening sys-tune @echo "[INFO] Post-installazione completata." utils: @echo "[INFO] Installo utilità post-installazione..." @apt-get update @DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ vim tmux net-tools wget jq tree fail2ban software-properties-common \ htop lsof hardening: @echo "[INFO] Configuro auto-aggiornamenti di sicurezza, sysctl e Docker..." @DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends unattended-upgrades @printf 'APT::Periodic::Update-Package-Lists "1";\nAPT::Periodic::Unattended-Upgrade "1";\n' | tee /etc/apt/apt.conf.d/20auto-upgrades >/dev/null @mkdir -p /etc/sysctl.d @tee /etc/sysctl.d/99-hardening.conf >/dev/null <<'EOF' net.ipv4.conf.all.rp_filter=1 net.ipv4.tcp_syncookies=1 net.ipv4.icmp_echo_ignore_broadcasts=1 kernel.kptr_restrict=2 kernel.randomize_va_space=2 EOF @sysctl --system || true @mkdir -p /etc/docker @tee /etc/docker/daemon.json >/dev/null <<'EOF' { "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" }, "live-restore": true } EOF @systemctl reload docker || systemctl restart docker || true @mkdir -p /etc/fail2ban/jail.d @tee /etc/fail2ban/jail.d/sshd-local.conf >/dev/null <<'EOF' [sshd] enabled = true bantime = 1h findtime = 10m maxretry = 5 EOF @systemctl restart fail2ban || true sys-tune: @echo "[INFO] Configuro Fail2ban..." @systemctl enable fail2ban || true @systemctl restart fail2ban || true