If-Koubou

Jak zapukać w twoją sieć (DD-WRT)

Jak zapukać w twoją sieć (DD-WRT) (Jak)

Czy kiedykolwiek chciałeś mieć specjalne "pukanie dormetowe" z routerem, aby tylko "otworzyć drzwi", gdy sekretne pukanie zostanie rozpoznane? How-To Geek wyjaśnia, jak zainstalować demona Knock na DD-WRT.

Zdjęcie: Bfick i Aviad Raviv

Jeśli jeszcze tego nie zrobiłeś, pamiętaj i sprawdź wcześniejsze artykuły z serii:

  • Zmień swój domowy router w super-zasilany router z DD-WRT
  • Jak zainstalować dodatkowe oprogramowanie na twoim routerze domowym (DD-WRT)
  • Jak usunąć reklamy z Pixelserv na DD-WRT

Zakładając, że znasz te tematy, czytaj dalej. Należy pamiętać, że ten przewodnik jest nieco bardziej techniczny, a początkujący powinni zachować ostrożność podczas modyfikowania swojego routera.

Przegląd

Tradycyjnie, aby móc komunikować się z urządzeniem / usługą, należałoby zainicjować pełny połączenie sieciowe z tym. Jednak czyni to, co nazywane jest w wieku bezpieczeństwa, powierzchnią ataku. Demon Knocka jest rodzajem sniffera sieciowego, który może reagować, gdy obserwowana jest wstępnie skonfigurowana sekwencja. Ponieważ nie jest konieczne ustanowienie połączenia, aby demon knock mógł rozpoznać skonfigurowaną sekwencję, powierzchnia ataku jest zmniejszana przy zachowaniu pożądanej funkcjonalności. W pewnym sensie będziemy wstępnie warunkować router za pomocąpożądany Odpowiedź "dwóch bitów" (w przeciwieństwie do biednego Rogera ...).

W tym artykule:

  • Pokaż, jak korzystać z Knockd, aby router Wake-On-Lan był komputerem w sieci lokalnej.
  • Pokaż, jak wyzwalać sekwencję Knock z aplikacji na Androida, a także z komputera.

Uwaga: Mimo że instrukcje dotyczące instalacji nie są już istotne, można obejrzeć serię filmów, które utworzyłem "wracam kiedy", aby zobaczyć cały przebieg konfiguracji do pukania. (Po prostu przepraszam za prostą prezentację).

Implikacje dla bezpieczeństwa

Dyskusja na temat "jak bezpieczne jest Knockd?" Jest długa i sięga wielu tysiącleci (w latach internetowych), ale najważniejsze jest to, że:

Knock to warstwa bezpieczeństwa przez zaciemnienie, do której powinno się używać tylko wzmacniać inne środki, takie jak szyfrowanie i nie powinny być używane na własną rękę jako koniec, wszystkie są miarą bezpieczeństwa.

Wymagania wstępne, założenia i zalecenia

  • Zakłada się, że masz router DD-WRT z włączoną opkg.
  • Trochę cierpliwości, ponieważ może to zająć trochę czasu.
  • Zaleca się uzyskanie konta DDNS dla zewnętrznego (zwykle dynamicznego) adresu IP.

Do roboty

Instalacja i podstawowa konfiguracja

Zainstaluj demona Knock, otwierając terminal do routera i wydając:

aktualizacja opkg; opkg install knockd

Teraz, gdy Knockd jest zainstalowany, musimy skonfigurować sekwencje wyzwalające i polecenia, które zostaną wykonane po ich uruchomieniu. Aby to zrobić, otwórz plik "knockd.conf" w edytorze tekstów. Na routerze będzie to:

vi /opt/etc/knockd.conf

Spraw, aby jego treść wyglądała następująco:

[opcje]
logfile = /var/log/knockd.log
UseSyslog

[wakelaptop]
sekwencja = 56,56,56,43,53,43,1443,1443,1443
seq_timeout = 30
command = / usr / sbin / wol aa: bb: cc: dd: ee: 22 -i $ (nvram get lan_ipaddr | cut -d. -f 1,2,3) .255
tcpflags = sync

