Come proteggere ulteriormente SSH con una sequenza Port-knocking su Ubuntu 18.04

introduzione

Oltre a modificare la porta predefinita per SSH e utilizzare una coppia di chiavi per l'autenticazione, il knocking delle porte può essere utilizzato per proteggere ulteriormente (o più accuratamente, oscurare) il server SSH. Funziona rifiutando le connessioni alla porta di rete SSH. Questo in sostanza nasconde il fatto che stai eseguendo un server SSH fino a quando non viene effettuata una sequenza di tentativi di connessione a porte predefinite. Molto sicuro e semplice da implementare, il port knocking è uno dei modi migliori per proteggere il tuo server da tentativi di connessione SSH dannosi.

Prerequisiti

  • Un server Vultr che esegue Ubuntu 18.04.
  • Accesso al Sudo.

Prima di seguire i passaggi seguenti, se non si è effettuato l'accesso come utente root, ottenere una shell root temporanea eseguendo sudo -ie immettendo la password. In alternativa, puoi anteporre sudoai comandi mostrati in questo articolo.

Passaggio 1: installazione Knockd

Knockd è il pacchetto utilizzato in combinazione con iptables per implementare il port knocking sul tuo server. iptables-persistentÈ inoltre richiesto il pacchetto " ".

apt update
apt install -y knockd iptables-persistent

Passaggio 2: regole di iptables

Esegui i seguenti comandi in ordine:

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j DROP
iptables-save > /etc/iptables/rules.v4

Questi comandi eseguiranno rispettivamente le seguenti operazioni:

  • Indicare a iptables di mantenere attive le connessioni esistenti.
  • Indicare a iptables di eliminare qualsiasi connessione alla porta tcp / 22 (se il demone SSH è in ascolto su una porta diversa da 22, è necessario modificare di conseguenza il comando sopra).
  • Salvare queste due regole in modo che persistano dopo il riavvio.

Passaggio 3: configurazione Knockd

Utilizzando un editor di testo a tua scelta, apri il file /etc/knockd.conf.

Vedrai quanto segue:

[openSSH]
sequence    = 7000,8000,9000
seq_timeout = 5
command     = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags    = syn

È necessario modificare la sequenza delle porte (scegliere i numeri di porta sopra 1024e non utilizzati da altri servizi) e archiviarli in modo sicuro. Questa combinazione deve essere trattata come una password. Se dimenticato, perderai l'accesso a SSH. Ci riferiremo a questa nuova sequenza come x,y,z.

la seq-timeoutlinea è il numero di secondi che Knockd attenderà che il client completi la sequenza di port knocking. Sarebbe una buona idea cambiarlo in qualcosa di più grande, specialmente se il port knocking verrà eseguito manualmente. Tuttavia, un valore di timeout inferiore è più sicuro. Si 15consiglia di cambiarlo in poiché busseremo manualmente in questo tutorial.

Cambia la sequenza di apertura in base alle porte scelte:

[openSSH]
sequence    = x,y,z

Modificare il valore del comando nel modo seguente:

command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

Ora cambia la sequenza di chiusura di conseguenza:

[closeSSH]
sequence    = z,y,x

Salvare le modifiche e uscire, quindi aprire il file /etc/default/knockd:

  • Sostituisci START_KNOCKD=0con START_KNOCKD=1.
  • Aggiungi la seguente riga alla fine del file: KNOCKD_OPTS="-i ens3"(sostituisci ens3con il nome della tua interfaccia di rete pubblica se differisce.)
  • Salva ed esci.

Ora avvia Knockd:

systemctl start knockd

Se ora disconnette dal server, dovrete battere sulle porte x, ye zdi collegare di nuovo.

Passaggio 4: test

Ora non sarai in grado di connetterti al tuo server SSH.

È possibile testare il port knocking con un client Telnet.

Gli utenti Windows possono avviare Telnet dal prompt dei comandi. Se telnet non è installato, accedi alla sezione "Programmi" del Pannello di controllo, quindi individua "Attiva o disattiva le funzionalità di Windows". Nel pannello delle funzionalità, individuare "Client Telnet" e abilitarlo.

Nel terminale / prompt dei comandi digitare quanto segue:

telnet youripaddress x
telnet youripaddress y
telnet youripaddress z

Fallo tutto in quindici secondi, poiché questo è il limite imposto nella configurazione. Ora, prova a connetterti al tuo server tramite SSH. Sarà accessibile.

Per chiudere l'accesso al server SSH, eseguire i comandi in ordine inverso.

telnet youripaddress z
telnet youripaddress y
telnet youripaddress z

Conclusione

La parte migliore dell'utilizzo del port knocking è che se è configurato insieme all'autenticazione con chiave privata, non c'è praticamente alcuna possibilità che qualcun altro possa entrare a meno che qualcuno non conosca la sequenza di port knocking e abbia la chiave privata.



Leave a Comment

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.