Hoe te kloppen in uw netwerk (DD-WRT)
Heb je ooit je speciale "slaapzaaltje" willen kloppen met je router, om het alleen maar "de deur te openen" wanneer de geheime klop herkend werd? How-To Geek legt uit hoe de Knock-daemon op DD-WRT te installeren.
Afbeelding door Bfick en Aviad Raviv
Als je dat nog niet hebt gedaan, controleer dan de vorige artikelen in de serie:
- Verander uw Home Router met behulp van DD-WRT in een Super Powered Router
- Extra software installeren op uw thuisrouter (DD-WRT)
- Hoe advertenties met Pixelserv op DD-WRT verwijderen
Ervan uitgaande dat u bekend bent met die onderwerpen, blijf lezen. Houd er rekening mee dat deze handleiding iets technischer is en dat beginners voorzichtig moeten zijn bij het modden van hun router.
Overzicht
Traditioneel, om met een apparaat / dienst te kunnen communiceren, zou men een a moeten initiëren vol netwerkverbinding ermee. Als je dat doet, wordt echter een aanvalsoppervlak blootgelegd, wat in het beveiligingsleeftijd wordt genoemd. De Knock-daemon is een soort netwerksniffer die kan reageren wanneer een vooraf geconfigureerde reeks wordt waargenomen. Omdat er geen verbinding tot stand hoeft te worden gebracht om de knock-daemon een geconfigureerde reeks te laten herkennen, wordt het aanvalsoppervlak verkleind terwijl de gewenste functionaliteit behouden blijft. In zekere zin zullen we de router vooraf conditioneren met een gewenste "Twee bits" antwoord (in tegenstelling tot arme Roger ...).
In dit artikel zullen we:
- Laat zien hoe je Knockd kunt gebruiken om de router Wake-On-Lan een computer te laten hebben op je lokale netwerk.
- Laat zien hoe de Knock-reeks kan worden geactiveerd vanuit een Android-applicatie en een computer.
Opmerking: hoewel de installatie-instructies niet langer relevant zijn, kunt u de filmserie bekijken die ik 'heel lang geleden' heb gemaakt, om de hele overzichtelijkheid te zien van configureren tot kloppen. (Excuses voor de ruwe presentatie).
gevolgen voor de beveiliging
De discussie over "hoe veilig is Knockd?", Is lang en dateert vele millennia (in internetjaren), maar het komt erop neer:
Klop is een laag van beveiliging door onduidelijkheid, die alleen moet worden gebruikt om verbeteren andere middelen zoals codering en mogen niet op zichzelf worden gebruikt als een eind, het is allemaal een veiligheidsmaatregel.
Vereisten, veronderstellingen en aanbevelingen
- Er wordt van uitgegaan dat u een Opkg-enabled DD-WRT-router heeft.
- Enig geduld omdat dit "een tijdje" kan duren om in te stellen.
- Het wordt sterk aanbevolen om een DDNS-account te verkrijgen voor uw externe (meestal dynamische) IP.
Laten we kraken
Installatie en basisconfiguratie
Installeer de Knock-daemon door een terminal te openen naar de router en het volgende uit te geven:
opkg update; opkg install knockd
Nu Knockd is geïnstalleerd, moeten we de triggerende sequenties en opdrachten configureren die worden uitgevoerd zodra ze worden geactiveerd. Open hiervoor het bestand "knockd.conf" in een teksteditor. Op de router zou dit zijn:
vi /opt/etc/knockd.conf
Laat de inhoud er als volgt uitzien:
[Opties]
logfile = /var/log/knockd.log
UseSyslog
[Wakelaptop]
sequentie = 56,56,56,43,43,43,1443,1443,1443
seq_timeout = 30
command = / usr / sbin / wol aa: bb: cc: dd: ee: 22 -i $ (nvram krijg lan_ipaddr | cut -d. -f 1,2,3) .255
tcpflags = synchronisatie
Laten we het bovenstaande uitleggen:
- Het segment "options" maakt het mogelijk om globale parameters voor de daemon te configureren. In dit voorbeeld hebben we de daemon opdracht gegeven om een logboek bij te houden, zowel in het syslog als in een bestand. Hoewel het niet schadelijk is om beide opties samen te gebruiken, moet u overwegen er slechts één te bewaren.
- Het segment "wakelaptop" is een voorbeeld van een reeks die de WOL-opdracht naar uw LAN zal activeren voor een computer met het MAC-adres van aa: bb: cc: dd: ee: 22.
Opmerking: de bovenstaande opdracht veronderstelt het standaardgedrag van een klasse C-subnet.
Om meer reeksen toe te voegen, kopieert en plakt u simpelweg het "wakelaptop" -segment en past u aan met nieuwe parameters en / of opdrachten die moeten worden uitgevoerd door de router.
Opstarten
Om ervoor te zorgen dat de router de daemon oproept bij het opstarten, voeg je het onderstaande toe aan het "geek-init" -script uit de OPKG-handleiding:
knockd -d -c /opt/etc/knockd.conf -i "$ (nvram get wan_ifname)"
Hiermee start u de Knock-daemon op de "WAN" -interface van uw router, zodat deze naar pakketten van internet luistert.
Knock van Android
In het tijdperk van draagbaarheid is het bijna noodzakelijk om "daar een app voor te hebben" ... dus StavFX creëerde er een voor de taak :)
Deze app voert de klopsequenties vanaf uw Android-apparaat uit en ondersteunt het maken van widgets op uw startschermen.
- Installeer de Knocker-applicatie van de Android-markt (wees ook vriendelijk en geef hem een goede beoordeling).
- Na de installatie op uw apparaat, start u het. Je zou moeten worden begroet door iets als:
- U kunt lang op het voorbeeldpictogram drukken om het te bewerken of op "menu" klikken om een nieuw item toe te voegen. Een nieuw item zou er als volgt uitzien:
- Voeg regels toe en vul de informatie in die nodig is voor uw kloppen. Voor de voorbeeld WOL-configuratie van boven zou dit zijn:
- Verander het pictogram eventueel door lang op het pictogram naast de slag te drukken.
- Red de klop.
- Tik één keer op de nieuwe knop in het hoofdscherm om deze te activeren.
- Maak optioneel een widget hiervoor op een startscherm.
Houd er rekening mee dat hoewel we het voorbeeldconfiguratiebestand hebben geconfigureerd met groepen van 3 voor elke poort (vanwege het onderstaande Telnet-gedeelte), er bij deze toepassing geen beperking is voor het aantal herhalingen (of helemaal niet) voor een poort.
Veel plezier met de app die StavFX heeft gedoneerd :-)
Slag van Windows / Linux
Hoewel het mogelijk is om het kloppen uit te voeren met het eenvoudigste netwerkhulpprogramma a.k.a "Telnet", heeft Microsoft besloten dat Telnet een "beveiligingsrisico" is en het vervolgens niet langer standaard op moderne vensters installeert. Als u mij vraagt: "Zij die essentiële vrijheid kunnen opgeven om een beetje tijdelijke veiligheid te verkrijgen, verdienen noch vrijheid, noch veiligheid. ~ Benjamin Franklin "maar ik dwaal af.
De reden dat we de voorbeeldreeks instellen op groepen van 3 voor elke poort, is dat wanneer telnet geen verbinding kan maken met de gewenste poort, deze automatisch nog twee keer zal proberen. Dit betekent dat Telnet 3 keer zal kloppen voordat hij het opgeeft. Dus alles wat we moeten doen is het Telnet-commando één keer uitvoeren voor elke poort in de poortgroep. Dit is ook de reden dat er een time-outinterval van 30 seconden is gekozen, omdat we moeten wachten op Telnet-time-out voor elke poort totdat we de volgende poortgroep uitvoeren. Het wordt aanbevolen om, als u klaar bent met de testfase, deze procedure te automatiseren met een eenvoudig Batch / Bash-script.
Met behulp van onze voorbeeldreeks zou dit er als volgt uitzien:
- Als u Windows gebruikt, volgt u de MS-instructie om Telnet te installeren.
- Stuur naar een opdrachtregel en vraag:
telnet geek.dyndns-at-home.com 56
telnet geek.dyndns-at-home.com 43
telnet geek.dyndns-at-home.com 1443
Als alles goed ging, zou dat het moeten zijn.
Probleemoplossen
Als uw router niet reageert op sequenties, volgen hier een aantal stappen voor probleemoplossing die u kunt nemen:
- Bekijk het log - Knockd zal een log bijhouden die je in realtime kunt bekijken om te zien of de klopsequenties zijn aangekomen bij de daemon en of de opdracht correct is uitgevoerd.
Ervan uitgaande dat u op zijn minst het log-bestand gebruikt zoals in het bovenstaande voorbeeld, om het in realtime te bekijken, geeft u het in een terminal uit:tail -f /var/log/knockd.log
- Denk aan firewalls - soms neemt uw ISP, werkplek of internetcafe de vrijheid om communicatie voor u te blokkeren. In een dergelijk geval zal, terwijl uw router mogelijk luistert, de kloppen op poorten die door een deel van de ketting worden geblokkeerd, de router niet bereiken en zal het moeilijk zijn om daarop te reageren. Dat is de reden waarom het wordt aanbevolen om combinaties te proberen die de bekende poorten gebruiken, zoals 80, 443, 3389 enzovoort, voordat er meer willekeurige worden geprobeerd. Nogmaals, u kunt het logboek bekijken om te zien welke poorten de WAN-interface van de router bereiken.
- Probeer de sequenties intern uit - Voordat de bovenstaande complexiteit wordt gebruikt die andere delen van de keten kunnen introduceren, is het raadzaam om de sequenties intern uit te voeren om te zien dat ze A. de router raken zoals je denkt dat ze zouden moeten B. uitvoeren van het commando / s zoals verwacht. Om dit te bereiken, kunt u Knockd starten terwijl u gebonden bent aan uw LAN-interface met:
knockd -d -i "$ (nvram get lan_ifnameq)" -c /opt/etc/knockd.conf
Zodra het bovenstaande is uitgevoerd, kunt u de kloppende client naar de interne IP van de router leiden in plaats van de externe IP.
Tip: omdat knockd luistert op het "interface" -niveau en niet op het IP-niveau, wilt u misschien dat een exemplaar van KnockD de hele tijd op de LAN-interface draait. Omdat "Knocker" is bijgewerkt om twee hosts te ondersteunen voor kloppen, zal dit gebeuren om uw klopprofielen te vereenvoudigen en te consolideren. - Onthoud welke kant je op - Het is niet mogelijk om de WAN-interface van de LAN-interface knock-out in de bovenstaande configuratie. Als je wilt kunnen kloppen, ongeacht "aan welke kant je", kun je de demon eenvoudig twee keer uitvoeren, eenmaal gebonden aan het WAN zoals in het artikel en eenmaal gebonden aan het LAN zoals in de foutopsporingstap van boven. Het is geen probleem om beide in combinatie te gebruiken door simpelweg de opdracht van bovenaf toe te voegen aan hetzelfde geek-init-script.
Opmerkingen
Hoewel het bovenstaande voorbeeld met verschillende andere methoden kan worden bereikt, hopen we dat u het kunt gebruiken om te leren hoe u meer geavanceerde dingen kunt bereiken. Een deel twee van dit artikel dat de VPN-service verbergt, komt eraan, dus houd het in de gaten.Via Knocking kunt u: Dynamisch poorten openen, Services uitschakelen / inschakelen, WOL-computers op afstand en meer ...