Ви коли-небудь хотіли отримати такий особливий «стукіт в гуртожиток» з вашим маршрутизатором, щоб він «відкривав двері» лише тоді, коли секретний стукіт був розпізнаний? How-To Geek пояснює, як встановити демон Knock на DD-WRT.
Зображення Bfick та Авіад Равів
Якщо ви цього ще не зробили, переконайтеся, перегляньте попередні статті з серії:
- Перетворіть свій домашній маршрутизатор у суперпотужний маршрутизатор з DD-WRT
- Як встановити додаткове програмне забезпечення на домашньому маршрутизаторі (DD-WRT)
- Як видалити рекламу за допомогою Pixelserv на DD-WRT
Припускаючи, що ви знайомі з цими темами, продовжуйте читати. Майте на увазі, що цей посібник є трохи більш технічним, і новачкам слід бути обережними під час модифікації маршрутизатора.
Огляд
Традиційно, щоб мати можливість спілкуватися з пристроєм / послугою, потрібно було б ініціювати повний мережеве з'єднання з ним. Однак це виявляє, що називається в епоху безпеки, поверхню атаки. Демон Knock - це свого роду a мережевий снифер які можуть реагувати, коли спостерігається заздалегідь налаштована послідовність. Як зв’язок встановлювати не потрібно для того, щоб демон стуку розпізнав налаштовану послідовність, поверхня атаки зменшується, зберігаючи бажану функціональність. У певному сенсі ми будемо попередньо обробляти маршрутизатор a бажаний “ два біти ”Відповідь (на відміну від бідного Роджера ...).
У цій статті ми будемо:
- Покажіть, як за допомогою Knockd мати маршрутизатор Wake-On-Lan комп’ютер у вашій локальній мережі.
- Показати, як активувати послідовність Knock з Додаток для Android , а також комп’ютер.
Примітка. Хоча інструкції з установки більше не актуальні, ви можете переглянути серію фільмів Я створив "шлях назад, коли", щоб побачити весь звіт налаштування на стукіт. (Просто вибачте за грубу презентацію).
Значення безпеки
Дискусія про “ наскільки безпечним є Knockd ?”, довгий та дати назад багато тисячоліть (в Інтернет-роки), але суть наступна:
Стук - це рівень безпеки, що невідомий, до якого слід лише звикати посилити інші засоби, такі як шифрування, і не повинні використовуватися як такі, як кінець, щоб бути всім заходом безпеки.
Передумови, припущення та рекомендації
- Передбачається, що у вас є Opkg підтримує маршрутизатор DD-WRT .
- Трохи терпіння, оскільки для налаштування це може зайняти «деякий час».
- Настійно рекомендується отримати Обліковий запис DDNS для вашого зовнішнього (як правило, динамічного) IP.
Давайте розтріскуємось
Встановлення та базова конфігурація
Встановіть демон Knock, відкривши термінал маршрутизатора і видавши:
оновлення opkg; opkg встановити knockd
Тепер, коли Knockd встановлено, нам потрібно налаштувати послідовності запуску та команди, які будуть виконуватися після їх запуску. Для цього відкрийте файл “knockd.conf” у текстовому редакторі. На маршрутизаторі це буде:
vi /opt/etc/knockd.conf
Зробіть його зміст таким:
[options]
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 = синхронізувати
Пояснимо вищезазначене:
- Сегмент «параметри» дозволяє налаштувати глобальні параметри демона. У цьому прикладі ми доручили демону триматися журнал як у системному журналі, так і у файлі . Незважаючи на те, що спільно використовувати обидва варіанти, це не шкодить, вам слід подумати про те, щоб зберегти лише один із них.
-
Сегмент “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 (також будь ласка, будь ласка, і дайте йому хороший рейтинг).
-
Після встановлення на вашому пристрої запустіть його. Вас повинно привітати щось на зразок:
-
Можна довго натискати піктограму прикладу, щоб редагувати її, або натиснути “меню”, щоб додати новий запис. Новий запис мав би виглядати так:
-
Додайте рядки та заповніть інформацію, необхідну для вашого стуку. Для прикладу конфігурації WOL зверху це буде:
- За бажанням змініть піктограму, довго натискаючи піктограму поруч із назвою Knock.
- Збережіть стукіт.
- Торкніться нового Knock на головному екрані, щоб активувати його.
- За бажанням створити віджет на головному екрані.
Майте на увазі, що, хоча ми налаштували прикладний файл конфігурації з групами по 3 для кожного порту (через розділ Telnet нижче), у цій програмі немає обмежень на кількість повторень (якщо взагалі) для порту.
Веселіться за допомогою програми, яка
StavFX
пожертвував :-)
Стук із Windows / Linux
Незважаючи на те, що можна виконати стукіт за допомогою найпростішої мережевої утиліти, яка називається "Telnet", Microsoft вирішила, що Telnet є "ризиком для безпеки", і згодом більше не встановлюватиме його за замовчуванням на сучасних вікнах. Якщо ви запитаєте мене: «Ті, хто може відмовитись від основної свободи, щоб отримати трохи тимчасової безпеки, не заслуговують ні свободи, ні безпеки. ~ Бенджамін Франклін ”, але я відступаю.
Причиною того, що ми встановили для прикладу послідовності групи по 3 для кожного порту, є те, що, коли telnet не може підключитися до потрібного порту, він автоматично повторить спробу ще 2 рази. Це означає, що telnet насправді стукне 3 рази перед тим, як здатися. Отже, нам залишається виконати команду telnet один раз для кожного порту в групі портів. Це також причина, через яку вибрано інтервал очікування 30 секунд, оскільки нам потрібно чекати часу очікування telnet для кожного порту, поки ми не виконаємо наступну групу портів. Після завершення етапу тестування рекомендується автоматизувати цю процедуру за допомогою простого Партія / Баш сценарій.
Використовуючи наш приклад послідовності, це буде виглядати так:
- Якщо ви на вікнах, дотримуйтесь Інструкція MS щодо встановлення Telnet .
-
Перейдіть до командного рядка та видайте:
telnet geek.dyndns-at-home.com 56
telnet geek.dyndns-at-home.com 43
1443. telnet geek.dyndns-at-home.com
Якщо все пройшло добре, це повинно бути все.
Вирішення проблем
Якщо ваш маршрутизатор не реагує на послідовності, ось кілька кроків з усунення несправностей, які ви можете зробити:
-
Переглянути журнал - Knockd буде вести журнал, який ви можете переглядати в режимі реального часу, щоб побачити, чи послідовності стуку прийшли до демона і чи команда була виконана правильно.
Припускаючи, що ви принаймні використовуєте файл журналу, як у прикладі вище, щоб побачити його в режимі реального часу, видайте в терміналі: