SSH (Secure Shell – shell sicura) è una funzionalità davvero interessante che permette di accedere tramite terminale a un PC Linux attraverso la rete oppure direttamente via Internet. Per quanto sia sorprendente questa tecnologia, però, ci sono alcuni problemi di sicurezza che rendono pericoloso l’utilizzo. Ecco perché, noi di ChimeraRevo abbiamo deciso di elencarvi 3 modi per proteggere un server SSH su Linux.
Cambiare la porta di connessione predefinita
Il modo più semplice e veloce per proteggere un server SSH è quello di modificare la porta utilizzata. Per impostazione predefinita, infatti, il server SSH viene eseguito sulla porta 22. Dunque, per modificarla, aprite il terminale e utilizzate il comando ssh user@indirizzo-ip-locale per accedere da remoto al computer. Ovviamente, sostituite indirizzo-ip-locale con l’IP della macchina.
Dopo aver effettuato l’accesso, passate da utente normale a root con su – o sudo -s. Ottenuto l’accesso come amministratore, aprite il file di configurazione di SSH nell’editor di testo Nano con nano /etc/ssh/sshd_config.
Nel passaggio successivo, scorrete il file di configurazione e individuate la voce Port 22. Rimuovete il simbolo # se c’è e cambiate 22 con un altro numero impostandone uno superiore a 100 o entro 1000.
Dopo aver modificato il numero della porta, salvate le modifiche con Ctrl+O e chiudete l’editor di testo con Ctrl+X. La modifica al file di configurazione non viene applicata immediatamente al server SSH ma dovrete riavviare manualmente il servizio. Per fare ciò, sempre da terminale, date il comando systemctl restart sshd.
Se il riavvio fallisce, una soluzione è quella di riavviare la macchina server SSH con reboot.
Fatto correttamente il riavvio, SSH non sarà più accessibile attraverso la porta 22, quindi la connessione richiederà di specificare manualmente la porta impostata. Per fare ciò, digitate ssh -p 1234 user@indirizzo-ip-locale nel terminale e naturalmente sostituite 1234 e indirizzo-ip-locale con il numero della porta impostata e l’indirizzo IP locale.
Disattivare il login tramite password
Fra i 3 modi per proteggere un server SSH su Linux vi consigliamo anche la rimozione del login tramite password passando invece all’accesso tramite chiave SSH. Si tratta di una password crittografata molto difficile da decifrare che permette di instaurare una sorta di rapporto di fiducia tra il server SSH e le macchine remote che dispongono di tale chiave.
Il primo passaggio da effettuare è quello di configurare una chiave SSH sul server. Se non sapete come procedere, prendete come riferimento la nostra guida dedicata che trovate qui sotto.
Fatta questa operazione, aprite il terminale, ottenete l’accesso come root con su – o sudo -s e dopodiché aprite il file di configurazione di SSH all’interno di Nano con nano /etc/ssh/sshd_config.
Per impostazione predefinita, i server SSH gestiscono l’autenticazione dell’utente tramite password. Per completare l’operazione, cercate nel file di configurazione SSH la voce PasswordAuthentication. Rimuovete il simbolo # presente dopo PasswordAuthentication e successivamente assicuratevi che ci sia la parola “no“.
A questo punto, salvate le modifiche al file di configurazione di SSH con Ctrl+O e chiudete Nano con Ctrl+X. Fatto ciò, riavviate SSHD per applicare le modifiche con il comando systemctl restart sshd. Se non usate systemd, riavviate con service ssh restart.
La prossima volta che la macchina remota tenta di accedere al server SSH, controllerà le chiavi e l’autorizzazione ad entrare senza utilizzare una password, ovviamente se è corretta.
Disattivare l’account di root
La disabilitazione dell’account di root sul server SSH è un altro modo per ridurre i danni che possono verificarsi quando un utente non autorizzato ottiene l’accesso. Dunque, per disattivare l’account root, è necessario che almeno un utente del server SSH sia in grado di ottenere l’accesso root tramite sudo.
Questo permetterà di ottenere l’accesso a livello di sistema se avete bisogno senza la password di root. Assicuratevi che gli utenti, che possono accedere ai privilegi di root tramite sudo, dispongano di una password sicura.
Detto ciò, per disabilitare l’account root, aprite il terminale e digitate sudo -s per ottenere i privilegi di superuser. Una volta ottenuti i permessi necessari, eseguite il comando passwd –lock root.
Dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram e seguici su Instagram. Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook.