Как попасть в вашу сеть (DD-WRT)
Вы когда-нибудь хотели иметь такой специальный «стук в общежитие» с вашим маршрутизатором, чтобы он только «открыл дверь», когда секретный стук был распознан? How-To Geek объясняет, как установить демон Knock на DD-WRT.
Фото Бфика и Авиад Равив
Если вы еще этого не сделали, обязательно ознакомьтесь с предыдущими статьями этой серии:
- Превратите свой домашний маршрутизатор в сверхмощный маршрутизатор с DD-WRT
- Как установить дополнительное программное обеспечение на домашнем маршрутизаторе (DD-WRT)
- Как удалить рекламу с Pixelserv на DD-WRT
Предполагая, что вы знакомы с этими темами, продолжайте читать. Имейте в виду, что это руководство является немного более техническим, и новички должны быть осторожны при модификации своего маршрутизатора..
обзор
Традиционно, чтобы иметь возможность общаться с устройством / службой, необходимо инициировать полный сетевое соединение с ним. Однако при этом подвергается, как это называется в эпоху безопасности, поверхность атаки. Демон Knock - это своего рода сетевой анализатор, который может реагировать, когда наблюдается предварительно сконфигурированная последовательность. Поскольку не требуется устанавливать соединение для того, чтобы демон-стук распознал сконфигурированную последовательность, поверхность атаки уменьшается при сохранении требуемой функциональности. В некотором смысле, мы предварительно подготовим маршрутизатор желательно Ответ «два бита» (в отличие от бедного Роджера…).
В этой статье мы будем:
- Покажите, как использовать 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]
sequence = 56,56,56,43,43,43,1443,1443,1443
seq_timeout = 30
команда = / usr / sbin / wol aa: bb: cc: dd: ee: 22 -i $ (nvram get lan_ipaddr | вырезать -d. -f 1,2,3) .255
tcpflags = sync
Давайте объясним выше:
- Сегмент «options» позволяет настраивать глобальные параметры для демона. В этом примере мы дали указание демону вести журнал как в системном журнале, так и в файле. Хотя использование обоих вариантов не наносит вреда, следует рассмотреть возможность сохранения только одного из них..
- Сегмент «wakelaptop» - это пример последовательности, которая будет запускать команду WOL в вашей локальной сети для компьютера с MAC-адресом aa: bb: cc: dd: ee: 22.
Примечание. Приведенная выше команда предполагает стандартное поведение подсети класса C.
Чтобы добавить больше последовательностей, просто скопируйте и вставьте сегмент «wakelaptop» и настройте его с помощью новых параметров и / или команд, которые будут выполняться маршрутизатором..
Запускать
Чтобы маршрутизатор вызывал демон при запуске, добавьте приведенное ниже к сценарию «geek-init» из руководства OPKG:
knockd -d -c /opt/etc/knockd.conf -i "$ (nvram get wan_ifname)"
Это запустит демон Knock на интерфейсе «WAN» вашего маршрутизатора, чтобы он прослушивал пакеты из Интернета..
Стук с Android
В эпоху мобильности почти обязательно иметь «приложение для этого»… поэтому StavFX создал его для этой задачи :)
Это приложение выполняет последовательности ударов прямо с вашего Android-устройства и поддерживает создание виджетов на домашних экранах..
- Установите приложение Knocker с рынка Android (также, пожалуйста, будьте добры и дайте ему хорошую оценку).
- После установки на вашем устройстве, запустите его. Вас должно встретить что-то вроде:
- Вы можете долго нажимать значок примера, чтобы отредактировать его, или нажать «меню», чтобы добавить новую запись. Новая запись будет выглядеть так:
- Добавьте строки и заполните информацию, необходимую для вашего стука. Для примера конфигурации WOL сверху это будет:
- При желании изменить значок, нажав и удерживая значок рядом с названием Knock.
- Сохранить стук.
- Нажмите один раз новый Knock на главном экране, чтобы активировать его.
- При желании создать виджет для него на главном экране.
Имейте в виду, что, хотя мы настроили пример файла конфигурации с группами по 3 для каждого порта (из-за раздела Telnet ниже), в этом приложении нет ограничений на количество повторов (если оно вообще есть) для порта.
Получайте удовольствие, используя приложение, которое подарил StavFX :-)
Стук из 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. попадают в маршрутизатор так, как вы думаете, они должны B. выполнить команду / как и ожидалось. Для этого вы можете запустить Knockd, будучи привязанным к интерфейсу вашей локальной сети:
knockd -d -i "$ (nvram get lan_ifnameq)" -c /opt/etc/knockd.conf
Как только вышеперечисленное выполнено, вы можете направить клиент Knocking на внутренний IP-адрес маршрутизатора вместо его внешнего.
Совет: поскольку knockd прослушивает на уровне «интерфейса», а не на уровне IP, вы можете захотеть, чтобы экземпляр KnockD постоянно работал на интерфейсе LAN. Поскольку «Knocker» был обновлен для поддержки двух узлов для стука, это будет сделано для упрощения и консолидации ваших профилей стука.. - Помните, на чьей стороне вы находитесь - Невозможно выбить интерфейс WAN из интерфейса LAN в описанной выше конфигурации. Если вы хотите иметь возможность стучать независимо от того, «с какой стороны вы находитесь», вы можете просто запустить демона дважды, один раз привязавшись к WAN, как в статье, и один раз привязавшись к LAN, как на шаге отладки сверху. Нет проблем с запуском обоих одновременно, просто добавив команду сверху к одному и тому же скрипту geek-init.
замечания
Хотя приведенный выше пример может быть выполнен различными другими методами, мы надеемся, что вы сможете использовать его, чтобы научиться выполнять более сложные задачи. Вторая часть этой статьи, которая скрывает службу VPN за стуком, так что следите за обновлениями.С помощью Knocking вы сможете: динамически открывать порты, отключать / включать службы, удаленно подключать компьютеры WOL и многое другое ...