ssh

Disabilitare root ssh su Debian

Disabilitare root ssh su Debian
Dal momento che radice utente è universale per tutti i sistemi Linux e Unix è sempre stata la vittima di forza bruta preferita dagli hacker per accedere ai sistemi. Per eseguire la forza bruta su un account senza privilegi, l'hacker deve prima apprendere il nome utente e, anche in caso di successo, l'hacker rimane limitato a meno che non utilizzi un exploit locale.Questo tutorial mostra come disabilitare l'accesso root tramite SSH in 2 semplici passaggi.

Come disabilitare l'accesso root ssh su Debian 10 Buster

Per disabilitare l'accesso root ssh è necessario modificare il file di configurazione ssh, su Debian lo è /etc/ssh/sshd_config, per modificarlo usando l'editor di testo nano, esegui:

nano /etc/ssh/sshd_config

Su nano puoi premere CTRL+W (dove) e digitare PermessoRoot per trovare la seguente riga:

#PermitRootLogin proibisce la password

Per disabilitare l'accesso root tramite ssh, decommenta quella riga e sostituisci proibire-password per no come nell'immagine seguente.

Dopo aver disabilitato l'accesso root premere CTRL+X e per salvare ed uscire.

Il proibire-password l'opzione impedisce l'accesso con password consentendo solo l'accesso tramite azioni di fallback come chiavi pubbliche, prevenendo attacchi di forza bruta.

Alternative per proteggere il tuo accesso ssh

Limita l'accesso all'autenticazione con chiave pubblica:

Per disabilitare l'accesso con password consentendo solo l'accesso utilizzando una chiave pubblica, aprire il /etc/ssh/ssh_config di nuovo il file di configurazione eseguendo:

nano /etc/ssh/sshd_config

Per disabilitare l'accesso con password consentendo solo l'accesso utilizzando una chiave pubblica, aprire il /etc/ssh/ssh_config di nuovo il file di configurazione eseguendo:

nano /etc/ssh/sshd_config

Trova la riga che contiene PubkeyAuthentication e assicurati che dica come nell'esempio qui sotto:

Assicurati che l'autenticazione della password sia disabilitata trovando la riga che contiene Autenticazione password, se commentato decommentalo e assicurati che sia impostato come no come nell'immagine seguente:

Quindi premere CTRL+X e per salvare ed uscire dall'editor di testo nano.

Ora, come utente a cui vuoi consentire l'accesso ssh, devi generare coppie di chiavi private e pubbliche. Correre:

ssh-keygen

Rispondi alla sequenza di domande lasciando la prima risposta predefinita premendo ENTER, imposta la tua passphrase, ripetila e le chiavi verranno memorizzate in ~/.ssh/id_rsa

Generazione di una coppia di chiavi rsa pubblica/privata.
Inserisci il file in cui salvare la chiave (/root/.ssh/id_rsa):
Inserisci la passphrase (vuota per nessuna passphrase): Inserisci di nuovo la stessa passphrase:
La tua identificazione è stata salvata in /root/.ssh/id_rsa.
La tua chiave pubblica è stata salvata in /root/.ssh/id_rsa.pub.
L'impronta digitale chiave è:
SHA256:34+uXVI4d3ik6ryOAtDKT6RaIFclVLyZUdRlJwfbVGo root@linuxhint
L'immagine randomart della chiave è:
+---[RSA 2048]----+

Per trasferire le coppie di chiavi appena create puoi usare il ssh-copy-id comando con la seguente sintassi:

ssh-copy-id @

Cambia la porta ssh predefinita:

Apri il /etc/ssh/ssh_config di nuovo il file di configurazione eseguendo:

nano /etc/ssh/sshd_config

Supponiamo che tu voglia utilizzare la porta 7645 invece della porta predefinita 22. Aggiungi una riga come nell'esempio seguente:

Porta 7645

Quindi premere CTRL+X e per salvare ed uscire.

