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