Port Knocking su Linux

Il port knocking è un modo molto interessante di abilitare l'accesso a vari servizi (classico sshd ad esempio) senza dover tenere sempre aperta la porta sul firewall. Una misura di sicurezza aggiuntiva molto efficace con un basso costo di gestione e praticamente nessuna contro indicazione.

Partiamo dal presupposto di avere sul nostro server un firewall basato su IPTABLES con tutte le porte chiuse, e abbiamo la necessità di accedere da remoto tramite ssh. La strada che vogliamo evitare è quella di utilizzare il port forwarding aprendo la porta sul firewall e inoltrandola al server o di aprire la porta del servizio sshd (è solo un esempio, potrei voler abilitare altri servizi) direttamente.
Qui entra in gioco il PORT KNOCKING. Vige il principio client/server, ove il server prevede un file di configurazione non troppo complicato e il client è facilmente impostabile tramite parametri.
Il meccanismo è questo: il client esegue una sequenza di richieste di accesso (lancia dei SYN) a porte di servizio arbitrarie entro un tempo stabilito, questa sequenza viene riconosciuta ed abilita l'apertura di una determinata porta corrispondente ad un preciso servizio.
IPTABLES dinamicamente quindi, cambia le sue RULES, in virtù di una sequenza stabilita e riconosciuta (questi sono i parametri da impostare nel file di configurazione del client e del server).
Ad esempio: entro 10 secondi devo interrogare 3 porte e per ultima quella relativa al servizio utile (esempio sshd) , se la sequenza delle tre porte è giusta, sshd verrà abilitato e inizierà la regolare procedura di autenticazione su questo servizio.
Personalmente questo sistema di sicurezza mi ha entusiasmato, forse per la sua semplicità direttamente proporzionale alla sua efficacia.

Privacy Policy