Riavvia il servizio ssh eseguendo:

riavvio del servizio sshd

Quindi dovresti configurare iptables per consentire la comunicazione attraverso la porta 7645:

iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 7645

Puoi anche utilizzare UFW (Uncomplicated Firewall):

ufw consenti 7645/tcp

Filtrare la porta ssh

Puoi anche definire regole per accettare o rifiutare le connessioni ssh in base a parametri specifici. La seguente sintassi mostra come accettare connessioni ssh da un indirizzo IP specifico utilizzando iptables:

iptables -A INPUT -p tcp --dport 22 --source -j ACCETTA
iptables -A INPUT -p tcp --dport 22 -j DROP

La prima riga dell'esempio sopra indica a iptables di accettare le richieste TCP (INPUT) in entrata alla porta 22 dall'IP 192.168.1.2. La seconda riga indica alle tabelle IP di interrompere tutte le connessioni alla porta 22. Puoi anche filtrare la fonte per indirizzo mac come nell'esempio seguente:

iptables -I INPUT -p tcp --dport 22 -m mac ! --mac-source 02:42:df:a0:d3:8f
-j RIFIUTO

L'esempio sopra rifiuta tutte le connessioni ad eccezione del dispositivo con indirizzo mac 02:42:df:a0:d3:8f.

Utilizzo di wrapper TCP per filtrare ssh

Un altro modo per autorizzare gli indirizzi IP per connettersi tramite ssh rifiutando il resto è modificare gli host delle directory.negare e ospita.allow situato in /etc.

Per rifiutare tutti gli host eseguire:

nano /etc/hosts.negare

Aggiungi un'ultima riga:

sshd : ALL

Premi CTRL+X e Y per salvare ed uscire. Ora per consentire host specifici tramite ssh, modifica il file /etc/hosts.consenti, per modificarlo esegui:

nano /etc/hosts.permettere

Aggiungi una riga contenente:

sshd:

Premi CTRL+X per salvare ed uscire da nano.

Disabilitare il servizio ssh

Molti utenti domestici considerano ssh inutile, se non lo usi affatto puoi rimuoverlo oppure puoi bloccare o filtrare la porta.

Su Debian Linux o sistemi basati come Ubuntu è possibile rimuovere i servizi utilizzando il gestore di pacchetti apt.
Per rimuovere l'esecuzione del servizio ssh:

apt rimuovere ssh

Premere Y se richiesto per completare la rimozione.

E questo è tutto sulle misure domestiche per mantenere ssh al sicuro.

Spero che tu abbia trovato utile questo tutorial, continua a seguire LinuxHint per ulteriori suggerimenti e tutorial su Linux e il networking.

Articoli Correlati:

  • Come abilitare il server SSH su Ubuntu 18.04 LTS
  • Abilita SSH su Debian 10
  • SSH Port Forwarding su Linux
  • Opzioni di configurazione SSH comuni Ubuntu
  • Come e perché cambiare la porta SSH predefinita
  • Configurare l'inoltro SSH X11 su Debian 10
  • Configurazione, personalizzazione e ottimizzazione del server SSH di Arch Linux
  • Iptable per principianti
  • Lavorare con i firewall Debian (UFW)
Strumenti utili per i giocatori Linux
Se ti piace giocare su Linux, è probabile che tu abbia utilizzato app e utilità come Wine, Lutris e OBS Studio per migliorare l'esperienza di gioco. O...
Giochi rimasterizzati in HD per Linux che non hanno mai avuto una versione Linux prima
Molti sviluppatori ed editori di giochi stanno realizzando remaster HD di vecchi giochi per prolungare la vita del franchise, per favore i fan richied...
Come utilizzare AutoKey per automatizzare i giochi Linux
AutoKey è un'utilità di automazione desktop per Linux e X11, programmata in Python 3, GTK e Qt. Utilizzando la sua funzionalità di scripting e MACRO, ...