Come proteggere un server SSH

Come proteggere un server SSH

La protezione delle connessioni SSH ti aiuta a proteggere il tuo sistema Linux e i tuoi dati. Anche gli amministratori di sistema e gli utenti domestici devono proteggere i computer che si affacciano su Internet. Ecco 10 semplici modi per aiutarti a proteggere il tuo server SSH .

Alcune nozioni di base sulla sicurezza SSH

SSH sta per Secure Shell. Il protocollo SSH o lo strumento software consente agli amministratori di sistema e agli utenti di effettuare connessioni sicure a computer remoti utilizzando tale protocollo.

Il protocollo SSH è un protocollo crittografato progettato per fornire una connessione sicura su una rete non sicura come Internet. SSH in Linux è basato sulla versione portatile del progetto OpenSSH. È implementato in un classico modello client-server con un server SSH che accetta connessioni da client SSH. Il client viene utilizzato per connettersi al server ed esporre la sessione agli utenti remoti. Il server accetta la connessione e avvia la sessione.

Nella sua configurazione predefinita, il server SSH “ascolterà” le connessioni in entrata sul protocollo TCP (Transmission Control Protocol), porta 22. Poiché si tratta di una porta standardizzata e popolare, è un bersaglio per minacce e bot dannosi.

Gli autori malintenzionati lanciano bot che scansionano intervalli di indirizzi IP alla ricerca di porte aperte. Quindi sonda queste porte alla ricerca di vulnerabilità sfruttabili. Pensare che sono al sicuro, che ci siano molti obiettivi più grandi e migliori di me da prendere di mira da parte dei cattivi è completamente sbagliato. Questi robot non scelgono i loro obiettivi in ​​base ad alcun criterio, cercano solo un modo per penetrare nel sistema.

Sarai una vittima se non proteggi il tuo sistema.

Attrito di sicurezza

Un punto di attrito di sicurezza è qualsiasi situazione in cui l'attività principale viene impedita o ritardata a causa di requisiti di sicurezza.

Gli attriti legati alla sicurezza causano disagio (a qualsiasi livello) agli utenti e ad altri quando si implementano misure di sicurezza. Le persone nuove ai sistemi informatici potrebbero preoccuparsi se dovranno effettivamente inserire una password ogni volta che accedono al mainframe. Per loro, questa è anche una forma di attrito in termini di sicurezza.

L’introduzione di misure di sicurezza spesso comporterà qualche forma di attrito per alcune persone. Gli imprenditori devono pagare per queste misure. Gli utenti di computer potrebbero dover modificare abitudini o ricordare diverse informazioni di autenticazione, aggiungendo passaggi per connettersi con successo. Gli amministratori di sistema avranno ulteriore lavoro da svolgere per implementare e mantenere le nuove misure di sicurezza.

Rafforzare e bloccare un sistema operativo Linux o simile a Unix può essere rapido. Le misure di sicurezza qui indicate sono una serie di passaggi facili da seguire che miglioreranno la sicurezza del computer senza la necessità di applicazioni di terze parti e di un intervento approfondito del firewall .

Utilizza il protocollo SSH versione 2

Nel 2006, il protocollo SSH è stato aggiornato dalla versione 1 alla versione 2. Si tratta di un aggiornamento significativo. Sono presenti numerose modifiche e miglioramenti, in particolare nella crittografia e nella sicurezza, e la versione 2 non è retrocompatibile con la versione 1. Per impedire le connessioni dai client della versione 1, è possibile specificare che i computer accettino solo le connessioni dalla versione 2.

Per fare ciò, modifica il file /etc/ssh/sshd_config usando il seguente comando:

sudo gedit /etc/ssh/sshd_config

Come proteggere un server SSH

Aggiungi la seguente riga:

Protocol 2

Come proteggere un server SSH

E salva il file, quindi riavvia il processo del demone SSH utilizzando il seguente comando:

sudo systemctl restart sshd

Come proteggere un server SSH

Testa la nuova configurazione in azione passando a un'altra macchina e provando ad accedere tramite SSH alla macchina di prova. Utilizzeremo l'opzione -1 (protocollo 1) per forzare il comando ssh a utilizzare la versione 1 del protocollo.

ssh -1 [email protected]

Come proteggere un server SSH

Richiesta di connessione rifiutata. Assicurati di poter ancora connetterti al protocollo 2. Utilizzeremo -2 (protocollo 2) per testare.

ssh -2 [email protected]

Come proteggere un server SSH

Il fatto che il server SSH chieda una password è un segno positivo che la connessione è stata stabilita e che stai interagendo con il server. I moderni client SSH utilizzeranno per impostazione predefinita il protocollo 2, non è necessario specificare il protocollo 2 a condizione che il client sia aggiornato.

ssh [email protected]

Come proteggere un server SSH

La connessione è stata accettata.

Evita il cancello 22

La porta 22 è la porta standard per le connessioni SSH. Se viene utilizzata una porta diversa, aggiunge un po' di Security Through Obscurity (STO) al tuo sistema. La sicurezza attraverso l’ambiguità non dovrebbe mai essere considerata una vera misura di sicurezza. In effetti, alcuni bot di attacco più intelligenti sondano tutte le porte aperte e decidono quale servizio stanno eseguendo, invece di fare affidamento su un semplice elenco di ricerca di porte e presumere che forniscano un servizio normalmente. Ma l'utilizzo di una porta non standard può aiutare a ridurre il traffico dannoso sulla porta 22.

Per configurare una porta non standard, modifica il file di configurazione SSH come sopra.

Come proteggere un server SSH

Elimina il # all'inizio della riga del Porto e sostituisci 22 con il numero che preferisci. Salvare il file di configurazione e riavviare il demone SSH.

Su un altro computer utilizzeremo il comando ssh per connetterci al server. Il comando ssh predefinito utilizza la porta 22:

ssh [email protected]

Come proteggere un server SSH

Connessione rifiutata. Riprovare e specificare la porta 470 utilizzando l' opzione –p (porta):

ssh -p 479 [email protected]

Come proteggere un server SSH

Connessione confermata.

Connetti il ​​filtro utilizzando i wrapper TCP

I wrapper TCP sono un elenco di controllo degli accessi di facile comprensione. Ti consente di negare e consentire connessioni in base alle caratteristiche della richiesta di connessione come indirizzo IP o nome host. I wrapper TCP devono essere utilizzati con, e non al posto di, un firewall adeguatamente configurato.

TCP Wrappers è preinstallato sulle macchine Ubuntu 18.04 LTS . Deve essere installato su Manjaro 18.10 e Fedora 30.

Per installare su Fedora, utilizzare il seguente comando:

sudo yum install tcp_wrappers

Come proteggere un server SSH

Per installare su Manjaro, usa questo comando:

sudo pacman -Syu tcp-wrappers

Come proteggere un server SSH

Sono inclusi due file, un file contiene l'elenco di consentiti e un file contiene l'elenco di rifiuti. Modifica l'elenco dei rifiuti utilizzando il seguente comando:

sudo gedit /etc/hosts.deny

Come proteggere un server SSH

Il comando precedente aprirà l'editor gedit con il file che si rifiuterà di caricarsi al suo interno.

Come proteggere un server SSH

È necessario aggiungere la riga:

ALL : ALL

E salva il file. Questa linea bloccherà tutti gli accessi non autorizzati. Ora dobbiamo concedere le autorizzazioni alle connessioni che desideri accettare. Per fare ciò, è necessario modificare il file delle autorizzazioni:

sudo gedit /etc/hosts.allow

Come proteggere un server SSH

Il comando precedente aprirà l'editor gedit con il file scaricabile al suo interno.

Come proteggere un server SSH

Abbiamo aggiunto il nome del demone SSH, SSHD e l'indirizzo IP del computer che consente la connessione. Salva il file e verifica se le restrizioni e le autorizzazioni sono attive.

Innanzitutto, proverai a connetterti da un computer che non si trova nel file host.allow:

Come proteggere un server SSH

Connessione rifiutata. Proveremo a connetterci da una macchina con indirizzo IP 192.168.4.23:

Come proteggere un server SSH

Connessione accettata.

L'esempio qui consente la connessione di un solo computer. I wrapper TCP sono abbastanza flessibili, supportano nomi host, caratteri jolly e maschere di sottorete per accettare connessioni da intervalli di indirizzi IP.

Rifiuta le richieste di connessione senza password

Anche se non va bene, gli amministratori di sistema Linux possono creare account utente senza password. Ciò significa che non è richiesta alcuna password per le connessioni remote da questo account. Queste connessioni verranno accettate ma non autenticate.

L'impostazione predefinita per SSH accetta richieste di connessione senza password. Possiamo cambiarlo facilmente e assicurarci che tutte quelle connessioni siano autenticate.

