Come bussare alla tua rete (DD-WRT)
Hai mai desiderato avere quel "knock knock" speciale con il tuo router, in modo da averlo solo "aprire la porta" quando il colpo segreto è stato riconosciuto? How-To Geek spiega come installare il daemon Knock su DD-WRT.
Immagine di Bfick e Aviad Raviv
Se non lo hai già fatto, assicurati di controllare i precedenti articoli della serie:
- Trasforma il tuo router di casa in un router Super-Powered con DD-WRT
- Come installare software aggiuntivo sul router di casa (DD-WRT)
- Come rimuovere pubblicità con Pixelserv su DD-WRT
Supponendo che tu abbia familiarità con questi argomenti, continua a leggere. Tieni presente che questa guida è un po 'più tecnica e che i principianti dovrebbero prestare attenzione durante la modifica del router.
Panoramica
Tradizionalmente, per essere in grado di comunicare con un dispositivo / servizio si dovrebbe avviare a pieno connessione di rete con esso. Tuttavia, fare così mostra ciò che viene chiamato nell'era della sicurezza, una superficie d'attacco. Il daemon Knock è una sorta di sniffer di rete che può reagire quando viene osservata una sequenza preconfigurata. Poiché non è necessario stabilire una connessione affinché il daemon knock riconosca una sequenza configurata, la superficie di attacco viene ridotta mantenendo la funzionalità desiderata. In un certo senso, pre-condizioneremo il router con a desiderato Risposta "due bit" (a differenza del povero Roger ...).
In questo articolo:
- Mostra come usare Knockd per far funzionare il router Wake-On-Lan sulla tua rete locale.
- Mostra come attivare la sequenza di Knock da un'applicazione Android e da un computer.
Nota: sebbene le istruzioni di installazione non siano più rilevanti, puoi guardare la serie di film che ho creato "da lontano quando", per vedere l'intero resoconto della configurazione di bussare. (Basta scusare la presentazione grezza).
implicazioni per la sicurezza
La discussione su "quanto è sicuro Knockd?", È lunga e risale a molti millenni (negli anni di Internet) ma la linea di fondo è questa:
Knock è uno strato di sicurezza per oscurità, che dovrebbe essere usato solo per accrescere altri mezzi come la crittografia e non dovrebbero essere usati da soli come fine tutti sono tutte misure di sicurezza.
Prerequisiti, ipotesi e raccomandazioni
- Si presume che tu abbia un router DD-WRT abilitato per Opkg.
- Un po 'di pazienza in quanto potrebbe richiedere "un po'" per l'installazione.
- Si consiglia vivamente di ottenere un account DDNS per l'IP esterno (solitamente dinamico).
Lasciamo scoppiare
Installazione e configurazione di base
Installa il demone Knock aprendo un terminale sul router ed emettendo:
aggiornamento opkg; opkg installa knockd
Ora che Knockd è installato, dobbiamo configurare le sequenze di trigger e i comandi che verranno eseguiti una volta che sono stati attivati. Per fare ciò, apri il file "knockd.conf" in un editor di testo. Sul router questo sarebbe:
vi /opt/etc/knockd.conf
Rendi il suo contenuto simile a:
[opzioni]
logfile = /var/log/knockd.log
UseSyslog
[Wakelaptop]
sequenza = 56,56,56,43,43,43,1443,1443,1443
seq_timeout = 30
comando = / usr / sbin / wol aa: bb: cc: dd: ee: 22 -i $ (nvram get lan_ipaddr | cut -d. -f 1,2,3) .255
tcpflags = sync
Spieghiamo quanto sopra:
- Il segmento "opzioni" consente di configurare i parametri globali per il demone. In questo esempio abbiamo istruito il daemon a tenere un registro sia nel syslog che in un file. Sebbene non danneggi l'utilizzo di entrambe le opzioni, dovresti considerare di mantenerne solo uno.
- Il segmento "wakelaptop" è un esempio di una sequenza che attiverà il comando WOL sulla tua LAN per un computer con l'indirizzo MAC di aa: bb: cc: dd: ee: 22.
Nota: il comando precedente presuppone il comportamento predefinito di una sottorete di classe C..
Per aggiungere più sequenze, basta copiare e incollare il segmento "wakelaptop" e regolare con nuovi parametri e / o comandi che devono essere eseguiti dal router.
Avviare
Per fare in modo che il router invochi il daemon all'avvio, aggiungi il seguente script allo script "geek-init" dalla guida OPKG:
knockd -d -c /opt/etc/knockd.conf -i "$ (nvram get wan_ifname)"
Questo avvierà il demone Knock sull'interfaccia "WAN" del router, in modo che ascolterà i pacchetti da Internet.
Batti da Android
Nell'era della portabilità è quasi imperativo "avere un'app per questo" ... quindi StavFX ne ha creato uno per il compito :)
Questa app esegue le sequenze di colpi direttamente dal tuo dispositivo Android e supporta la creazione di widget sugli schermi di casa.
- Installa l'applicazione Knocker dal mercato Android (anche si prega di essere gentile e dare una buona valutazione).
- Una volta installato sul tuo dispositivo, avvialo. Dovresti essere accolto da qualcosa come:
- È possibile premere a lungo l'icona di esempio per modificarlo, oppure fare clic su "menu" per aggiungere una nuova voce. Una nuova voce dovrebbe essere:
- Aggiungi linee e riempi le informazioni richieste per il tuo Knocking. Per la configurazione WOL di esempio da sopra questo sarebbe:
- Opzionalmente cambia l'icona premendo a lungo l'icona accanto al nome del Knock.
- Salva il colpo.
- Tocca il nuovo Knock nella schermata principale per attivarlo.
- Facoltativamente, crea un widget per esso su una schermata principale.
Tieni presente che mentre abbiamo configurato il file di configurazione di esempio con gruppi di 3 per ogni porta (a causa della sezione Telnet di seguito), con questa applicazione non esiste alcuna restrizione sulla quantità di ripetizioni (se non del tutto) per una porta.
Divertiti usando l'app che StavFX ha donato :-)
Knock da Windows / Linux
Mentre è possibile eseguire il Knocking con la più semplice utility di rete a.k.a "Telnet", Microsoft ha deciso che Telnet è un "rischio di sicurezza" e successivamente non lo installerà più per impostazione predefinita sulle finestre moderne. Se mi chiedi "quelli che possono rinunciare alla libertà essenziale per ottenere un po 'di sicurezza temporanea, non meritano né libertà né sicurezza. ~ Benjamin Franklin "ma sto divagando.
Il motivo per cui impostiamo la sequenza di esempio in gruppi di 3 per ogni porta, è che quando telnet non è in grado di connettersi alla porta desiderata, riproverà automaticamente altre 2 volte. Ciò significa che telnet batterà 3 volte prima di mollare. Quindi tutto ciò che dobbiamo fare è eseguire il comando telnet una volta per ogni porta nel gruppo di porte. È anche il motivo per cui è stato selezionato un intervallo di timeout di 30 secondi, poiché dobbiamo attendere il timeout di telnet per ciascuna porta finché non eseguiremo il successivo port-group. È consigliabile che al termine della fase di test, si automatizzi questa procedura con un semplice script Batch / Bash.
Usando la nostra sequenza di esempio, questo sembrerebbe:
- Se sei su Windows, segui le istruzioni MS per installare Telnet.
- Passare a una riga di comando e emettere:
telnet geek.dyndns-at-home.com 56
telnet geek.dyndns-at-home.com 43
telnet geek.dyndns-at-home.com 1443
Se tutto è andato bene, dovrebbe essere così.
Risoluzione dei problemi
Se il tuo router non reagisce alle sequenze, ecco un paio di passaggi per la risoluzione dei problemi che potresti intraprendere:
- Visualizza il log - Knockd manterrà un log che potrai vedere in tempo reale per vedere se le sequenze di colpi sono arrivate al demone e se il comando è stato eseguito correttamente.
Supponendo che tu stia almeno utilizzando il file di registro come nell'esempio sopra, per vederlo in tempo reale, emettere in un terminale:tail -f /var/log/knockd.log
- Presta attenzione ai firewall: a volte il tuo ISP, il posto di lavoro o l'internet cafè si prendono la libertà di bloccare la comunicazione per te. In tal caso, mentre il router potrebbe essere in ascolto, i colpi sulle porte bloccate da qualsiasi parte della catena, non raggiungeranno il router e sarà difficile reagire a loro. Questo è il motivo per cui si consiglia di provare combinazioni che utilizzano le porte note come 80, 443, 3389 e così via prima di provare altre più casuali. Di nuovo, è possibile visualizzare il registro per vedere quali porte raggiungono l'interfaccia WAN del router.
- Provate le sequenze internamente - Prima di coinvolgere la complessità di cui sopra che altre parti della catena possono introdurre, si raccomanda di provare ad eseguire le sequenze internamente per vedere che A. colpiscono il router come si pensa che dovrebbero B. eseguire il comando / s come previsto. Per fare ciò, è possibile avviare Knockd mentre si è collegati alla propria interfaccia LAN con:
knockd -d -i "$ (nvram get lan_ifnameq)" -c /opt/etc/knockd.conf
Una volta eseguito quanto sopra, è possibile indirizzare il client Knocking all'IP interno del router anziché a quello esterno.
Suggerimento: poiché knockd ascolta il livello di "interfaccia" e non il livello IP, potresti desiderare di avere un'istanza di KnockD in esecuzione nell'interfaccia LAN per tutto il tempo. Poiché "Knocker" è stato aggiornato per supportare due host per il knocking, così facendo sarà possibile semplificare e consolidare i tuoi profili knocking. - Ricorda su quale lato è attivo - Non è possibile battere l'interfaccia WAN dall'interfaccia LAN nella configurazione precedente. Se vuoi essere in grado di bussare, non importa "da che parte stai", puoi semplicemente eseguire il demone due volte, una volta legato alla WAN come nell'articolo e una volta legato alla LAN come nella fase di debug dall'alto. Non vi è alcun problema nell'esecuzione sia congiuntamente semplicemente aggiungendo il comando dall'alto allo stesso script di init-geek.
Osservazioni
Mentre l'esempio sopra può essere realizzato con vari altri metodi, speriamo che tu possa usarlo per imparare come realizzare cose più avanzate. Una seconda parte di questo articolo che nasconde il servizio VPN dietro un colpo sta arrivando, quindi rimanete sintonizzati.Attraverso Knocking, sarete in grado di: Aprire dinamicamente le porte, Disabilitare / Abilitare servizi, computer WOL in remoto e altro ...