Как попасть в вашу сеть, часть 2: Защитите свой VPN (DD-WRT)

Sep 11, 2025
Конфиденциальность и безопасность
НЕКЕШЕРОВАННЫЙ КОНТЕНТ

Мы показали вам как запускать WOL удаленно с помощью «Port Knocking» на вашем маршрутизаторе . В этой статье мы покажем, как использовать его для защиты службы VPN.

Автор изображения Авиад Равив & bfick .

Предисловие

Если вы использовали Встроенная функциональность DD-WRT для VPN или иметь другой сервер VPN в вашей сети вы могли бы оценить возможность защитить его от атак грубой силы, спрятав его за последовательностью стука. Поступая так, вы отфильтруете скриптовых детей, которые пытаются получить доступ к вашей сети. С учетом сказанного, как было сказано в предыдущей статье, блокировка порта не заменяет хороший пароль и / или политику безопасности. Помните, что при наличии достаточного терпения злоумышленник может обнаружить последовательность и выполнить атаку повторного воспроизведения.
Также имейте в виду, что обратная сторона реализации этого заключается в том, что когда любой VPN-клиент (-ы) хочет подключиться, он должен будет запустить последовательность стука. заранее и что, если они не смогут завершить последовательность по какой-либо причине, они вообще не смогут подключиться к VPN.

Обзор

Чтобы защитить * службу VPN, мы сначала отключим всю возможную связь с ней, заблокировав порт создания экземпляра 1723. Для достижения этой цели мы будем использовать iptables. Это связано с тем, что именно так фильтруется обмен данными в большинстве современных дистрибутивов Linux / GNU в целом и в DD-WRT в частности. Если вам нужна дополнительная информация о iptables, ознакомьтесь с запись в вики , и взгляните на наша предыдущая статья по теме. После того, как служба будет защищена, мы создадим последовательность стука, которая временно откроет порт создания экземпляра VPN, а также автоматически закроет его через заданный промежуток времени, сохраняя при этом уже установленный сеанс VPN подключенным.

Примечание. В этом руководстве в качестве примера используется служба PPTP VPN. С учетом сказанного, тот же метод можно использовать для других типов VPN, вам просто нужно изменить заблокированный порт и / или тип связи.

Предпосылки, предположения и рекомендации

  • Предполагается / требуется, чтобы у вас был Маршрутизатор DD-WRT с поддержкой Opkg .
  • Предполагается / требуется, что вы уже выполнили шаги в « Как попасть в вашу сеть (DD-WRT) " руководство.
  • Предполагается некоторое знание сетей.

Давайте приступим.

По умолчанию Правило «Блокировать новые VPN» на DD-WRT

Хотя приведенный ниже фрагмент «кода», вероятно, будет работать на каждом, уважающем себя, iptables, использующем дистрибутив Linux / GNU, поскольку существует так много вариантов, мы покажем только, как использовать его в DD-WRT. Ничто не мешает вам, если хотите, реализовать его прямо на VPN-сервере. Однако, как это сделать, выходит за рамки данного руководства.

Поскольку мы хотим расширить брандмауэр маршрутизатора, вполне логично, что мы добавим его в сценарий «Брандмауэр». Это приведет к тому, что команда iptables будет выполняться каждый раз при обновлении брандмауэра и, таким образом, сохранить наши дополнения на месте.

Из веб-интерфейса DD-WRT:

  • Зайдите в «Администрирование» -> «Команды».
  • Введите приведенный ниже «код» в текстовое поле:

    inline = "$ (iptables -L INPUT -n | grep -n" состояние СВЯЗАННО, УСТАНОВЛЕНО "| awk -F: {'print $1'})"; встроенный = $ (($ встроенный-2 + 1)); iptables -I INPUT "$ inline" -p tcp --dport 1723 -j DROP

  • Щелкните «Сохранить брандмауэр».
  • Готово.

Что это за команда «Вуду»?

Приведенная выше команда «магия вуду» выполняет следующие действия:

  • Находит, где находится строка iptable, позволяющая пройти уже установленную связь. Мы делаем это, потому что A. На маршрутизаторах DD-WRT, если служба VPN включена, она будет расположена чуть ниже этой линии и B. Это важно для нашей цели - продолжать разрешать уже установленным сеансам VPN существовать после стук событие.
  • Вычитает два (2) из ​​вывода команды листинга для учета смещения, вызванного заголовками информационных столбцов. Как только это будет сделано, добавляем единицу (1) к указанному выше числу, чтобы правило, которое мы вставляем, появилось сразу после правила, разрешающего уже установленную связь. Я оставил здесь эту очень простую «математическую задачу», просто чтобы прояснить логику «почему нужно уменьшить единицу с места правила, а не добавлять к нему».

Конфигурация KnockD

Нам нужно создать новую последовательность запуска, которая позволит создавать новые VPN-подключения. Для этого отредактируйте файл knockd.conf, введя в терминале:

vi /opt/etc/knockd.conf

Добавить к существующей конфигурации:

[enable-VPN]
последовательность = 02,02,02,01,01,01,2010,2010,2010
seq_timeout = 60
start_command = iptables -I INPUT 1 -s% IP% -p tcp --dport 1723 -j ПРИНЯТЬ
cmd_timeout = 20
stop_command = iptables -D INPUT -s% IP% -p tcp --dport 1723 -j ПРИНЯТЬ

