Welcome to the portguard Documentation Site
The purpose of this site is to help more people understand Port Knocking and provide actionable solutions for implementing it. Through this site, you will learn how to use portguard to enhance your network security and protect your services from unauthorized access.
What is portguard?
portguard (FireWall Knock Operator) is a network security tool based on Single Packet Authorization (SPA). Built as an extension of the open-source Fwknop (FireWall KNock OPerator) project. It provides a more secure access control mechanism by hiding service ports and encrypting communications. Compared to traditional Port Knocking, portguard offers higher security and flexibility. You can find the source code on GitHub.
Background on fwknop
fwknop is an open-source port knocking system that implements Single Packet Authorization (SPA) to secure network services. Unlike traditional port knocking, which relies on a sequence of packets, fwknop uses a single encrypted, non-replayable packet authenticated via HMAC to dynamically open firewall ports for authorized clients. This approach hides services from port scanners (e.g., Nmap) and protects against unauthorized access, including zero-day exploits and brute-force attacks. fwknop supports multiple firewalls (iptables, firewalld, PF, and ipfw) across Linux, OpenBSD, FreeBSD, and macOS, and integrates with tools like libpcap for passive packet sniffing.
Why Choose portguard?
- Single Packet Authorization (SPA): portguard uses a single encrypted packet for authentication, making it more efficient than traditional multi-packet knocking.
- Encryption and Authentication: Supports encryption algorithms like HMAC and AES to ensure secure communication.
- Hide Service Ports: Through SPA, portguard can hide service ports, preventing port scanning and brute-force attacks.
- Cross-Platform Support: portguard supports Linux, Windows, macOS, IOS, Android, and other operating systems, with cross-platform GUI tools available.
What You Will Learn
On this site, you will learn the following:
- portguard Deployment Process: Step-by-step instructions for installing and configuring portguard on both server and client.
- portguard Implementation Principles: A deep dive into how portguard works, including SPA, encryption mechanisms, and packet transmission.
- portguard Use Cases: Explore how portguard can protect SSH services, hide ports, and be used in cloud environments.
- Who Can Use portguard: Whether you're a system administrator, developer, or individual user, portguard has something to offer.
- Advantages of portguard: Learn how portguard provides higher security and flexibility compared to traditional Port Knocking.
- 🔧 Tool Introduction: Discover cross-platform GUI tools that make using portguard more convenient.
Who Should Use portguard?
- System Administrators: Protect servers from unauthorized access.
- Network Security Engineers: Enhance network security and prevent port scanning and brute-force attacks.
- Developers and DevOps: Ensure service security during development and operations.
- Individual Users: Anyone with a need for network security.
Where can I find the different platform GUI client?
To find the GUI client for different platforms, navigate to the GUI Tools section of this documentation site. This section provides detailed information and download links for portguard GUI clients compatible with various operating systems, including Windows, macOS, Linux, IOS and Android.
Getting Started with portguard
If you're new to fwknop, we recommend starting with the Deployment Guide to learn how to install and configure fwknop. If you're already familiar with fwknop, you can jump directly to the Implementation Principles or Use Cases. If you are only looking for fwknop's corresponding GUI tools, please navigate to the Tool documentations.
Ready to get started?
👉 Click here to check out the portguard deployment guide!