Główna » jak » Jak zapukać w twoją sieć (DD-WRT)

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

    Czy kiedykolwiek chciałeś, aby twój router miał specjalne "kołatanie w dormitorium", 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:

    • Zamień 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:

    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 jako samodzielne jako całość, 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, może to zająć trochę czasu.
    • Zdecydowanie 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 będą wykonywane po ich uruchomieniu. Aby to zrobić, otwórz plik "knockd.conf" w edytorze tekstu. 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,4, 33,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 za pomocą obu opcji w połączeniu, należy rozważyć zachowanie tylko jeden 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 prawie konieczne, 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ś zostać powitany przez coś takiego:
    • Możesz długo naciskać ikonę przykładu, aby ją edytować lub kliknąć "menu", aby dodać nowy wpis. Nowy wpis wyglądałby tak:
    • 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 pytasz 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 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żesz przeglądać w czasie rzeczywistym, aby zobaczyć, czy sekwencje pukające dotarły do ​​demona i czy polecenie zostało wykonane poprawnie.
      Zakładając, że przynajmniej korzystasz z pliku logu, jak w powyższym przykładzie, aby wyświetlić go w czasie rzeczywistym, wydaj terminal:

      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żna 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żesz chcieć mieć instancję KnockD działającą w interfejsie LAN przez cały czas. Ponieważ "Knocker" został zaktualizowany, aby obsługiwać dwa hosty do pukania, w ten sposób, aby uprościć i skonsolidować twoje profile 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 z góry. Nie ma problemu z uruchomieniem obu w połączeniu, po prostu dołączając powyższe polecenie do tego samego skryptu init geek.

    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 ...