Wyjaśnijmy powyższe:

  • Segment "options" pozwala skonfigurować globalne parametry demona. W tym przykładzie poinstruowaliśmy demona, aby utrzymywał dziennik zarówno w syslog, jak iw pliku. Chociaż nie szkodzi, używając obu opcji w połączeniu, powinieneś rozważyć zachowanie tylko jednego z nich.
  • Segment "wakelaptop" to przykład sekwencji, która uruchomi polecenie WOL w twojej sieci LAN dla komputera z adresem MAC aa: bb: cc: dd: ee: 22.
    Uwaga: Powyższe polecenie przyjmuje domyślne zachowanie podsieci klasy C.

Aby dodać więcej sekwencji, po prostu skopiuj i wklej segment "wakelaptop" i dostosuj za pomocą nowych parametrów i / lub poleceń do wykonania przez router.

Uruchomienie

Aby router uruchamiał demona podczas uruchamiania, dołącz poniższy tekst do skryptu "geek-init" z przewodnika OPKG:

knockd -d -c /opt/etc/knockd.conf -i "$ (nvram get wan_ifname)"

Spowoduje to uruchomienie demona Knock na interfejsie "WAN" routera, dzięki czemu będzie on słuchał pakietów z Internetu.

Knock z Androida

W dobie przenośności jest to niemal niezbędne, aby "mieć do tego aplikację" ... więc StavFX utworzył do tego zadanie :)
Ta aplikacja wykonuje sekwencje pukania bezpośrednio z urządzenia z systemem Android i obsługuje tworzenie widgetów na ekranie głównym.

  • Zainstaluj aplikację Knocker na rynku Android (również uprzejmie i daj jej dobrą ocenę).
  • Po zainstalowaniu na urządzeniu uruchom go. Powinieneś być witany przez coś takiego:
  • Możesz długo nacisnąć ikonę przykładu, aby ją edytować lub kliknąć "menu", aby dodać nowy wpis. Nowy wpis powinien wyglądać następująco:
  • Dodaj linie i wypełnij informacje wymagane dla Twojego Pukania. Dla przykładowej konfiguracji WOL z góry będzie to:
  • Opcjonalnie zmień ikonę, naciskając długo ikonę obok nazwy Puk.
  • Uratuj Pukanie.
  • Pojedynczy dotknij nowego Knock na ekranie głównym, aby go aktywować.
  • Opcjonalnie utwórz widżet dla niego na ekranie głównym.

Należy pamiętać, że chociaż skonfigurowaliśmy przykładowy plik konfiguracyjny z grupami po 3 dla każdego portu (ze względu na sekcję Telnet poniżej), w przypadku tej aplikacji nie ma ograniczeń co do liczby powtórzeń (jeśli w ogóle) dla portu.
Baw się dobrze za pomocą aplikacji, którą StavFX przekazał :-)

Knock z Windows / Linux

Chociaż możliwe jest wykonanie Pukania za pomocą najprostszego narzędzia sieciowego a.k.a "Telnet", Microsoft zdecydował, że Telnet jest "zagrożeniem bezpieczeństwa", a następnie nie instaluje go domyślnie w nowoczesnych oknach. Jeśli zapytasz mnie: "Ci, którzy mogą zrezygnować z podstawowej wolności, aby uzyskać tymczasowe bezpieczeństwo, nie zasługują ani na wolność, ani na bezpieczeństwo. ~ Benjamin Franklin "ale dygresję.

Powodem, dla którego ustawiliśmy przykładową sekwencję na grupy po 3 dla każdego portu, jest to, że gdy telnet nie może połączyć się z żądanym portem, automatycznie spróbuje ponownie 2 razy. Oznacza to, że telnet faktycznie zapuka 3 razy przed poddaniem się. Więc wszystko, co musimy zrobić, to wykonać polecenie telnet raz dla każdego portu w grupie portów. Jest to również powód, dla którego wybrano 30-sekundowy przedział czasu, ponieważ musimy czekać na timeout telnetu dla każdego portu, dopóki nie wykonamy następnej grupy portów. Zaleca się, aby po zakończeniu fazy testowania zautomatyzować tę procedurę za pomocą prostego skryptu Batch / Bash.

