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.
curl -fsSL https://portguard.net/install.sh | sudo bash
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.
บทช่วยสอน 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.
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.
Generate Authorization Packet
The client uses keys and a timestamp to generate an encrypted single packet.
Handshake-less Delivery
The packet is sent via UDP and similar methods, making handshake-based probing ineffective.
Dynamic Open
After validation, the server temporarily allows the source IP and then automatically removes the rule.
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
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 websiteคำถามที่พบบ่อยและกรณีการใช้งาน
อัปเดตล่าสุด:
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.
ฉันสามารถสร้างโปรไฟล์เดียวและใช้ One Knock เพื่ออนุญาตให้ IP เฉพาะเจาะจงเข้าถึงทุกพอร์ตบริการได้หรือไม่
ใช่. กำหนดค่า stanza การเข้าถึงเซิร์ฟเวอร์ด้วย OPEN_PORTS ANY และใช้โปรไฟล์ไคลเอ็นต์กับ ACCESS ANY สามารถสร้างและนำเข้าโปรไฟล์ได้เพียงครั้งเดียว จากนั้นจึงนำกลับมาใช้ใหม่ การเคาะที่ถูกต้องแต่ละครั้งจะสร้างกฎ IP ต้นทางชั่วคราวที่อนุญาตให้ IP ที่เลือกโดย ALLOW_IP เข้าถึงพอร์ตบริการ TCP และ UDP ทั้งหมดจนกว่า FW_TIMEOUT จะหมดอายุ หลังจากหมดอายุให้ส่งเคาะใหม่ นี่คือโหมดสิทธิพิเศษสูง: ใช้การหมดเวลาสั้นๆ ปกป้องโปรไฟล์และคีย์ และจำไว้ว่าไฟร์วอลล์คลาวด์อัปสตรีม กฎของเราเตอร์ และการตรวจสอบสิทธิ์บริการยังคงมีผลอยู่
fwknop เทียบกับ tnock เป็นอย่างไร?
ทั้งสองต้องการซ่อนพอร์ตเครือข่าย แต่ fwknop เป็นโซลูชัน SPA ที่ก้าวหน้ากว่า tnock และเดมอนแบบอิงลำดับคล้ายกันต้องตรวจจับรูปแบบการเชื่อมต่อบนหลายพอร์ตปิด ทำให้ช้ากว่าและเสี่ยง replay fwknop แก้ปัญหานี้ด้วยการส่ง payload เดียวที่ลงลายเซ็นเชิงเข้ารหัสและมี timestamp ข้อดีคือความปลอดภัยสูงกว่า ต้าน 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 ตรงสู่อินเทอร์เน็ตมีความเสี่ยงสูงจากบอตเน็ตและการสแกนอย่างต่อเนื่อง โดยทั่วไปมี 2 วิธีที่ปลอดภัยกว่า:
- แผนที่ 1: Cloudflare Zero Trust (Tunnels) วิธีนี้ส่งทราฟฟิก NAS ผ่านเครือข่าย Cloudflare โดยไม่ต้องเปิดพอร์ตขาเข้า ข้อดี: ตั้งค่าง่าย ไม่ต้องมี public IP และได้ชั้น WAF เพิ่ม ข้อเสีย: ทราฟฟิกต้องผ่านเซิร์ฟเวอร์บุคคลที่สาม จึงต้องพึ่งนโยบายความเป็นส่วนตัวของ Cloudflare และความเร็วอาจถูกจำกัดในเส้นทาง free tier ซึ่งไม่เหมาะกับสตรีมไฟล์ขนาดใหญ่
- แผนที่ 2: ใช้ Public IP ของตนเอง + fwknop Port Knocking คุณเปิดพอร์ตบนเราเตอร์แต่ป้องกันด้วย fwknop (SPA) พอร์ตจะยังมองไม่เห็นบนอินเทอร์เน็ตสาธารณะ และจะเปิดเมื่อส่งแพ็กเก็ตเข้าถึงที่ถูกต้องและลงลายเซ็นเข้ารหัสเท่านั้น ข้อดี: ความเป็นส่วนตัวข้อมูลสูงเพราะไม่ผ่านบุคคลที่สาม และได้ความเร็วสูงสุดจากการเชื่อมต่อโดยตรง (เหมาะกับวิดีโอสตรีมมิง) ข้อเสีย: ต้องมี public 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]