GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come utilizzare Port Knocking per proteggere il servizio SSH in Linux

Colpo in porto è una tecnica ingegnosa per controllare l'accesso a una porta consentendo solo agli utenti legittimi l'accesso al servizio in esecuzione su un server. Funziona in modo tale che quando viene eseguita la giusta sequenza di tentativi di connessione, il firewall apra volentieri la porta che era stata chiusa.

La logica alla base del port knocking è quella di salvaguardare il tuo sistema Linux da scanner di porte automatizzati che cercano porte aperte. In questa guida, esaminiamo come installare il port knocking e come configurarlo per proteggere il servizio SSH. A scopo dimostrativo, utilizzeremo Ubuntu 18.04 .

Fase 1:Installa e configura knockd

Per iniziare, accedi al tuo sistema Linux e installa knockd demone come mostrato.

$ sudo apt install knockd

Una volta installato, apri knockd.conf configurazione con il tuo editor di testo preferito. Qui stiamo usando l'editor di testo della riga di comando di vim.

$ sudo vim /etc/knockd.conf

Il file di configurazione predefinito viene visualizzato come segue.

Sotto il [openSSH] sezione, dobbiamo modificare la sequenza di bussare predefinita:7000,8000,9000 – a qualcos'altro. Questo perché questi valori sono già noti e possono compromettere la sicurezza del tuo sistema.

A scopo di test, abbiamo impostato i valori su 10005, 10006, 10007 . Questa è la sequenza che verrà utilizzata per aprire la porta SSH da un sistema client.

Nella terza riga, che inizia con comando , cambia -A a -I subito dopo /sbin/iptables comando e prima di INPUT .

E infine, sotto il [closeSSH] sezione, ancora una volta, cambia la sequenza predefinita in base alla tua scelta preferita. Questa è la sequenza che verrà utilizzata per chiudere la connessione SSH una volta che l'utente avrà terminato e si disconnetterà dal server.

Ecco la nostra configurazione completa.

Al termine, salva le modifiche ed esci.

Un'altra configurazione che dobbiamo modificare è /etc/default/knockd . Ancora una volta, aprilo usando il tuo editor di testo.

$ sudo vim /etc/default/knockd

Individua la riga START_KNOCKD=0 . Decommentalo e imposta il valore su 1 .

Quindi, vai alla riga KNOCKD_OPTS=”-i eth1” Decommentalo e sostituisci il predefinito eth1 valore con l'interfaccia di rete attiva del sistema. Per controllare la tua interfaccia di rete, esegui semplicemente ip addr o il comando ifconfig.

Per il nostro sistema, enp0s3 è la scheda di rete attiva.

La configurazione completa è quella mostrata.

Salva le modifiche ed esci.

Quindi avvia e attiva knockd demone come mostrato.

$ sudo systemctl start knockd
$ sudo systemctl enable knockd

Per controllare lo stato di bussato demone, esegui il comando:

$ sudo systemctl status knockd

Passaggio 2:chiudi la porta SSH 22 sul firewall

Dal momento che l'obiettivo del knockd servizio è di concedere o negare l'accesso al servizio ssh, chiuderemo la porta ssh sul firewall. Ma prima, controlliamo lo stato del firewall UFW.

$ sudo ufw status numbered

Dall'output, possiamo vedere chiaramente che SSH porta 22 è aperto su entrambi gli IPv4 e IPv6 protocolli numerati 5 e 9 rispettivamente.

Dobbiamo eliminare queste due regole come mostrato, partendo dal valore più alto, che è 9 .

$ sudo ufw delete 9
$ sudo ufw delete 5

Ora, se tenti di accedere in remoto al server, riceverai un errore di timeout della connessione come mostrato.

Passaggio 3:configura un client knock per la connessione al server SSH

Nella fase finale, configureremo un client e tenteremo di accedere inviando prima la sequenza di bussate che abbiamo configurato sul server.

Ma prima, installa knockd demone proprio come hai fatto sul server.

$ sudo apt install knockd

Una volta completata l'installazione, inviare la sequenza di colpi utilizzando la sintassi mostrata

$ knock -v server_ip knock_sequence

Nel nostro caso, questo si traduce in:

$ knock -v 192.168.2.105 10005 10006 10007

Dovresti ottenere un output simile a quello che abbiamo, a seconda della sequenza. Questo dimostra che i tentativi di bussare hanno avuto successo.

A questo punto, dovresti essere in grado di accedere con successo al server utilizzando SSH.

Una volta che hai finito di fare il tuo lavoro sul server remoto, chiudi la porta SSH inviando la sequenza di bussate di chiusura.

$ knock -v 192.168.2.105 10007 10006 10005

Qualsiasi tentativo di accesso al server fallirà come dimostrato.

Pensieri conclusivi

Questo conclude questa guida su come sfruttare il port knocking per proteggere il servizio SSH sul tuo server. Un approccio migliore e più semplice sarebbe configurare l'autenticazione SSH della password utilizzando coppie di chiavi SSH. Ciò garantisce che solo l'utente con la chiave privata possa autenticarsi con il server su cui è archiviata la chiave pubblica.


Ubuntu
  1. Come installare il servizio SSH (shell sicuro) su Kali Linux

  2. Come utilizzare Fail2ban per proteggere SSH su CentOS 7

  3. Come modificare la porta SSH in Linux

  4. Come modificare la porta SSH su Lubuntu 20.04 Linux

  5. come utilizzare netstat su una porta specifica in Linux

Come modificare la porta SSH in Linux

Come usare systemctl in Linux

Come abilitare il servizio SSH su Rocky Linux 8 / CentOS 8

Come installare Mosh Shell come alternativa SSH su Linux

Come modificare la porta SSH in Linux:una guida semplice

Come eseguire un'installazione Redis sicura su Linux