Przy użyciu naszej przykładowej sekwencji będzie wyglądać następująco:

  • Jeśli korzystasz z systemu Windows, postępuj zgodnie z instrukcjami MS, aby zainstalować usługę Telnet.
  • Upuść do wiersza poleceń i wydać:
    telnet geek.dyndns-at-home.com 56
    telnet geek.dyndns-at-home.com 43
    telnet geek.dyndns-at-home.com 1443

Jeśli wszystko poszło dobrze, to powinno być to.

Rozwiązywanie problemów

Jeśli router nie reaguje na sekwencje, możesz wykonać kilka czynności, które możesz rozwiązać:

  • Zobacz dziennik - Knockd będzie przechowywać dziennik, który można przeglądać w czasie rzeczywistym, aby sprawdzić, czy sekwencje pukania dotarły do ​​demona i czy polecenie zostało wykonane poprawnie.
    Zakładając, że przynajmniej korzystasz z pliku dziennika, jak w powyższym przykładzie, aby wyświetlić go w czasie rzeczywistym, problem w terminalu:

    tail -f /var/log/knockd.log

  • Uważaj na zapory ogniowe - czasami twój dostawca usług internetowych, miejsce pracy lub kawiarenka internetowa mogą swobodnie blokować komunikację. W takim przypadku, podczas gdy twój router może nasłuchiwać, uderzenia w porty zablokowane przez jakąkolwiek część łańcucha, nie dotrą do routera i będzie to trudne z powodu reagowania na nie. Dlatego zaleca się wypróbowanie kombinacji, które używają dobrze znanych portów, takich jak 80, 443, 3389 itd., Zanim spróbujesz bardziej losowych. Ponownie możesz wyświetlić dziennik, aby zobaczyć, które porty docierają do interfejsu WAN routera.
  • Wypróbuj sekwencje wewnętrznie - Zanim przejdziesz do powyższej złożoności, którą mogą wprowadzić inne części łańcucha, zaleca się, abyś spróbował wykonać sekwencje wewnętrznie, aby zobaczyć, że A. trafiły one na router, tak jak uważasz, że powinny B. wykonać polecenie / s zgodnie z oczekiwaniami. Aby to osiągnąć, możesz uruchomić Knockd, gdy jesteś powiązany z interfejsem LAN, używając:

    knockd -d -i "$ (nvram get lan_ifnameq)" -c /opt/etc/knockd.conf

    Po wykonaniu powyższego polecenia możesz skierować klienta pukającego do wewnętrznego adresu IP routera zamiast do zewnętrznego.
    Wskazówka: Ponieważ knockd nasłuchuje na poziomie "interfejsu", a nie na poziomie IP, może zaistnieć potrzeba ciągłego uruchamiania KnockD w interfejsie LAN. Ponieważ "Knocker" został zaktualizowany do obsługi dwóch hostów do pukania, robi to w celu uproszczenia i skonsolidowania twoich profili pukania.

  • Zapamiętaj po której stronie - Nie można Knockować interfejsu WAN z interfejsu LAN w powyższej konfiguracji. Jeśli chciałbyś zapukać bez względu na to, "po której stronie" możesz po prostu uruchomić demona dwa razy, po podłączeniu do sieci WAN, tak jak w artykule i po podłączeniu do sieci LAN, jak w kroku debugowania od góry. Nie ma problemu z uruchomieniem obu w połączeniu, po prostu dołączając powyższą komendę do tego samego skryptu geek-init.

Uwagi

Chociaż powyższy przykład można osiągnąć za pomocą różnych innych metod, mamy nadzieję, że można go użyć, aby dowiedzieć się, jak osiągnąć więcej postępów. Część druga tego artykułu, która ukrywa usługę VPN za pukaniem, nadchodzi, więc zostańcie z nami.

Poprzez Knocking, będziesz mógł: Dynamicznie otwierać porty, wyłączać / włączać usługi, zdalne komputery WOL i więcej ...