Quando si tratta di accesso remoto di dispositivi come server, router e switch, il protocollo SSH è altamente raccomandato, data la sua capacità di crittografare il traffico e allontanare chiunque potrebbe tentare di intercettare i vostri collegamenti.

Sia come sia, le impostazioni di default di SSH non sono infallibile e modifiche aggiuntive sono necessarie per rendere il protocollo più sicuro. In questa guida, vi esplorare modi diversi che è possibile utilizzare per proteggere e indurire OpenSSH installazione sul server.

1. L’installazione di SSH senza password di Autenticazione

Per impostazione predefinita, SSH richiede agli utenti di fornire la propria password per l’accesso. Ma qui è la cosa: gli hacker possono indovinare le password o addirittura eseguire un attacco di forza bruta con l’utilizzo di speciali strumenti di hacking e di ottenere l’accesso al sistema. Per essere sul sicuro, l’uso di SSH senza password di autenticazione è fortemente incoraggiata.

Il primo passo è quello di generare una chiave SSH-coppia, che consiste di un chiave pubblica e un chiave privata. Il chiave privata risiede sul vostro sistema host, mentre il chiave pubblica viene poi copiato sul server remoto.

Una volta che il chiave pubblica è copiato correttamente, è ora possibile connettersi in SSH al server remoto senza dover fornire una password.

 

Il passo successivo è quello di disattivare la password di autenticazione, Per ottenere questo, è necessario modificare il file di configurazione di SSH.

$ sudo vim /etc/ssh/sshd_config

All’interno del file di configurazione, selezionare e individuare la seguente direttiva. Il commento e modificare l’opzione 'yes' per 'no'

PasswordAuthentication no
Disabilitare la Password di SSH Autenticazione
Disabilitare la Password di SSH Autenticazione

Quindi riavviare il demone SSH.

# sudo systemctl restart sshd

A questo punto, si avrà accesso solo al server remoto tramite SSH chiave di autenticazione.

2. Disabilitare un Utente SSH senza password di Richieste di Connessione

Un altro modo consigliato di fortificare la sicurezza del server è quello di disabilitare SSH da utenti senza password. Questo suona un po ‘ strano, ma a volte gli amministratori di sistema possono creare account utente e dimenticare di assegnare una password che è una pessima idea.

Per rifiutare le richieste da parte degli utenti senza password, di nuovo, oltre al capo il file di configurazione /etc/ssh/sshd_config e assicurarsi che la direttiva di seguito:

PermitEmptyPasswords no
Disabilitare un Utente SSH senza password account di accesso
Disabilitare un Utente SSH senza password account di accesso

Quindi riavviare il servizio SSH per la modifica deve essere effettuata.

$ sudo systemctl restart sshd

3. Disattivare SSH Root

È una bazzecola che cosa può accadere se un hacker riesce a forza bruta è la vostra password di root. Permettendo il login di root è sempre una cattiva idea che potrebbe compromettere la sicurezza del vostro sistema.

Per questo motivo, è sempre consigliabile che si disattiva SSH remote login di root e invece bastone per un normale utente non-root. Ancora una volta, oltre al capo il file di configurazione e modificare questa riga come mostrato in figura.

PermitRootLogin no
Disattivare SSH Root
Disattivare SSH Root

Una volta fatto, riavviare il servizio SSH per la modifica deve essere effettuata.

$ sudo systemctl restart sshd

D’ora in poi, remote login di root sarà disattivato.

4. Utilizzare il Protocollo SSH 2

SSH è disponibile in due versioni: SSH protocollo 1 e protocollo 2. SSH protocollo 2 è stato introdotto nel 2006 e che è più sicura protocollo 1 grazie alla sua forte crittografia dei controlli, la massa di crittografia e robusti algoritmi.

Per impostazione predefinita, utilizza SSH protocollo 1. Per cambiare questo più sicuro Protocollo 2, aggiungere la seguente linea al file di configurazione:

