Se hai alcuni servizi che vuoi esporre a te stesso su un IP pubblico ma desideri nasconderli dal resto del mondo, puoi usare port knocking per nascondere i dispositivi dalle scansioni generali delle porte, pur continuando a renderli accessibili senza una connessione VPN a qualcuno che sa bussare. Ho diverse webcam domestiche che a volte desidero poter accedere dal lavoro, ma il firewall al lavoro non mi consente di avviare una VPN sul mio firewall di casa.
Quindi, "knock" 3 porte sul mio firewall di casa e consente le connessioni dall'IP knocking alle telecamere.
Il bussare dei porti è una sicurezza piuttosto debole da parte di qualcuno determinato a entrare nella rete poiché gli urti sono facilmente annusati (gli urti sono effettivamente una password inviata in testo normale), ma la forzatura bruta delle porte è quasi impossibile anche se un utente malintenzionato sapeva che il knock-out era in uso - 3 porte casuali forniscono circa 48 bit di entropia della password, quindi è abbastanza sicuro da un hacker casuale. Una VPN sarebbe più sicura dato che crittografa tutto.
Inoltre, dal momento che funziona a livello IP, una volta che ho sbloccato le porte dall'indirizzo IP del mio lavoro, tutti al lavoro possono accedervi poiché condividono tutti lo stesso indirizzo IP. (sono fuori dalle telecamere di una DMZ che di solito uso per controllare il cane, quindi non sono troppo preoccupato per qualcuno al lavoro a vederli, ma non voglio che il mondo intero li veda)
Ci sono molte più informazioni sui pro / contro del portknocking qui:
Un commentatore ha notato che 48 bit di entropia non sono molti, il che è vero con qualcosa come una password in cui se l'hacker può ottenere l'hash, può eseguire un attacco offline e testare milioni o trilioni di combinazioni al secondo. Tuttavia, dal momento che qualsiasi attacco di forza bruta di port knocking è limitato dalla latenza di rete e dai vincoli di larghezza di banda, 48 bit sono ancora un bel po 'di entropia. Per forzare con successo una password, in media bisognerebbe fare supposizioni N / 2 dove in questo caso N = 2 ^ 48 quindi N / 2 = 2 ^ 47
Ogni ipotesi indica l'invio di 3 pacchetti syn per bussare alle 3 porte, quindi supponendo 60 byte per un pacchetto SYN, è necessario inviare 2 ^ 47 * 3 * 60 = 2,5 x 10 ^ 16 byte o 22 petabyte .
Usando la mia connessione internet a 15mbit, ci vorrebbero 510 anni per inviare tanti dati.
E questo ignora la latenza della rete, se riesci a mandare il colpo e prova immediatamente il tuo battito con 1 msec di latenza (la latenza tipica del ping del mondo reale dalla mia rete domestica al primo salto dalla rete del mio ISP è 13msec), prenderebbe 2 ^ 47 msec, o 4000 anni per forzare la forza.
E ovviamente, tutto questo presuppone che tu possa fare congetture illimitate prima che il demone di port knock ti ignori o prima ho notato che qualcosa stava consumando tutta la mia larghezza di banda in entrata (il mio ISP avrebbe sicuramente notato e mi avrebbe rallentato)
E ignora anche il fatto che sapere se hai avuto un colpo con successo aggiunge entropia da sola se non sai quale porta controllare - le mie macchine fotografiche ascoltano su alcune porte non ovvie, in modo che pubblichi altri 16 bit circa di entropia.
Quindi, come ho detto, il knockoff delle porte è una sicurezza debole poiché è facilmente annusabile, ma non è facilmente forzato brutale.