Gestendo un server su Cloud Aruba ho dovuto aprire delle porte sul firewall del server stesso. Le guide di Aruba riguardano la versione 18.04 di Ubuntu, per cui ho pensato potesse essere utile aggiornare un po' i contenuti.
Tieni presente che la stessa guida può essere adattata ad aprire altri servizi, basterà adattare i numeri di porta e/o i protocolli.
Partiamo dall'immagine usata: Ubuntu 22.04 LTS Server edition. Il VPS server di Aruba, senza servizi di manutenzione, viene fornito così come viene fuori da un'installazione pulita di Ubuntu, quindi con tutte le porte chiuse ed il firewall che può essere gestito tramite ufw.
Volevo cambiare la porta di ascolto del demone SSH da quella standard (TCP 22) ad una più insolita per limitare almeno una parte dei tentativi di attacco sulla TCP 22, facendo sì che il firewall chiuda a prescindere ogni richiesta di accesso al servizio su quella porta senza allagare i log e senza appesantire il sistema.
Prima di tutto mi sono collegato in SSH con il server, con l’utente root. Successivamente sarebbe buona norma anche disattivare root in SSH e destinare un utente amministrativo al collegamento remoto. Quindi ho installato net-tools per avere a portata di mano l’utility netstat:
apt install net-tools
Il passo successivo è preparare il firewall ad accettare connessioni sulla nuova porta. Lo puoi fare digitando il comando:
ufw allow 22223
dove cambierai 22223 con il numero di porta che preferisci usare per il servizio.
Fatto questo ho aperto l’editor nano per modificare i parametri del demone:
nano /etc/ssh/sshd_config
Si aprirà il file di configurazione di SSH. Scorri con le freccette della tastiera fino a raggiungere la riga in cui è scritto #Port 22. Sempre con la tastiera, cancella il cancelletto e scrivi il numero di porta che vuoi usare. Alla fine la riga dovrebbe essere così: Port 22223 (sostituisci 22223 con quella che preferisci usare). Per salvare il file, premere CTRL + O e confermare con Invio. Per uscire, premere CTRL + X.
Ora riavviamo il servizio, ma facendo attenzione a non tagliarci fuori.
service sshd reload
Con questo comando riavviamo il servizio SSH senza che l’attuale connessione venga chiusa.
Apriamo una nuova connessione sulla porta desiderata, ad esempio:
ssh root@ip-del-server -P 22223
Se sei entrato e tutto è andato bene, non resta che chiudere definitivamente la 22 in ingresso. Prima di tutto vediamo quali regole ufw la tengono aperta:
ufw status numbered
Il risultato sarà un elenco di regole come il seguente:
To Action From -- ------ ---- [ 1] 22 ALLOW IN Anywhere [ 2] 22223 ALLOW IN Anywhere [ 3] 22 (v6) ALLOW IN Anywhere (v6) [ 4] 22223 (v6) ALLOW IN Anywhere (v6)
Dovremo cancellare le regole che riportano la porta 22. Con la configurazione sopra, ad esempio, cancelliamo la regola numero 1 con il seguente comando:
ufw delete 1
Poi rilanciamo il comando:
ufw status numbered
Che probabilmente darà un risultato simile al seguente
To Action From -- ------ ---- [ 1] 22223 ALLOW IN Anywhere [ 2] 22 (v6) ALLOW IN Anywhere (v6) [ 3] 22223 (v6) ALLOW IN Anywhere (v6)
Quindi cancelliamo l’ultima regola che, nell’esempio sopra, si fa con il comando:
ufw delete 2
Per controllare che tutto sia a posto rilanciamo il comando
ufw status numbered
che dovrebbe dare il risultato seguente:
To Action From -- ------ ---- [ 1] 22223 ALLOW IN Anywhere [ 2] 22223 (v6) ALLOW IN Anywhere (v6)
Per sicurezza ricolleghiamoci alla nuova porta, nell’esempio la 22223, per poi finire con il riavvio del server:
shutdown -r now
Al riavvio del server la nuova porta attenderà le connessioni SSH.
Alla prossima!