Blindare SSH in 10 passi
1. Disabilitare login root
PermitRootLogin no
2. Solo chiavi, niente password
PasswordAuthentication no
PubkeyAuthentication yes
3. Limitare utenti
AllowUsers armando
AllowGroups sshusers
4. Porta custom
Port 2222
5. Protocollo e cifrari sicuri
KexAlgorithms curve25519-sha256
Ciphers aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
MACs hmac-sha2-256-etm@openssh.com
6. Timeout e limiti
ClientAliveInterval 300
ClientAliveCountMax 2
MaxAuthTries 3
MaxSessions 3
LoginGraceTime 30
7. Banner di avviso
Banner /etc/ssh/banner.txt
8. Disabilitare funzionalità inutili
X11Forwarding no
AllowAgentForwarding no
AllowTcpForwarding no
PermitTunnel no
9. Fail2Ban per SSH
[sshd]
enabled = true
maxretry = 3
bantime = 3600
10. Audit
# Verifica configurazione
sshd -T | grep -E "permit|password|allow|port"
# Test da Kali
nmap --script ssh-auth-methods -p 2222 target
Risultato: SSH blindato con superficie di attacco minimizzata.