Security Protocol v2.0 Ready

PortGuard: Keep Your Services Invisible to Scanners

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.

Guide
curl -fsSL https://portguard.net/install.sh | sudo bash
Live Client Preview
Built for fwknop-compatible workflows

Traditional Exposure Mode (Risk)

  • ✕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 Mode (Solution)

  • ✓Default Deny: Ports are completely invisible before authorization (stealth).
  • ✓SPA Auth: Only specially formatted encrypted single packets can trigger access.
  • ✓Dynamic Access: Temporarily allow only the source IP, then close automatically.

Core Features

Core Security Features

Strong defaults for teams that want SSH, admin panels, and private services to disappear until authorization is intentional.

Efficient SPA Communication

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.

Full Port Stealth

Default DROP behavior makes services appear unreachable to scanners.

Replay Attack Resistance

Time-window validation plus integrity checks quickly invalidates old packets.

מדריך פורטגארד

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.

One-tap SPA Send authorized knocks without command-line friction.
Encrypted profiles Keep local configs protected at rest.
QR import Move profiles between devices quickly.

How It Works

Security Workflow

PortGuard runs at the firewall edge of protected servers. It continuously inspects network traffic for authorization packets without exposing service handshakes externally.

1
Generate Authorization Packet

The client uses keys and a timestamp to generate an encrypted single packet.

2
Handshake-less Delivery

The packet is sent via UDP and similar methods, making handshake-based probing ineffective.

3
Dynamic Open

After validation, the server temporarily allows the source IP and then automatically removes the rule.

PORT_GUARD_DAEMON الحالة: في وضع الاستماع
[INFO] جارٍ التقاط حزم SPA على eth0...
[CMD] تم اكتشاف حزمة من 124.6.x.x
[AUTH] تم التحقق من HMAC SHA256. الطابع الزمني صالح.
[AUTH] جارٍ فك تشفير الحمولة باستخدام AES-256-CBC...
[FIREWALL] فتح المنفذ 22 لـ 124.6.x.x لمدة 30 ثانية.
_

Use Cases

SSH Remote Operations

Protect port 22 and make it visible only briefly after an admin sends SPA.

Multi-Cloud Security

Unified access control across AWS/Azure and more to reduce exposure.

IoT Device Management

Protect IoT control interfaces and avoid direct public exposure.

ACL Automation

Combine scripts and rule cycles to automate temporary authorization.

Downloads and Installation

Supports multi-platform clients and server-side packages

Windows Client

portguard-client-2.2.1-x64-setup.exe

macOS Client

portguard-client-2.2.2-18-macos.dmg

Apple App Store

iPhone & iPad

Go to Store

Android App

fwknopc_2_6_11.apk

Download APK

Linux Server

Debian, Ubuntu, Rocky, CentOS, OpenWrt

Server Packages
Security Tip: Please verify MD5/SHA256 fingerprints after downloading.

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.

Latest Release
System Version Architecture Package הורד
Loading packages from GitHub release...

الأسئلة الشائعة وحالات الاستخدام

آخر تحديث:

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 والحلول المشابهة القائمة على التسلسل على اكتشاف نمط محدد من محاولات الاتصال عبر عدة منافذ مغلقة، وهذا أبطأ وأكثر عرضة لهجمات الإعادة. يحل fwknop ذلك بإرسال حمولة واحدة موقعة تشفيرياً ومختومة زمنياً. المزايا: أمان أعلى بكثير، مقاومة لهجمات الإعادة، وتكامل سلس مع الجدران النارية الحديثة.

كيف أجعل موقعي أو خدمتي الخاصة متاحة فقط لأشخاص محددين؟

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

"After deploying PortGuard on our bastion hosts, SSH scan noise in logs dropped significantly."
- مسؤول أنظمة أول، TechGroup
"SPA's one-way, handshake-less design is highly practical, balancing stealth and operability."
- باحث أمني، @CyberNode
"iptables integration was smooth, and we've rolled it out at scale in production."
- قائد DevOps، Fintech Corp

Official Contact

Need help with PortGuard?

For purchase recovery, activation issues, deployment questions, or security reports, contact the official PortGuard support mailbox.

[email protected]