Как да чукаш в твоята мрежа (DD-WRT)
Били ли сте някога искали да имате този специален „чук за общежитие“ с вашия рутер, така че той да „отвори само вратата“, когато тайното чукане е било разпознато? How-To Geek обяснява как да инсталирате демона Knock на DD-WRT.
Изображение от Bfick и Aviad Raviv
Ако все още не сте го направили, уверете се, че сте получили предишни статии от поредицата:
- Превърнете домашния си рутер в супер-задвижван рутер с DD-WRT
- Как да инсталирате допълнителен софтуер на домашния си маршрутизатор (DD-WRT)
- Как да премахнете реклами с Pixelserv на DD-WRT
Ако приемем, че сте запознати с тези теми, продължете да четете. Имайте предвид, че това ръководство е малко по-технически и начинаещите трябва да внимават при модифицирането на рутера.
Преглед
Традиционно, за да може да комуникира с устройство / услуга, човек трябва да инициира a пълен мрежова връзка с него. Въпреки това, това, което се нарича в епохата на сигурността, разкрива повърхност на атака. Демон Knock е вид мрежов sniffer, който може да реагира, когато се наблюдава предварително конфигурирана последователност. Тъй като не е необходимо да се установява връзка, за да може демонът да почука конфигурирана последователност, повърхността на атаката се намалява, като се запазва желаната функционалност. В известен смисъл, ние ще предпоставим рутера с a желания Отговор „два бита“ (за разлика от лошия Роджър…).
В тази статия ще:
- Покажете как да използвате Knockd, за да имате рутер Wake-On-Lan на компютър в локалната ви мрежа.
- Покажете как да задействате последователността на Knock от приложение на Android, както и от компютър.
Забележка: Докато инструкциите за инсталиране вече не са актуални, можете да гледате филмовата серия, която съм създала “назад, когато”, за да видите цялото обобщение на конфигурирането до чукане. (Извинете само грубото представяне).
последици за сигурността
Дискусията за „колко сигурно е Knockd?“, Е дълга и датира от хилядолетия (в интернет години), но в крайна сметка това е следното:
Knock е слой на сигурност от неяснота, към която трябва да се използва само повишаване на други средства като шифроване и не трябва да се използват по своя собствена цел като крайна цел е всички мерки за сигурност.
Предпоставки, предположения и препоръки
- Предполага се, че имате активиран Opkg маршрутизатор DD-WRT.
- Някои търпение, тъй като това може да отнеме известно време, за да настроите.
- Силно се препоръчва да получите DDNS акаунт за вашия външен (обикновено динамичен) IP.
Да получим крекинг
Инсталация и основна конфигурация
Инсталирайте демона Knock, като отворите терминал към маршрутизатора и издадете:
opkg update; opkg инсталирате knockd
Сега, когато Knockd е инсталиран, трябва да конфигурираме задействащите последователности и команди, които ще се изпълняват, след като бъдат задействани. За да направите това, отворете файла “knockd.conf” в текстов редактор. На рутера това ще бъде:
vi /opt/etc/knockd.conf
Направете съдържанието си така:
[настроики]
logfile = /var/log/knockd.log
UseSyslog
[Wakelaptop]
последователност = 56,56,56,43,43,43,1443,1443,1443
seq_timeout = 30
command = / usr / sbin / wol aa: bb: cc: dd: ee: 22 -i $ (nvram се lan_ipaddr | cut -d. -f 1,2,3) .255
tcpflags = sync
Да обясним по-горе:
- Сегментът "options" позволява да се конфигурират глобални параметри за демона. В този пример ние сме инструктирали демона да води регистър както в syslog, така и във файл. Макар и да не вреди на използването на двете опции в комбинация, трябва да помислите за запазване само на един от тях.
- Сегментът "wakelaptop" е пример за последователност, която ще задейства командата WOL към локалната мрежа за компютър с MAC адрес на aa: bb: cc: dd: ee: 22.
Забележка: Посочената по-горе команда приема по подразбиране поведението на подмрежа клас C.
За да добавите повече последователности, просто копирайте и поставете сегмента "wakelaptop" и го коригирайте с нови параметри и / или команди, които да се изпълняват от маршрутизатора.
Започвам
За да накарате маршрутизатора да извика демонът при стартиране, добавете долната част към скрипта „geek-init“ от ръководството OPKG:
knockd -d -c /opt/etc/knockd.conf -i "$ (nvram получи wan_ifname)"
Това ще стартира демона Knock в интерфейса "WAN" на маршрутизатора, така че да слуша пакети от интернет.
Чук от Android
В ерата на преносимостта е почти задължително “да има приложение за това”… така че StavFX създаде такъв за задачата :)
Това приложение изпълнява удари последователности направо от вашето устройство Android и поддържа създаването на джаджи на началните екрани.
- Инсталирайте приложението Knocker от пазара на Android (също моля да бъдете любезен и да му дадете добра оценка).
- Веднъж инсталиран на устройството, стартирайте го. Трябва да ви посрещне нещо като:
- Можете дълго да натискате иконата на примера, за да го редактирате, или да кликнете върху „меню“, за да добавите нов запис. Нов запис ще изглежда така:
- Добавете редове и попълнете информацията, необходима за Вашия Knocking. За пример WOL конфигурация от по-горе това ще бъде:
- По желание можете да промените иконата чрез продължително натискане на иконата до името Knock.
- Запазете Knock.
- Еднократно докоснете новия Knock в основния екран, за да го активирате.
- По избор създайте джаджа за него на началния екран.
Имайте предвид, че докато конфигурирахме примерния конфигурационен файл с групи от по 3 за всеки порт (поради долната част на Telnet), с това приложение няма ограничение за количеството повторения (ако изобщо) за пристанище.
Забавлявайте се, използвайки приложението, което StavFX е дарил :-)
Knock от Windows / Linux
Макар че е възможно да се извърши Knocking с най-простата мрежова програма a.k.a “Telnet”, Microsoft реши, че Telnet е “риск за сигурността” и впоследствие вече не го инсталира по подразбиране на модерни прозорци. Ако ме питате „Те, които могат да се откажат от съществена свобода, за да получат малко временна безопасност, не заслужават нито свобода, нито безопасност. ~ Бенджамин Франклин, но аз се отклонявам.
Причината да зададем примерната последователност на групи от по 3 за всеки порт е, че когато telnet не може да се свърже с желания порт, той автоматично ще опита отново още 2 пъти. Това означава, че telnet действително ще почука 3 пъти преди да се откаже. Така че всичко, което трябва да направим, е да изпълним командата telnet веднъж за всеки порт в групата на портовете. Това е и причината да е избран интервал от 30 секунди за изчакване, тъй като трябва да изчакаме времето за изчакване на telnet за всяко пристанище, докато изпълним следващата група. Препоръчително е, когато приключите с фазата на тестване, да автоматизирате тази процедура с прост скрипт Batch / Bash.
Използвайки нашата примерна последователност, това ще изглежда по следния начин:
- Ако сте на Windows, следвайте инструкциите на MS, за да инсталирате Telnet.
- Пуснете в командния ред и издайте:
telnet geek.dyndns-at-home.com 56
telnet geek.dyndns-at-home.com 43
telnet geek.dyndns-at-home.com 1443
Ако всичко вървеше добре, трябваше да бъде.
Отстраняване на проблеми
Ако вашият маршрутизатор не реагира на последователности, ето няколко стъпки за отстраняване на неизправности, които може да предприемете:
- Преглед на регистрационния файл - Knockd ще запази дневник, който можете да прегледате в реално време, за да видите дали подбиващите последователности са пристигнали на демона и ако командата е изпълнена правилно.
Ако приемем, че използвате поне лог-файла, както в примера по-горе, за да го видите в реално време, издайте в терминал:tail -f /var/log/knockd.log
- Бъдете внимателни към защитните стени - Понякога вашият интернет доставчик, работното място или интернет кафето, си позволяват да блокирате комуникацията за вас. В такъв случай, докато вашият рутер може да слуша, ударите на портове, които са блокирани от която и да е част от веригата, няма да достигнат до рутера и ще им е трудно да реагират на тях. Ето защо се препоръчва да опитате комбинации, които използват добре познатите портове като 80, 443, 3389 и т.н., преди да опитате повече случайни. Отново, можете да видите дневника, за да видите какви портове достигат WAN интерфейса на маршрутизатора.
- Опитайте вътрешните последователности - Преди да включите по-горната сложност, която могат да се въведат от други части на веригата, се препоръчва да се опитате да изпълните вътрешните последователности, за да видите, че те A. се сблъскват с маршрутизатора, както смятате, че трябва да изпълнят командата / както е очаквано. За да постигнете това, можете да стартирате Knockd, докато сте обвързани с LAN интерфейса си с:
knockd -d -i "$ (nvram get lan_ifnameq)" -c /opt/etc/knockd.conf
След като се изпълни горепосоченото, можете да насочите Knocking клиента към вътрешния IP на маршрутизатора, вместо към неговия външен.
Съвет: Тъй като чукът слуша на ниво „интерфейс”, а не на ниво IP, може да искате да имате инстанция на KnockD, работеща през LAN интерфейса през цялото време. Тъй като "Knocker" е актуализиран, за да подкрепи двама домакини за чукане, това ще направи, за да се опрости и консолидира вашите чукащи профили. - Не забравяйте коя е Вашата страна - Не е възможно да се прекъсне WAN интерфейсът от LAN интерфейса в горната конфигурация. Ако искате да можете да чукате, независимо от това, с коя страна сте, можете просто да изпълните демона два пъти, след като се свържете с WAN, както е в статията и веднъж свържете към LAN, както при стъпката за отстраняване на грешки от горе. Няма проблем да се изпълняват и двете заедно, като просто добавите командата отгоре към същия скрипт.
Забележки
Докато горният пример може да бъде осъществен чрез различни други методи, ние се надяваме, че можете да го използвате, за да научите как да постигнете повече предварителни неща. Част втора към тази статия, която крие VPN услугата зад едно чукче, идва, така че останете на линия.Чрез счупване ще можете да: динамично отваряте портове, деактивирате / активирате услуги, отдалечено WOL компютри и още… \ t