Introduzione

Linux è considerato un sistema sicuro, è comunque consigliabile effettuare delle configurazioni specifiche per incrementare il livello di sicurezza del proprio sistema.

Ecco alcuni consigli per mettere in sicurezza Ubuntu.

Questa è una guida per migliorare la sicurezza del server di Ubuntu 18.04.

Creare una Copia di Chiavi RSA

Le chiavi SSH sono una implementazione della crittografia a chiavi pubbliche. Esse risolvono il problema degli attacchi di tipo brute-force sulle password rendendoli impraticabili. Le chiavi SSH forniscono un modo semplice e sicuro di accedere al tuo server e sono consigliate per tutti gli utenti.

Creare una copia di chiavi sul proprio computer, dal quale vi connetterete verso il server tramite SSH.

Da terminale dare il seguente comando:

ssh-keygen

Dovresti ricevere un messaggio di output simile al seguente:


Generating public/private rsa key pair.
Enter file in which to save the key (/tua_home/.ssh/id_rsa):

Premere Invio per salvare la coppia di chiavi nella cartella .ssh/, oppure specificare un percorso alternativo.

Se le chiavi erano già state generate, dovresti ricevere un messaggio di output simile al seguente:


/home/tua_home/.ssh/id_rsa already exists.
Overwrite (y/n)?

ATTENZIONE Se si sceglie di sovrascrivere la chiave su disco, non sarà più possibile effettuare l'autenticazione utilizzando la chiave precedente.

Successivamente, dovresti ricevere un messaggio di output simile al seguente:


Enter passphrase (empty for no passphrase):

Per una maggiore sicurezza è possibile inserire una passphrase sicura, che è altamente raccomandata. Una passphrase aggiunge un ulteriore livello di sicurezza per impedire agli utenti non autorizzati di effettuare l'accesso.

Successivamente, dovresti ricevere un messaggio di output simile al seguente:


Your identification has been saved in /tua_home/.ssh/id_rsa.
Your public key has been saved in /tua_home/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:3g8Vbc+Bb0Tb1Txb1Fh8dRQzehOkddxBqwVOdMnYC2g [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|            o+*^^|
|           Eo+X=^|
|          . .=+OB|
|             o*=o|
|        S   .. oo|
|       . . .  .  |
|        . o      |
|           o     |
|            .    |
+----[SHA256]-----+

Copiare la Chiave Pubblica sul Server Ubuntu

Il modo più rapido per copiare la tua chiave pubblica sull'host Ubuntu è utilizzare ssh-copy-id. Se non si dispone di ssh-copy-id sul computer client, è possibile utilizzare uno dei due metodi alternativi spiegati successivamente.

Per utilizzare ssh-copy-id, è sufficiente specificare l'host remoto a cui si desidera connettersi e l'account utente a cui si ha accesso tramite password SSH:

ssh-copy-id [email protected]_del_server_ubuntu

Potresti ricevere un messaggio di output simile al seguente:


The authenticity of host 'INDIRIZZO_IP (INDIRIZZO_IP)' can't be established.
ECDSA key fingerprint is SHA256:E3NlUzqo/QZm8PF1QD9grtkPm8NIzyp0wHfMZGB/t6M.
Are you sure you want to continue connecting (yes/no)? yes

Significa che il tuo computer locale non riconosce l'host remoto. Questo accadrà la prima volta che ti connetti a un nuovo host. Scrivi "yes" e premi INVIO per continuare.

Successivamente, l'utilità eseguirà la scansione del tuo account locale per la chiave id_rsa.pub che abbiamo creato in precedenza. Quando trova la chiave, ti chiederà la password dell'account dell'utente remoto.

Dovresti ricevere un messaggio di output simile al seguente:


/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]_IP's password:

Scrivere la password e premere INVIO. Verranno copiati i contenuti della tua chiave ~/.ssh/id_rsa.pub in un file nella directory home ~/.ssh dell'account remoto denominata authorized_keys.

Dovresti ricevere un messaggio di output simile al seguente:


Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]_IP'"
and check to make sure that only the key(s) you wanted were added.

Per maggiori informazioni, consultare l'articolo dedicato: Come impostare SSH Keys su Ubuntu 18.04 LTS

Installazione UFW Firewall

UFW (Uncomplicated firewall) è l'applicazione predefinita in Ubuntu per la configurazione del firewall.

UFW è installato di default su Ubuntu, se per qualche motivo è stato disinstallato, è possibile reinstallarlo con il seguente comando, da terminale:

sudo apt update
sudo apt install ufw

Abilitare le porte necessarie ad utilizzare la connessione tramite l'SSH:

sudo ufw allow ssh

sudo ufw allow http
Abilitare il firewall:

sudo ufw enable

Controllare lo stato del firewall.

sudo ufw status verbose

Per maggiori informazioni, consultare l'articolo dedicato: Come configurare UFW Firewall su Ubuntu 18.04 LTS

Configurare l'accesso SSH

Il modo migliore per proteggere SSH è utilizzare il login basato su chiave pubblica/privata. (Vedi il primo step di questo articolo)

Se è necessario utilizzare l'autenticazione della password, il modo più semplice per proteggere SSH è disabilitare l'accesso di root e cambiare la porta SSH in qualcosa di diverso rispetto alla porta standard 22.

Prima di disabilitare il login di root, creare un nuovo utente SSH e assicurati che l'utente appartenga al gruppo sudo.

Creare un nuovo utente:

adduser nuovoutente

Per impostazione predefinita, un nuovo utente è solo nel proprio gruppo, che viene creato al momento della creazione dell'account. Per aggiungere l'utente a un nuovo gruppo, possiamo usare il comando usermod:

usermod -aG sudo nuovoutente

L'opzione -aG serve per aggiungere l'utente al gruppo dichiarato prima del nome utente, in questo caso il gruppo è sudo.

Se si modifica la porta SSH mantenere il numero di porta inferiore a 1024 in quanto si tratta di porte privilegiate che possono essere aperte solo da root o da processi in esecuzione come root.

Se cambi la porta SSH, apri anche la nuova porta che hai scelto sul firewall e chiudi la porta 22.

Da terminale aprire il file di configurazione dell'SSH:

sudo vi /etc/ssh/sshd_config

Aggiungere o modificare le seguenti righe:


Port <INSERISCI LA PORTA CHE PREFERISCI>
Protocol 2
PermitRootLogin no
DebianBanner no

Salvare e chiudere il file.

Riavviare il servizio SSH:

sudo service ssh restart

Installare Fail2ban

Fail2ban estende il monitoraggio dei log ad altri servizi tra cui SSH, Apache, Courier, FTP e altro.
Fail2ban esegue la scansione dei file di registro e blocca in automatico gli IP che effettuano operazioni inaspettate, come per esempio: troppi errori di password.

Per maggiori informazioni, consultare l'articolo dedicato: Come configurare Fail2ban su Ubuntu 18.04 LTS

La configurazione di Ubuntu 18.04 LTS è terminata.