Lo sapevi?

Gestiamo autonomamente la nostra rete, in modo da ottimizzare le latenze, reagire velocemente in caso problemi e filtrare con più efficienza eventuali attacchi DDoS.

Come configurare un accesso SSH sicuro su VPS (chiavi SSH + hardening)

Estimated reading: 3 minutes 10 views

L’accesso SSH è il punto principale di ingresso in un VPS, rafforzarlo e renderlo sicuro è fondamentale per prevenire accessi non autorizzati da parte di malintenzionati.
In questa guida configureremo un accesso SSH sicuro tramite chiavi SSH e applicheremo alcune tecniche specifiche di hardening per aumentare la protezione del server.

Aggiornare il sistema

Prima di iniziare, aggiorna i pacchetti di sistema per avere le ultime patch di sicurezza.

				
					sudo apt update && sudo apt upgrade -y

				
			

Creare una coppia di chiavi SSH

Ora, invece del server, passeremo a utilizzare il terminale nel nostro computer locale.
Scrivi "cmd" nella barra di ricerca e apri il Promt dei Comandi.

Genera la chiave con il comando:

				
					ssh-keygen -t ed25519

				
			

Questo comando ti richiederà, in ordine:
- Il nome del file in cui salvare la chiave (es. nomechiave)
- Una passphrase (es. PasswordSicura123!)
- Una conferma della passphrase (es. PasswordSicura123)

Una volta terminato l'inserimento di tutti i dati avrai a tua disposizione:
- una chiave privata → ~/.ssh/nomechiave
- una chiave pubblica → ~/.ssh/nomechiave.pub

Caricare la chiave SSH sul server

Rimanendo nella console locale, carica la chiave pubblica nel server con:

				
					ssh-copy-id user@IP_DEL_SERVER

				
			

Se ssh-copy-id non è disponibile nel tuo computer:

				
					cat ~/.ssh/id_ed25519.pub | ssh user@IP_DEL_SERVER "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

				
			

Ora puoi accedere al server senza password:

				
					ssh-copy-id user@IP_DEL_SERVER

				
			

Disabilitare l’accesso SSH tramite password

Una volta verificato che l’accesso con chiave funziona, disabilita quello con password.

Spostiamoci nel terminale del server. Apri il file di configurazione SSH:

				
					sudo nano /etc/ssh/sshd_config

				
			

Modifica o controlla queste voci:

				
					PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
ChallengeResponseAuthentication no

				
			

Salva e riavvia il servizio:

				
					sudo systemctl restart ssh

				
			

Cambiare la porta SSH

Per un'ulteriore misura di sicurezza, consigliamo anche di modificare la porta di default per l'accesso SSH.

Apri di nuovo il file con il comando

				
					sudo nano /etc/ssh/sshd_config

				
			

Cambia il valore della stringa "Port: 22" con una porta che non utilizzi, per esempio 2222

Inoltre, dato che collegarsi al server con l'utente root è rischioso, suggeriamo di usare un utente normale + sudo.
Disabilita l'accesso a SSH con l'utente root verificando che nel file la voce "PermitRootLogin" sia impostato su "no".

Salva e riavvia il servizio:

				
					sudo systemctl restart ssh

				
			

Abilitare il firewall per SSH

Ora passiamo a un fattore altrettanto importante nell'ambito SSH, il firewall.

Abilitiamo l'accesso alla porta per accedere con il comando:

Su Ubuntu o Debian (UFW)

				
					sudo ufw allow 22/tcp

				
			

Su AlmaLinux o Centos (firewalld)

				
					sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --reload

				
			

Mentre se hai cambiato porta, sostituire il numero "22", con il numero inserito precedentemente nel file.

Cambia il valore della stringa "Port: 22" con una porta che non utilizzi, per esempio 2222

Limitare i tentativi di accesso con Fail2ban

Utilizzare Fail2ban riduce il rischio di attacchi brute-force.

Installiamo il pacchetto:

Su Ubuntu o Debian

				
					sudo apt install fail2ban -y

				
			

Su AlmaLinux o Centos

				
					sudo dnf install fail2ban -y

				
			

Apri e configura il file locale:

				
					sudo nano /etc/fail2ban/jail.local

				
			

Aggiungi le seguenti voci nel file appena aperto:

				
					[sshd]
enabled = true
maxretry = 5
bantime = 1h
findtime = 10m

				
			

Salva e riavvia il servizio:

				
					sudo systemctl restart fail2ban

				
			

Leave a Comment

Share this Doc

Come configurare un accesso SSH sicuro su VPS (chiavi SSH + hardening)

Or copy link

CONTENTS