Авторизация отдельного пакета
PortGuard
PortGuard предлагает надежную технологию авторизации отдельных пакетов для защиты вашей сети от несанкционированного доступа, включая угрозы сканирования портов.
Загрузите сейчас, многоплатформенный графический интерфейс
Мультиплатформенный графический интерфейс
Загрузить для Windows
fwknopc_2_6_11_x64-setup.exe
Скачать для MacOS
fwknopc_2_6_11_x64.pkg
Скачать для Android
fwknopc_2_6_11_x64.apk
Fwknop-сервер для CentOS7
Имя файла | Последнее изменение | MD5 |
---|---|---|
fwknop-server-2.6.11-1.el7.x86_64.rpm | 2025-07-29 |
1a375f89c2aa16935ddce164ad16adad
|
libfko-3.0.0-1.x86_64.rpm | 2025-07-29 |
7f720f1f444f1634bab7cadbbfec40b2
|
1. Почему я разработал PortGuard?
Впервые я узнал о концепции однопакетной авторизации (SPA) в непринужденном разговоре с коллегами по работе. До этого я ничего не знал о порт-ноккинге (port knocking) или SPA. Так получилось, что нашей компании требовалось решение для порт-ноккинга, и после изучения соответствующих материалов я открыл для себя fwknop. Концепция fwknop меня действительно впечатлила — для сервисов, которые должны быть доступны лишь избранным, fwknop — отличное решение. Мы рассматривали возможность разработки собственного инструмента, но fwknop оказался гораздо более зрелым. Однако у fwknop есть свои недостатки: он сложен, требует длительного обучения для установки и использования, а также не имеет специального клиентского приложения. Это привело к созданию PortGuard. Цель PortGuard — поддерживать распространённые протоколы порт-ноккинга, такие как fwknop и, в будущем, tnok, предоставляя при этом кроссплатформенный клиент. PortGuard, созданный как расширение fwknop и tnok, стремится сделать технологию SPA более удобной и доступной для пользователя.
2. Платформы, поддерживаемые клиентом PortGuard
В настоящее время PortGuard поддерживает следующие платформы:
- iOS
- Android
- Windows
- macOS
3. Варианты использования PortGuard
Основная функция PortGuard заключается в повышении безопасности сети путем скрытия сервисных портов (по умолчанию закрыты). Она подходит для следующих сценариев:
3.1 Защита служб удаленного доступа (например, SSH)
Сценарий:Администраторам необходимо обеспечить безопасный доступ к службам SSH из разных мест (например, из дома, кафе, мобильной сети), не раскрывая порт SSH публичной сети.
Выполнение: Используйте fwknop или tnok, клиент отправляет пакеты данных SPA или пакеты TOTP knock, а сервер проверяет и временно открывает порт SSH (по умолчанию 22) после проверки.
Преимущества: Не позволяйте Nmap и другим инструментам сканирования портов обнаруживать службы, снижая риск эксплуатации уязвимостей нулевого дня.
Пример: Удаленные члены команды используют клиент fwknop для отправки пакетов данных SPA на устройства Windows или Android и получают безопасный доступ к внутренним серверам компании.
3.2 Защита сервисов в облачных средах
Сценарий:Доступ к внутренним службам (например, базам данных, веб-серверам) в AWS, Azure и других облачных платформах должен осуществляться через общедоступную сеть, но при этом необходимо избегать прямого доступа к портам.
Выполнение: PortGuard интегрируется с NAT, позволяя внешним клиентам получать доступ к внутренним службам в адресном пространстве RFC 1918 через SPA.
Преимущества: Поддерживает сложные сетевые топологии, подходит для гибридных облачных и многопользовательских сред.
Пример: Запустите fwknopd на экземплярах AWS EC2, динамически откройте порт MySQL (3306) для доступа авторизованных пользователей.
3.3 Защита от сканирования портов и подбора паролей
Сценарий:Серверы подвергаются сканированию портов (например, Nmap) или атакам методом подбора паролей, поэтому им необходимо скрывать порты служб, чтобы уменьшить поверхность атаки.
Выполнение: PortGuard поддерживает политику брандмауэра по умолчанию, открывая порты только после получения допустимых пакетов данных SPA.
Преимущества: Даже при наличии неисправленных уязвимостей злоумышленники не смогут обнаружить сервисные порты.
Пример: Предотвращает подбор по SSH, fwknop открывает порты только после проверки HMAC.
3.4 Поддержка защиты нескольких служб
Сценарий:Предприятиям необходимо защищать несколько служб (например, SSH, RDP, VPN, базу данных), но при этом не хочется, чтобы все порты были открыты постоянно.
Выполнение: fwknop поддерживает определение нескольких служб и портов в access.conf, и клиент может указать целевой протокол и порт.
Преимущества: Гибкая настройка правил, поддержка пользовательских тайм-аутов и стратегий открытия портов.
Пример: Настройте fwknop для защиты SSH (tcp/22) и OpenVPN (udp/1194).
3.5 Безопасность встроенных или IoT-устройств
Сценарий:Устройства Интернета вещей или встроенные системы нуждаются в удаленном управлении, но ресурсы устройств ограничены и уязвимы для атак.
Выполнение: Запускайте облегченные fwknopd или tnokd на устройствах с ограниченными ресурсами, управляйте доступом через SPA или TOTP.
Преимущества: Низкое потребление ресурсов, подходит для небольших устройств.
Пример: Защитите веб-сервис, работающий на Raspberry Pi.
3.6 Интеграция сторонних устройств
Сценарий:Необходимо интегрироваться с устройствами, которые не поддерживают собственный fwknop (например, маршрутизаторы Cisco), контролировать правила брандмауэра.
Выполнение: Функция цикла открытия/закрытия команд fwknop позволяет выполнять пользовательские скрипты для динамического изменения ACL сторонних устройств.
Преимущества: Расширяемость, поддержка нестандартных устройств брандмауэра.
Пример: Запустите fwknopd на серверах Linux, обновите ACL маршрутизаторов Cisco через SSH.
3.7 Технические детали
- fwknop поддерживает определение тайм-аута (CMD_CYCLE_TIMER), открытый порт автоматически закрывается, сокращая время воздействия.
- Можно объединить с VPN (например, WireGuard, OpenVPN) для создания безопасной частной сети.
- Поддерживает разбор заголовков X-Forwarded-For, подходит для SPA в среде HTTP.
4. Насколько безопасен PortGuard?
Безопасность PortGuard в первую очередь зависит от механизма однопакетной авторизации (SPA) fwknop в сочетании с шифрованием, аутентификацией и интеграцией с межсетевым экраном, что обеспечивает многоуровневую защиту. Ниже представлен подробный анализ безопасности:
4.1 Шифрование и аутентификация
Шифрование: fwknop поддерживает симметричное шифрование Rijndael (AES) или асимметричное шифрование GnuPG, а содержимое пакета данных SPA не может быть проанализировано напрямую.
Аутентификация: Используйте HMAC-SHA256 (по умолчанию) или более поздние версии для аутентификации пакетов данных, обеспечивая целостность данных и доверие к источнику.
Безопасность: Предотвращает атаки типа «человек посередине» (MITM) и атаки с повторным воспроизведением, HMAC применяется после шифрования, противостоит атакам с использованием оракула в режиме CBC (например, атакам Воденай).
Ограничения: Симметричное шифрование требует общих ключей клиента и сервера, неправильное управление ключами может привести к утечке; режим GnuPG требует поддержания коллекций ключей,
4.2 Предотвращение сканирования портов
Механизм: PortGuard использует политику брандмауэра по умолчанию, а порт службы невидим, если он не авторизован, поэтому Nmap и другие инструменты не могут его обнаружить.
Безопасность: Значительно сокращает поверхность атаки: даже при наличии уязвимостей нулевого дня злоумышленники не смогут определить местонахождение сервисного порта.
Ограничения: Если пакет данных Knock перехвачен (традиционный метод Knocking Port более восприимчив к этому), злоумышленники могут попытаться воспроизвести его повторно (SPA решил эту проблему с помощью HMAC).
4.3 Сопротивление грубой силе
Механизм: Пакеты данных SPA должны быть правильно зашифрованы и аутентифицированы HMAC, перебор паролей практически невозможен (пакеты данных с неисправным HMAC сразу отбрасываются).
Безопасность: По сравнению с традиционным перехватом портов однопакетная конструкция SPA и механизм шифрования значительно повышают способность противостоять атакам методом подбора.
Ограничения: Ошибки конфигурации (например, слабые ключи или отключенный HMAC) могут снизить безопасность.
✨ Функции




Люди ❤️ Fwknop

John

Michael

James

David

Olivia

William