È necessario modificare il file di configurazione SSH.

Come proteggere un server SSH

Scorri verso il basso nel file finché non vedi la riga #PermitEmptyPasswords no . Elimina # all'inizio della riga e salva il file. Riavviare il demone SSH.

Utilizza le chiavi SSH invece delle password

Le chiavi SSH forniscono un modo sicuro per accedere a un server SSH. Le password possono essere violate, indovinate o forzate . Le chiavi SSH non sono vulnerabili a questi tipi di attacchi.

Quando generi una chiave SSH, crei una coppia di chiavi. Una è la chiave pubblica e l'altra è la chiave privata. La chiave pubblica è installata sui server a cui desideri connetterti. La chiave privata è conservata in modo sicuro sul tuo computer.

Le chiavi SSH consentono di effettuare connessioni senza password, il che è più sicuro rispetto alle connessioni che utilizzano l'autenticazione tramite password.

Quando si effettua una richiesta di connessione, il computer remoto utilizza una copia della chiave pubblica per creare un messaggio crittografato inviato al computer. Poiché è crittografato con la chiave pubblica, il computer può decrittografarlo con la chiave privata.

Il computer quindi estrae alcune informazioni dal messaggio, lo crittografa e lo invia nuovamente al server. Se il server può decrittografarlo con una copia della chiave pubblica. Se le informazioni nel messaggio corrispondono a quanto ti ha inviato il server, la connessione verrà confermata.

Qui la connessione al server 192.168.4.11 viene effettuata dall'utente con la chiave SSH. Tieni presente che non viene loro richiesto di inserire una password.

ssh [email protected]

Come proteggere un server SSH

Disabilita completamente l'autenticazione della password

Puoi disabilitare completamente l'autenticazione della password se usi le chiavi SSH. Dobbiamo modificare il file di configurazione SSH.

Come proteggere un server SSH

Scorri il file fino a visualizzare la riga che inizia con #PasswordAuthentication yes . Elimina # all'inizio della riga, cambia sì in no e salva il file. Riavviare il demone SSH.

Disabilita l'inoltro X11

L'inoltro X11 consente agli utenti remoti di eseguire applicazioni grafiche dal tuo server tramite una sessione SSH, ma viene facilmente sfruttato da malintenzionati. È meglio disattivarlo modificando il file di configurazione SSH.

Come proteggere un server SSH

Scorri il file fino a visualizzare la riga #X11No inoltro , elimina il # all'inizio della riga e salva il file. Riavviare il demone SSH.

Imposta il valore di timeout di inattività

Se viene stabilita una connessione SSH con un computer e non viene eseguita alcuna attività su di esso per un periodo di tempo, ciò può rappresentare un rischio per la sicurezza.

Pertanto è necessario impostare un limite di timeout. La connessione SSH verrà disconnessa se non viene rilevata alcuna attività entro il limite di tempo. Ancora una volta, dobbiamo modificare il file di configurazione SSH.

Come proteggere un server SSH

Scorri verso il basso il file finché non vedi la riga che inizia con #ClientAliveInterval 0 . Rimuovi il # all'inizio della riga, cambia il numero 0 con il valore desiderato. Di solito le persone lo impostano su 300 secondi, ovvero 5 minuti. Salvare il file e riavviare il demone SSH.

Imposta un limite al numero di voci di password

La definizione di un limite al numero di conferme può aiutare a prevenire l'ipotesi di password e attacchi di forza bruta. Dopo il numero specificato di richieste di autenticazione, l'utente verrà disconnesso dal server SSH. Per impostazione predefinita, non esiste alcun limite al numero di tentativi di password, ma puoi modificarlo nel file di configurazione SSH.

Come proteggere un server SSH

Scorri verso il basso il file finché non vedi la riga che inizia con #MaxAuthTries 0 . Rimuovendo il # all'inizio della riga il numero viene modificato nel valore desiderato. Puoi impostarlo su 3. Salva il file quando apporti modifiche e riavvia il demone SSH.

Puoi verificarlo provando a connetterti e inserendo la password sbagliata.

Come proteggere un server SSH

Tieni presente che il numero MaxAuthTries è superiore al numero di tentativi consentiti all'utente. Dopo due tentativi falliti, verrai disconnesso, il che significa che MaxAuthTries è impostato su 3.

Disabilita l'accesso root