Эта конфигурация будет:

  • Установите окно возможности для завершения последовательности на 60 секунд. (Рекомендуется сделать это как можно короче)
  • Послушайте последовательность из трех ударов по портам 2, 1 и 2010 (этот порядок преднамерен, чтобы сбить сканеры портов с пути).
  • Как только последовательность будет обнаружена, выполните «start_command». Эта команда «iptables» помещает «принять трафик, предназначенный для порта 1723, откуда исходят удары» в верхней части правил межсетевого экрана. (Директива% IP% обрабатывается KnockD специально и заменяется IP-адресом источника детонации).
  • Подождите 20 секунд, прежде чем подавать «stop_command».
  • Выполните «stop_command». Если эта команда «iptables» выполняет обратное по отношению к вышеизложенному и удаляет правило, разрешающее обмен данными.
Вот и все, теперь ваша служба VPN должна быть подключена только после успешного «удара».

Автор Советы

Хотя все должно быть готово, есть пара моментов, о которых я считаю необходимым упомянуть.

  • Исправление проблем. Помните, что если у вас возникли проблемы, сегмент «Устранение неполадок» в конце первая статья должно быть вашей первой остановкой.
  • Если хотите, вы можете заставить директивы «start / stop» выполнять несколько команд, разделяя их с помощью полуколена (;) или даже скрипта. Это позволит вам делать некоторые изящные вещи. Например, я knockd отправил мне * электронное письмо с сообщением о том, что последовательность была запущена и откуда.
  • Не забывайте, что " Для этого есть приложение »И даже если это не упомянуто в этой статье, вам рекомендуется StavFX Android программа молотка .
  • Говоря об Android, не забывайте, что в ОС обычно встроен клиент PPTP VPN от производителя.
  • Метод, который сначала блокирует что-то, а затем продолжает разрешать уже установленную связь, может использоваться практически в любой связи на основе TCP. Фактически в Удар по DD-WRT 1 ~ 6 фильмы, я уже делал это раньше, когда я использовал протокол удаленного рабочего стола (RDP), который использует порт 3389 в качестве примера.
Примечание. Для этого вам необходимо установить на маршрутизаторе функцию электронной почты, которая в настоящее время действительно не работает, поскольку снимок SVN пакетов opkg OpenWRT находится в беспорядке. Вот почему я предлагаю использовать knockd непосредственно в окне VPN, что позволяет использовать все варианты отправки электронной почты, доступные в Linux / GNU, например SSMTP а также sendEmail чтобы упомянуть несколько.

Кто нарушает мой сон?

How To Setup VPN Server On DD-WRT Router. (PPTP)

HOPE X (2014): Securing A Home Router

How To Setup A VPN Server On Your Home Router Using DD-WRT


Конфиденциальность и безопасность - Самые популярные статьи

Как предотвратить отправку ваших локальных поисковых запросов через Интернет

Конфиденциальность и безопасность Aug 26, 2025

НЕКЕШЕРОВАННЫЙ КОНТЕНТ Все современные операционные системы - от смартфонов и планшетов до насто..


Как ограничить громкость вашего iPhone, iPod и других устройств Apple (и сохранить слух вашего ребенка)

Конфиденциальность и безопасность Aug 5, 2025

Недавно мы показали вам, как ограничить громкость на любом устройстве с помощью наушников с ограни..


Объяснение кейлоггеров: что вам нужно знать

Конфиденциальность и безопасность Jan 27, 2025

НЕКЕШЕРОВАННЫЙ КОНТЕНТ Кейлоггер - это часть программного обеспечения или, что еще страшнее, аппа..


Школа компьютерщиков: узнайте, как автоматизировать Windows с помощью PowerShell

Конфиденциальность и безопасность Jul 10, 2025

НЕКЕШЕРОВАННЫЙ КОНТЕНТ В этом выпуске Geek School мы поможем вам разобраться в мощном языке сценариев ..


Школа компьютерщиков: изучение Windows 7 - управление Internet Explorer

Конфиденциальность и безопасность Oct 30, 2025

НЕКЕШЕРОВАННЫЙ КОНТЕНТ Internet Explorer - это сложное программное обеспечение, и мы, гики, не всегда выби�..


Как использовать родительский контроль в Windows 7

Конфиденциальность и безопасность Jul 12, 2025

Функция родительского контроля - ценный инструмент для контроля количества времени, которое ваши дети п..


Осторожно! Программа уведомлений Google Reader для Firefox теперь является Crapware

Конфиденциальность и безопасность Jul 7, 2025

НЕКЕШЕРОВАННЫЙ КОНТЕНТ Любой, кто использует очень популярное расширение Google Reader Notifier для Firefox, вероят�..


Обзоры компьютерных фанатов: первый взгляд на Internet Explorer 8 Beta 2

Конфиденциальность и безопасность Aug 29, 2025

НЕКЕШЕРОВАННЫЙ КОНТЕНТ Прошло много времени с тех пор, как Microsoft выпустила первую бета-версию Internet Explorer..


Категории