Facebook

Aumentiamo il livello di sicurezza del nostro VPS disabilitando l'uso della password via SSH

Disabilitare l’accesso con password per il protocollo SSH

Disabilitare l’accesso con password per il protocollo SSH

Seguendo il percorso intrapreso con i precedenti articoli, sulla messa in sicurezza di un VPS con sistema operativo Linux (trovi i link alle guide in fondo a questa pagina), andremo ora a modificare il servizio SSH in modo da non accettare richieste di accesso con l’inserimento di password. In questo modo si potrà accedere esclusivamente con l’utilizzo di chiavi SSH, aumentando intrinsecamente il livello di sicurezza del VPS.

Prerequisiti

  1. Un VPS con sistema operativo Linux
  2. Un utente con privilegi adeguati, ovvero sudo o direttamente root
  3. Un editor di testo, nel nostro esempio useremo nano
  4. Aver abilitato l'SSH all'utilizzo di chiavi cifrate

Modifica la configurazione del servizio SSH

Prima di iniziare con le modifiche, apri due sessioni SSH, in una eseguirai tutte le operazioni indicate, mentre l’altra sessione resterà aperta in caso d'emergenza (può essere utile per evitare di restare tagliati fuori se le modifiche fatte al file di configurazione risultino errate). Il file di configurazione del servizio ssh si trova in /etc/ssh/sshd_config, solo l’utente root può modificare questo file.

  1. Spostiamoci nella directory in cui si trova il file sshd_config

    $ cd /etc/ssh

  2. Facciamo una copia del file sshd_config in modo da poter ripristinare tutte le impostazioni modificate rapidamente

    $ sudo cp sshd_config sshd_config.orig

  3. A questo punto possiamo iniziare con la modifica della configurazione

    sudo nano sshd_config

All'interno del files tutto ciò che inizia con # (cancelletto), rappresenta un commento e viene ignorato all’avvio del servizio, allo stesso tempo però ci indica quale è il valore di default per quella determinata opzione. Ad esempio:

#Port 22 <- questa è la porta di default del servizio, ignorata
Port 4422 <- questa è la nuova porta, scelta da noi, utilizzata

Per impedire l’accesso con la password, dobbiamo trovare l'opzione PasswordAuthentication, eliminare il simbolo # e modificare il suo valore di default a no, oppure, se si preferisce, scrivere una nuova riga conservando intatto il valore precedente. Usando l’editor nano, abbiamo a disposizione una comoda funzionalità di ricerca, basterà premere i tasti CTRL+W per attivare nella parte bassa della finestra un campo nel quale possiamo inserire del testo da cercare, premendo INVIO inizierà la ricerca sul file.

Modifica del file /etc/ssh/sshd_config

Trovato il parametro PasswordAuthentication, puoi modificarlo:

# PasswordAuthentication yes
PasswordAuthentication no

Salva le modifiche fatte premendo i tasti CTRL+X, poi Y ed infine INVIO per accettare il nome del file che ci viene proposto.

  1. A questo punto bisogna rendere effettive le modifiche appena fatte, è quindi necessario riavviare il servizio ssh lanciando il comando

    $ sudo systemctl restart sshd

  2. Visto che non riceverai alcun output particolare a verifica dell'avvenuto riavvio del servizio, controlla quindi che si sia avviato correttamente (se il file sshd_config contiene errori, il servizio non si riavvierà)

    $ sudo systemctl status sshd
    Output:
    Riavvio del servizio SSH

Mai più password

Se la procedura è stata eseguita bene, potrai vedere alla voce "Active:" che il servizio è attivo e in esecuzione, con un rassicurante active (running). Ora puoi provare a connetterti, magari senza la chiave privata, in modo da sperimentre il fatto che il servizio SSH sul tuo VPS negherà fermamente l'accesso senza nemmeno chiedere nome utente o password.

utente_vps@ip_vps: Permission denied (publickey)

Indice  degli articoli

Articoli più recenti