Si consiglia di non accedere come root, basta utilizzare come normale utente su Linux e utilizzare sudo per eseguire azioni che richiedono i permessi di root. Inoltre, non dovresti consentire a root di accedere al server SSH. Solo gli utenti normali possono connettersi. Se devono eseguire un'attività a livello amministrativo, possono anche utilizzare sudo. Se devi consentire all'utente root di accedere, puoi forzarlo a utilizzare una chiave SSH.

Modifica il file di configurazione per disabilitare l'accesso root.

Come proteggere un server SSH

Scorri verso il basso il file finché non vedi la riga che inizia con #PermitRootLogin proibisci-password , elimina il # all'inizio della riga.

  • Se vuoi impedire a root di accedere, sostituisci proibisci-password con no.
  • Se consenti a root di accedere ma imponi l'uso di una chiave SSH, lascia intatta la password proibita.

Salva le modifiche e riavvia il demone SSH.

Ultimo passo

Naturalmente, se non hai bisogno di SSH in esecuzione sul tuo computer, disattivalo con il seguente comando:

sudo systemctl stop sshd
sudo systemctl disable sshd

Ti auguro successo!


6 modi per evitare che i dati vengano rubati quando porti il ​​tuo laptop a riparare

6 modi per evitare che i dati vengano rubati quando porti il ​​tuo laptop a riparare

Per evitare che le informazioni personali o i contenuti sensibili vengano divulgati o che i dati vengano eliminati quando si porta un telefono o un laptop per la riparazione o la garanzia, gli utenti devono trovare modi per proteggere le proprie informazioni personali.

Come eseguire il backup e ripristinare il layout del menu Start

Come eseguire il backup e ripristinare il layout del menu Start

Dopo aver configurato il layout del menu Start, è possibile eseguire il backup del layout. Ecco come eseguire il backup e ripristinare il layout del menu Start su Windows 10.

Come risolvere il problema della mancata connessione al WiFi in Windows 10

Come risolvere il problema della mancata connessione al WiFi in Windows 10

Avere una connessione Internet è molto importante perché molti lavori dipendono da una connessione Internet stabile. Possono esserci molti motivi diversi per cui la tua connessione non funziona correttamente e questi problemi possono essere facilmente risolti.

Come disabilitare larea di notifica in Windows 10

Come disabilitare larea di notifica in Windows 10

Se l'area di notifica di Windows occupa troppo spazio sullo schermo, ecco come sbarazzartene e recuperare spazio prezioso sulla barra delle applicazioni.

Cosè VoodooShield? Come può proteggerti dai malware?

Cosè VoodooShield? Come può proteggerti dai malware?

VoodooShield è come un blocco e un filtro del computer per uccidere i virus. Per impostazione predefinita, VoodooShield attiva o disattiva il blocco a seconda che tu sia a rischio o meno.

Come mostrare/nascondere i caratteri in Windows 10/8

Come mostrare/nascondere i caratteri in Windows 10/8

In Windows puoi mostrare o nascondere caratteri specifici secondo necessità per evitare confusione. Ecco come puoi farlo con questi semplici e facili passaggi.

Come disattivare/attivare il volume in Windows 10

Come disattivare/attivare il volume in Windows 10

A volte vuoi semplicemente accendere e spegnere il volume senza influenzare il livello del volume impostato. Questa guida ti mostrerà diversi modi su come spegnere e accendere il volume di sistema o quello dei singoli dispositivi e app in Windows 10.

Come aggiungere Google Drive al riquadro di navigazione Esplora file in Windows 10

Come aggiungere Google Drive al riquadro di navigazione Esplora file in Windows 10

Se hai installato Google Drive sul tuo computer, puoi aggiungere il collegamento Google Drive al riquadro di navigazione Esplora file in Windows 10. Ciò renderà l'accesso abbastanza semplice. Sarà necessario utilizzare l'editor del Registro di sistema per farlo funzionare.

Le 5 migliori app dock per Windows 10

Le 5 migliori app dock per Windows 10

Sei stanco della tradizionale interfaccia di Windows? Se desideri cambiare Windows, oltre ad aggiornare alle versioni più recenti, puoi creare un Dock per Windows. Oggi LuckyTemplates ti presenterà il miglior software di creazione Dock per Windows 10.

Scopri di più su SQL Operations Studio di Microsoft

Scopri di più su SQL Operations Studio di Microsoft

SQL Operations Studio è uno strumento gratuito eseguibile su Windows, macOS e Linux per gestire SQL Server, database SQL di Azure e data warehouse SQL di Azure, ovunque vengano eseguiti.