V-ați dorit vreodată să aveți acel "cioc de dormit" special cu routerul, pentru a avea doar "deschideți ușa" când a fost recunoscută lovitura secretă? How-To Geek explică modul de instalare a daemonului Knock pe DD-WRT.
Imagine de Bfick și Aviad Raviv
Dacă nu ați făcut-o deja, asigurați-vă și verificați articolele anterioare din seria:
Presupunând că sunteți familiarizați cu aceste subiecte, continuați să citiți. Rețineți că acest ghid este puțin mai tehnic și începătorii ar trebui să fie atenți atunci când își modifică ruterul.
În mod tradițional, pentru a putea comunica cu un dispozitiv / serviciu, ar trebui să inițieze o deplin conectarea la rețea cu acesta. Cu toate acestea, acest lucru expune, ceea ce se numește în epoca de securitate, o suprafață de atac. Daemonul Knock este un fel de dispozitiv de detectare a rețelei care poate reacționa atunci când se observă o secvență preconfigurată. Deoarece nu trebuie stabilită o conexiune pentru ca daemonul knock să recunoască o secvență configurată, suprafața de atac este redusă în timp ce se menține funcționalitatea dorită. Într-un sens, vom precondi router-ul cu adorit Răspunsul "doi biți" (spre deosebire de Roger ...).
În acest articol vom:
Notă: În timp ce instrucțiunile de instalare nu mai sunt relevante, puteți viziona seria de filme pe care le-am creat "înapoi când", pentru a vedea întreaga rundown de configurări pentru a bate. (Doar scuzați prezentarea brutală).
Discuția despre "cât de sigură este Knockd?", Este lungă și datează de mai multe milenii (în anii de internet), dar linia de jos este următoarea:
Knock este un strat de securitate prin obscuritate, care ar trebui folosit doar pentru a spori alte mijloace, cum ar fi criptarea și nu ar trebui să fie folosite pe cont propriu ca un sfârșit, toate ar fi toate măsurile de securitate.
Instalare și configurare de bază
Instalați daemonul Knock deschizând un terminal pe router și eliberând:
opkg update; opkg install knockd
Acum, când Knockd este instalat, trebuie să configuram secvențele de declanșare și comenzile care vor fi executate odată ce acestea sunt declanșate. Pentru aceasta, deschideți fișierul "knockd.conf" într-un editor de text. Pe router aceasta ar fi:
vi /opt/etc/knockd.conf
Faceți ca conținutul să arate astfel:
[Opțiuni]
logfile = /var/log/knockd.log
UseSyslog
[Wakelaptop]
secvență = 56,56,56,43,43,43,1443,1443,1443
seq_timeout = 30
comanda = / usr / sbin / wol aa: bb: cc: dd: ee: 22 -i $ (nvram get lan_ipaddr | cut -d. -f 1,2,3) .255
tcpflags = sincronizare
Să explicăm cele de mai sus:
Pentru a adăuga mai multe secvențe, copiați și lipiți segmentul "wakelaptop" și reglați parametrii și / sau comenzile noi care urmează să fie executate de către router.
Pentru a avea routerul să invocă daemonul la pornire, adăugați mai jos scriptul "geek-init" din ghidul OPKG:
knockd -d -c /opt/etc/knockd.conf -i "$ (nvram get wan_ifname)"
Aceasta va porni daemonul Knock de pe interfața "WAN" a routerului dvs., astfel încât să asculte pachetele de pe internet.
În vîrstă de portabilitate este aproape imperativ să "aibă o aplicație pentru asta" ... deci StavFX a creat unul pentru sarcina :)
Această aplicație execută secvențele de batere chiar de pe dispozitivul dvs. Android și susține crearea de widget-uri pe ecranele dvs. de acasă.
Rețineți că în timp ce am configurat fișierul de configurare exemplu cu grupuri de câte 3 pentru fiecare port (din cauza secțiunii Telnet de mai jos), cu această aplicație nu există nicio restricție pentru numărul de repetări (dacă este deloc) pentru un port.
Distreaza-te folosind aplicatia pe care StavFX a donat-o :-)
Knock de la Windows / Linux
În timp ce este posibil să se efectueze baterea cu cel mai simplu utilitar de rețea a.k.a "Telnet", Microsoft a decis că Telnet este un "risc de securitate" și, ulterior, nu îl mai instalează în mod implicit pe ferestrele moderne. Dacă mă întrebați: "Cei care pot renunța la libertatea esențială pentru a obține o mică siguranță temporară, nu merită nici libertate, nici siguranță. ~ Benjamin Franklin ", dar am digresa.
Motivul pentru care setăm secvența de exemple la grupuri de câte 3 pentru fiecare port este că atunci când telnet nu poate să se conecteze la portul dorit, va încerca automat din nou de 2 ori mai mult. Aceasta înseamnă că telnet va bate de fapt de 3 ori înainte de a renunța. Deci, tot ce trebuie să faceți este să executați comanda telnet o dată pentru fiecare port din grupul de porturi. Este, de asemenea, motivul pentru care a fost selectat un interval de timp de 30 de secunde, deoarece trebuie să așteptăm timpul de expirare al telnet-ului pentru fiecare port până când executăm următorul grup de porturi. Se recomandă ca atunci când ați terminat cu faza de testare, să automatizați această procedură cu un simplu script Batch / Bash.
Folosind exemplul nostru de exemplu acest lucru ar arata ca:
Dacă totul ar merge bine, ar trebui să fie așa.
Depanare
Dacă routerul dvs. nu reacționează la secvențe, iată câțiva pași de depanare pe care îi puteți lua:
coada -f /var/log/knockd.log
knockd -d -i "$ (nvram get lan_ifnameq)" -c /opt/etc/knockd.conf
După executarea celor de mai sus, puteți direcționa clientul Knocking pe IP intern al routerului în locul celui extern.
Sfat: Deoarece nodul ascultă la nivelul "interfeței" și nu la nivelul IP, poate doriți să aveți o instanță de KnockD care rulează pe interfața LAN tot timpul. Ca "knocker" a fost actualizat pentru a sprijini două gazde pentru bate, face acest lucru pentru a simplifica și consolida profilul dvs. bate.
Prin intermediul Knocking, veți putea să: Deschideți dinamic porturile, Dezactivați / Activați servicii, computere WOL de la distanță și multe altele ...