Questo articolo descrive come configurare un accesso SSH (Secure Shell) limitato a un server da un particolare indirizzo IP o nome host.
A tal fine, utilizzare i wrapper TCP perché forniscono il filtraggio del traffico di base del traffico di rete in ingresso. Sebbene più complessi in superficie, i TCP Wrapper utilizzano essenzialmente due file:/etc/hosts.allow e /etc/hosts.deny .
Se i file non esistono ancora, puoi crearli. utilizzando il seguente comando:
sudo touch /etc/hosts.{allow,deny}
Nega tutti gli host
È considerata una buona pratica negare tutte le connessioni SSH in entrata. Per farlo, esegui i seguenti passaggi:
-
Apri il file /etc/hosts.deny utilizzando un editor di testo:
vi /etc/hosts.deny
-
Aggiungi la seguente riga per negare tutte le connessioni SSH in entrata al server:
sshd: ALL
-
Salva e chiudi il file.
Questo è tutto. Questo blocca tutto l'accesso SSH all'host
Consenti indirizzi IP
Ora, esegui i seguenti passaggi per configurare gli indirizzi IP con l'autorizzazione ad accedere tramite SSH:
-
Apri il file /etc/hosts.allow file utilizzando un editor di testo:
vi /etc/hosts.allow
-
Aggiungi un
sshd
linea per consentire all'indirizzo IP di tua scelta di connettersi utilizzando SSH pubblico. Ad esempio, la riga seguente consente la rete172.168.0.21
:sshd: 172.168.0.21
-
Salva e chiudi il file.
I file TCP Wrapper accettano un elenco di voci separate da virgole, quindi puoi aggiungere indirizzi alla prima voce di questa sezione.
sshd: 172.168.0.21, 10.83.33.77, 10.63.152.9, 10.12.100.11, 10.82.192.28
Accettano anche indirizzi IP parziali come sottoreti, quindi puoi consentire l'intero 172.168.0.0/24
come:
sshd: 172.168.0.
O come mostrato nell'esempio seguente:
sshd : localhost
sshd : 192.168.0.
sshd : 99.151.250.7
Puoi consentire o negare in base all'indirizzo IP, alla sottorete o al nome host. Elenca le regole in ordine dal più al meno specifico. Tieni presente che i server basati su sistemi operativi Linux® guardano prima a hosts.allow file che inizia dall'alto verso il basso, seguito da hosts.deny file. Ad esempio, un tentativo di connessione SSH da un indirizzo IP in hosts.allow è consentito, anche se hosts.deny blocca tutte le connessioni.
Con questa configurazione, qualsiasi client elencato in hosts.allow sono consentiti tramite SSH e qualsiasi client non elencato viene bloccato.
Nota :Non è necessario riavviare il demone SSH per rendere effettive le modifiche.