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

Оглавление:

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

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

Видео: Как войти в вашу сеть, часть 2: защитить свою VPN (DD-WRT)
Видео: Подключил топор к компьютеру для игры в Minecraft - YouTube 2024, Марш
Anonim
Мы показали вам, как запускать WOL удаленно «Port Knocking» на вашем маршрутизаторе. В этой статье мы покажем, как использовать ее для защиты службы VPN.
Мы показали вам, как запускать WOL удаленно «Port Knocking» на вашем маршрутизаторе. В этой статье мы покажем, как использовать ее для защиты службы VPN.

Изображение от Aviad Raviv & bfick.

Предисловие

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

обзор

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

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

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

  • Предполагается / требуется, чтобы у вас был маршрутизатор DD-WRT с поддержкой Opkg.
  • Предполагается / требуется, чтобы вы уже выполнили действия, описанные в руководстве «How To Knock into your Network (DD-WRT)».
  • Предполагаются некоторые сетевые знания.

Позволяет растрескиваться.

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

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

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

С веб-графического интерфейса DD-WRT:

  • Перейдите в «Администрирование» -> «Команды».

    Image
    Image
  • Введите ниже «код» в текстовое поле:

    inline='$( iptables -L INPUT -n | grep -n 'state RELATED,ESTABLISHED' | awk -F: {'print $1'} )'; inline=$(($inline-2+1)); iptables -I INPUT '$inline' -p tcp --dport 1723 -j DROP

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

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

Вышеупомянутая команда «voodoo magic» делает следующее:

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

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

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

vi /opt/etc/knockd.conf

Приложите к существующей конфигурации:

[enable-VPN] sequence = 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 ACCEPT cmd_timeout = 20 stop_command = iptables -D INPUT -s %IP% -p tcp --dport 1723 -j ACCEPT

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

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

Вот и все, ваш VPN-сервис теперь должен быть подключен только после успешного «стука».

автор Советы

В то время как вы все должны быть настроены, есть несколько моментов, которые мне кажутся нужными.

  • Поиск проблемы. Помните, что если у вас возникли проблемы, сегмент «устранения неполадок» в конце первой статьи должен быть вашей первой остановкой.
  • Если вы хотите, вы можете иметь директивы «start / stop», выполняющие несколько команд, разделяя их полу-colen (;) или даже скриптом. Это позволит вам сделать некоторые отличные вещи. Например, у меня есть knockd, присылайте мне * Email, рассказывающий мне, что последовательность была инициирована и откуда.
  • Не забывайте, что «для этого есть приложение», и хотя он не упоминается в этой статье, вам предлагается захватить программу Knocker для Android от StavFX.
  • Хотя на тему Android, не забывайте, что клиент PPTP VPN обычно встроен в ОС от производителя.
  • Метод, блокирующий что-то изначально, а затем продолжающий разрешать уже установленную связь, может использоваться практически на любой основе на основе TCP. Фактически, в фильмах Knockd on DD-WRT 1 ~ 6, я сделал это еще раз, когда использовал протокол удаленного рабочего стола (RDP), который использует порт 3389 в качестве примера.

Примечание. Для этого вам нужно будет получить функции электронной почты на вашем маршрутизаторе, который в настоящее время действительно не работает, потому что снимок SVN пакетов opkg OpenWRT находится в беспорядке. Поэтому я предлагаю использовать knockd непосредственно в окне VPN, что позволяет использовать все варианты отправки электронной почты, доступные в Linux / GNU, например SSMTP и sendEmail, чтобы упомянуть некоторые из них.

Кто беспокоит мою дремоту?

Рекомендуемые: