PortGuard: держите ваши сервисы невидимыми для сканеров
PortGuard combines a modified fwknop-based server with a cross-platform client that supports the fwknop SPA protocol. Ports stay closed by default and open temporarily only after a valid AES/GPG-signed packet is verified.
Quick Server Install
Installs the latest open-source package built by GitHub Actions from the PortGuard server repository.
curl -fsSL https://portguard.net/install.sh | sudo bash
Традиционный режим открытости (Риск)
- ✕Ports remain open all day and are continuously probed by global scanners.
- ✕Exposed services face brute-force attempts and exploit attacks directly.
- ✕Firewall allowlists become complex to maintain and lack dynamic flexibility.
Режим PortGuard (Решение)
- ✓Запрет по умолчанию: Ports are completely invisible before authorization (stealth).
- ✓SPA-аутентификация: Only specially formatted encrypted single packets can trigger access.
- ✓Динамический доступ: Temporarily allow only the source IP, then close automatically.
Ключевые возможности
Ключевые функции безопасности
Strong defaults for teams that want SSH, admin panels, and private services to disappear until authorization is intentional.
Эффективная SPA-коммуникация
Send fwknop-compatible single-packet authorization without TCP handshake overhead, with strong stealth.
AES/GPG + HMAC
Integrated SHA256 integrity checks ensure commands are authentic and untampered.
Полная скрытность портов
Default DROP behavior makes services appear unreachable to scanners.
Защита от повторных атак
Time-window validation plus integrity checks quickly invalidates old packets.
Учебное пособие по PortGuard
A cleaner fwknop-compatible client for every device.
PortGuard Client supports the fwknop SPA protocol. Profiles, one-tap SPA, QR import, encrypted export, and activation stay compatible with fwknopd and PortGuard Server workflows.
Как это работает
Механизм безопасности
PortGuard runs at the firewall edge of protected servers. It continuously inspects network traffic for authorization packets without exposing service handshakes externally.
Сформировать пакет авторизации
The client uses keys and a timestamp to generate an encrypted single packet.
Передача без handshake
The packet is sent via UDP and similar methods, making handshake-based probing ineffective.
Динамическое открытие
After validation, the server temporarily allows the source IP and then automatically removes the rule.
Сценарии применения
Удаленная работа по SSH
Protect port 22 and make it visible only briefly after an admin sends SPA.
Безопасность мультиоблака
Unified access control across AWS/Azure and more to reduce exposure.
Управление IoT-устройствами
Protect IoT control interfaces and avoid direct public exposure.
Автоматизация ACL
Combine scripts and rule cycles to automate temporary authorization.
Загрузка и установка
Поддерживаются многоплатформенные клиенты и серверные пакеты
Server Packages
Install PortGuard Server on Debian, Ubuntu, Rocky, CentOS, and OpenWrt
Use the quick installer for supported Linux servers, or download the latest package generated from the open-source GitHub Actions release pipeline.
Quick Install
One command server setup
curl -fsSL https://portguard.net/install.sh | sudo bash
The script detects the operating system, selects the matching package from the GitHub release manifest, verifies SHA256, installs dependencies, and leaves fwknopd ready for configuration export to PortGuard Client.
Open Source Release
Packages synced from GitHub
These packages are built automatically by GitHub Actions from the public PortGuard server source code.
| System | Version | Architecture | Package | Скачать |
|---|---|---|---|---|
| Loading packages from GitHub release... | ||||
Related Products
Product
OpenAT
Secure, time-locked data storage powered by drand's mathematical certainty. Encrypt your future today without a central authority.
Visit website
Product
Lockmem
End-to-end encrypted personal media vault for your NAS. Privacy-first management for your self-hosted infrastructure.
Visit websiteFAQ и сценарии использования
Последнее обновление:
What is the relationship between PortGuard and fwknop?
PortGuard is built around the fwknop SPA protocol. PortGuard Client is a cross-platform client that sends fwknop-compatible SPA packets, while PortGuard Server is a modified server based on the upstream fwknop project. Compared with traditional sequence-based port knocking, this single encrypted packet model is faster, stealthier, and resistant to replay attacks.
Могу ли я создать один профиль и использовать один удар, чтобы разрешить определенному IP-адресу доступ к каждому сервисному порту?
Да. Настройте раздел доступа к серверу с помощью OPEN_PORTS ANY и используйте профиль клиента с ACCESS ANY. Профиль можно создать и импортировать один раз, а затем использовать повторно. Каждое допустимое удаление создает временное правило исходного IP-адреса, которое позволяет IP-адресу, выбранному ALLOW_IP, достигать всех сервисных портов TCP и UDP до истечения срока действия FW_TIMEOUT. По истечении срока отправить новый стук. Это режим с высоким уровнем привилегий: используйте короткий тайм-аут, защитите профиль и ключи и помните, что вышестоящие облачные брандмауэры, правила маршрутизатора и аутентификация служб по-прежнему применяются.
Как fwknop сравнивается с tnock?
Оба решения скрывают сетевые порты, но fwknop — более продвинутая SPA-система. tnock и похожие демоны на последовательностях ищут шаблон попыток подключения по нескольким закрытым портам, что медленнее и уязвимо к replay-атакам. fwknop решает это передачей одного криптографически подписанного пакета с меткой времени. Плюсы: заметно выше безопасность, защита от replay и бесшовная интеграция с современными фаерволами.
Как сделать сайт или приватный сервис доступным только определённым людям?
By default, PortGuard Server, modified from fwknop, configures your server's firewall to block all inbound traffic to your service port. The service appears completely offline to the public. When an authorized user needs access, they use PortGuard Client with their unique cryptographic key to send a fwknop-compatible Single Packet Authorization (SPA) packet. Once verified, the server dynamically whitelists their current IP address for a brief period.
Как обеспечить безопасность и приватность NAS в публичной сети без утечки данных?
Прямое открытие NAS в интернет очень рискованно из-за постоянного сканирования ботнетами и сканерами. Обычно есть два безопасных варианта:
- Вариант 1: Cloudflare Zero Trust (Tunnels) Трафик NAS проходит через сеть Cloudflare без открытия входящих портов. Плюсы: очень просто настроить, не нужен публичный IP, есть дополнительный слой WAF. Минусы: трафик идёт через третью сторону, значит вы зависите от политики приватности Cloudflare; скорость часто ограничена маршрутизацией бесплатного тарифа, что хуже для потоковой передачи больших медиа.
- Вариант 2: Собственный публичный IP + fwknop Port Knocking Вы открываете порт на роутере, но защищаете его fwknop (SPA). Порт остаётся невидимым в публичном интернете и открывается только после валидного криптографически подписанного пакета доступа. Плюсы: максимальная приватность без сторонних серверов и максимальная скорость железа за счёт прямого соединения (удобно для видео). Минусы: нужен реальный публичный IP и чуть более техническая первичная настройка.
Снижает ли fwknop PortGuard скорость соединения после открытия порта?
No. The fwknop-compatible PortGuard Server only handles the initial authorization packet. Once the firewall rule is dynamically created and your IP is authorized, your connection via SSH, WireGuard, or directly to your NAS operates directly between your client and the server at full line speed.
Trusted by DevOps and Security Experts Worldwide
Official Contact
Need help with PortGuard?
For purchase recovery, activation issues, deployment questions, or security reports, contact the official PortGuard support mailbox.
[email protected]