Assicurare un server SSH non è mai stato così cruciale. Dopo aver completato un deploy, è fondamentale eseguire una serie di controlli per garantire che la configurazione sia sicura e resistente agli attacchi. In questo articolo, presenteremo una checklist di verifica post-deploy che include l'implementazione di Fail2Ban, la configurazione dei permessi dei file e l'assicurazione che tutto sia aggiornato. Ogni passo viene fornito con comandi specifici e giustificazioni per il loro utilizzo.
Prerequisiti
- Accesso come utente root o sudo sul server.
- SSH installato e configurato correttamente.
- Fail2Ban installato sul sistema.
- Conoscenza di base della gestione dei permessi dei file in Linux.
Step Numerati
1. Aggiornare i Pacchetti
È fondamentale tenere il sistema aggiornato per correggere vulnerabilità note.
sudo apt update && sudo apt upgrade -y
# Output: 0 aggiornamenti disponibili
Perché funziona: Aggiornamenti frequenti riducono il rischio di attacchi sfruttando vulnerabilità note.
2. Verificare il Servizio SSH
Controlla lo stato del servizio SSH per confermare che sia attivo e in ascolto sulla porta giusta.
sudo systemctl status ssh
# Output: ssh.service - OpenSSH Server Daemon
Perché funziona: Assicurarsi che il servizio SSH sia attivo è essenziale per la connettività remota.
3. Configurare Fail2Ban
Fail2Ban aiuta a proteggere il server da attacchi brute force. Configura le regole adeguate per SSH.
sudo nano /etc/fail2ban/jail.local
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 86400
# Output: Le regole di Fail2Ban sono state configurate correttamente.
Perché funziona: Limitare i tentativi di accesso riduce le possibilità di attacchi riusciti.
4. Controllare i Permessi dei File
Configura i permessi dei file in modo che solo gli utenti autorizzati possano accedere ai file sensibili.
sudo chmod 700 /path/to/private_key
# Output: I permessi del file sono stati modificati.
Perché funziona: I permessi rigorosi prevengono l'accesso non autorizzato ai file critici.
5. Implementare l'Autenticazione con Chiave Pubblica
Disabilita l'accesso con password e utilizza solo l'autenticazione con chiave pubblica.
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
sudo systemctl restart ssh
# Output: Il servizio SSH è stato riavviato correttamente.
Perché funziona: L'autenticazione con chiave pubblica è più sicura e difficile da compromettere rispetto alle password.
6. Controllare i Log di Fail2Ban
Verifica i log di Fail2Ban per assicurarti che stia funzionando correttamente e bloccando gli attacchi.
sudo fail2ban-client status sshd
# Output: Dettagli sul numero di IP bannati e sullo stato del servizio.
Perché funziona: Monitorare Fail2Ban permette di reagire rapidamente a eventuali attacchi.
Verifica Finale
Una volta completati questi passaggi, puoi eseguire un test di sicurezza sul tuo server SSH utilizzando strumenti di scansione come Nessus o OpenVAS. Questi strumenti possono aiutarti a identificare ulteriori vulnerabilità.
Troubleshooting
1. Impossibile connettersi via SSH
Messaggio di errore: "Connection timed out".
Cause: Il servizio SSH non è avviato o la porta è bloccata dal firewall.
Fix: Avviare il servizio SSH e controllare le regole del firewall.
2. Fail2Ban non sta bloccando gli IP
Messaggio di errore: "No jail found".
Cause: La configurazione di Fail2Ban non è corretta o il servizio non è attivo.
Fix: Verificare e correggere il file di configurazione e riavviare Fail2Ban.
3. Permessi file errati
Messaggio di errore: "Permission denied".
Cause: I permessi del file privato non sono impostati correttamente.
Fix: Eseguire il comando di modifica dei permessi come descritto nel passo 4.
Conclusione
Seguendo questa checklist post-deploy, puoi garantire una sicurezza robusta del tuo server SSH. La protezione di Fail2Ban, l'autenticazione a chiave pubblica e la gestione rigorosa dei permessi sono tutti strumenti essenziali per un ambiente sicuro. Come prossimo passo, considera di implementare un monitoraggio continuo delle prestazioni e della sicurezza del server.
Commenti (0)
Nessun commento ancora.
Segnala contenuto
Elimina commento
Eliminare definitivamente questo commento?
L'azione non si può annullare.