Protocol 2
Utilizzare il Protocollo SSH 2
Utilizzare il Protocollo SSH 2

Come sempre, riavviare SSH per le modifiche entreranno in vigore.

$ sudo systemctl restart sshd

Andando avanti, SSH uso Protocollo 2 per impostazione predefinita.

Per verificare se SSH protocollo 1 è supportato più, eseguire il comando:

$ ssh -1 [email protected]

Si otterrà un errore che dice: “Il protocollo SSH v. 1 non è più supportato”.

In questo caso, il comando è:

$ ssh -1 [email protected]
Controllare il Protocollo SSH
Controllare il Protocollo SSH

Inoltre, è possibile specificare semplicemente il -2 tag solo per essere sicuri che Protocollo 2 è l’impostazione predefinita di protocollo in uso.

$ ssh -2 [email protected]
Utilizzare il Protocollo SSH 2
Utilizzare il Protocollo SSH 2

5. Impostare la Connessione SSH Valore di Timeout di Inattività

Lasciare il PC incustodito per lunghi periodi di tempo di inattività della connessione SSH, possono rappresentare un rischio per la sicurezza. Qualcuno può semplicemente passare e prendere in consegna la vostra sessione SSH e fare quello che si prega. Per risolvere il problema, è prudente, quindi, per impostare un timeout di inattività limite che se superato, la sessione SSH sarà chiuso.

Ancora una volta, aprire il file di configurazione di SSH e individuare la direttiva “ClientAliveInterval”. Assegnare un valore ragionevole, per esempio, ho impostato il limite a 180 secondi.

ClientAliveInterval 180

Questo implica che la sessione SSH eliminata se non vi registrate dopo 3 minuti, il che è l’equivalente di 180 secondi.

Impostare il Valore di Timeout di Connessione SSH
Impostare il Valore di Timeout di Connessione SSH

Quindi riavviare il demone SSH per rendere effettive le modifiche apportate.

$ sudo systemctl restart sshd

6. Limitare l’Accesso SSH a Determinati Utenti

Per un ulteriore livello di protezione, è possibile definire gli utenti che richiedono il protocollo SSH per accedere ed eseguire operazioni in remoto sul sistema. Questo tiene lontani eventuali altri utenti che potrebbero provare a ottenere l’ingresso al sistema senza la vostra approvazione.

Come sempre, aprire il file di configurazione e aggiungere la direttiva “AllowUsers” seguiti dai nomi di utenti a cui si desidera concedere. Nell’esempio riportato di seguito, mi sono permesso degli utentitecmint‘ e ‘james‘ di accedere in remoto al sistema tramite SSH. Qualsiasi altro utente che tenta di ottenere l’accesso remoto verrà bloccato.

AllowUsers tecmint james
Limite SSH User Login
Limite SSH User Login

Successivamente riavviare SSH per le modifiche a persistere.

$ sudo systemctl restart sshd

7. Configurare un Limite per Tentativi con Password

Un altro modo è possibile aggiungere un livello di sicurezza, limitando il numero di tentativi di login SSH in modo che dopo un certo numero di tentativi falliti, la connessione cade. Così ancora una volta la testa verso il file di configurazione e individuare il “MaxAuthTries” la direttiva e la definizione di un valore per il numero massimo di tentativi.

In questo esempio, il limite è stato fissato a 3 tentativi come mostrato in figura.

MaxAuthTries 3
Limite di Tentativi di Password di SSH
Limite di Tentativi di Password di SSH

E, infine, riavviare il servizio SSH come negli scenari precedenti.

Si potrebbe anche trovare le seguenti SSH articoli correlati utile:

Conclusione

Che è stata una carrellata di alcune delle misure che si possono prendere per proteggere la vostra SSH connessioni remote. È importante aggiungere che è sempre necessario assegnare password sicure per gli utenti di avere accesso remoto per contrastare la forza bruta attacchi. La nostra speranza è che hai trovato questa guida utile. Il tuo feedback è molto apprezzato.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *