
Ben tornati nella nostra serie. Dopo aver installato Debian 13, oggi rendiamo il nostro server più sicuro con configurazioni essenziali che proteggeranno i nostri dati da accessi non autorizzati.
Obiettivo della puntata: Implementare le fondamenta della sicurezza: firewall, aggiornamenti automatici, hardening degli accessi e configurazioni basilari per un server esposto a Internet.
1. Configurazione del firewall (UFW)
Un firewall è la prima linea di difesa. Debian include ufw (Uncomplicated Firewall), che semplifica la gestione di iptables.
Attivazione e configurazione base:
Verificare che ufw sia installato:
sudo apt install ufw
Impostare le policy di default (rifiutare tutto in entrata, permettere tutto in uscita):
sudo ufw default deny incoming sudo ufw default allow outgoing
Permettere SSH (assicuratevi di non bloccarvi fuori!):
sudo ufw allow ssh
Attivare il firewall:
sudo ufw enable
Verificare le regole:
sudo ufw status verbose
Attenzione: Assicuratevi di aver configurato l'accesso SSH correttamente prima di abilitare il firewall, altrimenti rischiate di bloccarvi fuori dal server!
2. Disabilitare l'accesso root via SSH
L'accesso diretto come root via SSH è un rischio per la sicurezza. Meglio disabilitarlo e usare sudo.
Modificare il file di configurazione SSH:
sudo nano /etc/ssh/sshd_config
Trovare la linea
#PermitRootLogin yes
e modificarla in:PermitRootLogin no
Riavviare il servizio SSH:
sudo systemctl restart ssh
Verificare di poter ancora accedere con il vostro utente normale prima di chiudere la sessione corrente
3. Aggiornamenti automatici di sicurezza
Mantenere il sistema aggiornato è cruciale per la sicurezza. Configuriamo aggiornamenti automatici:
Installare unattended-upgrades:
sudo apt install unattended-upgrades apt-listchanges
Abilitare gli aggiornamenti automatici:
sudo dpkg-reconfigure -plow unattended-upgrades
Selezionare "Yes" quando richiesto.
Configurare quali aggiornamenti applicare:
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Modificare le linee relevanti per abilitare gli aggiornamenti di sicurezza:
Unattended-Upgrade::Origins-Pattern { "origin=Debian,codename=${distro_codename},label=Debian-Security"; };
Verificare il funzionamento:
sudo unattended-upgrades --dry-run --debug
4. Configurare un firewall aggiuntivo con fail2ban
Fail2ban protegge da attacchi brute force monitorando i log e bloccando IP sospetti.
Installare fail2ban:
sudo apt install fail2ban
Creare una configurazione locale:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Modificare la configurazione base:
sudo nano /etc/fail2ban/jail.local
Cercare la sezione [sshd] e modificare:
[sshd] enabled = true port = ssh logpath = /var/log/auth.log maxretry = 3 bantime = 3600
Riavviare fail2ban:
sudo systemctl restart fail2ban
Verificare lo status:
sudo fail2ban-client status sshd
5. Hardening aggiuntivo
Disabilitare servizi non necessari:
sudo systemctl list-unit-files --state=enabled # Disabilitare servizi non necessari, ad esempio: sudo systemctl disable avahi-daemon
Configurare il motore di randomizzazione:
sudo apt install haveged sudo systemctl enable haveged
Controllare i permessi dei file sensibili:
sudo chmod 600 /etc/shadow sudo chmod 600 /etc/gshadow
6. Verifica della configurazione di sicurezza
Dopo tutte queste modifiche, verifichiamo che tutto funzioni correttamente:
Riavvio del server:
sudo reboot
Verifica di poter accedere via SSH con il proprio utente
Controllo dello stato dei servizi:
sudo systemctl status ufw sudo systemctl status fail2ban sudo systemctl status unattended-upgrades
Verifica degli aggiornamenti di sicurezza:
sudo unattended-upgrades --dry-run
Ricordate: La sicurezza non è un prodotto ma un processo. Queste configurazioni sono la base, ma dovrebbero essere integrate con monitoraggio regolare e aggiornamenti periodici.
Prepariamoci per la prossima puntata
Ora il nostro server ha una solida base di sicurezza. Nel prossimo articolo affronteremo l'accesso remoto sicuro con SSH, includendo:
Autenticazione con chiavi crittografiche invece delle password
Configurazione avanzata di SSH per maggiore sicurezza
Accesso tramite tunnel sicuri
Impostazione di una VPN domestica
Hai domande sulla sicurezza?
Lascia un commento qui sotto con i tuoi dubbi o esperienze, ti risponderò al più presto!
Prossima puntata: Accesso remoto sicuro con SSH - Autenticazione a chiavi e configurazioni avanzate
Non dimenticare di iscriverti alla newsletter per non perdere le prossime puntate!