Security Protocol v2.0 지원

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.

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

기존 노출 모드 (위험)

  • ✕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.

포트가드 튜토리얼

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.

기술 원리

보안 동작 메커니즘

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

1
인증 패킷 생성

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

2
핸드셰이크 없는 전달

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

3
동적 오픈

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

PORT_GUARD_DAEMON 상태: 수신 대기 중
[INFO] eth0에서 SPA 패킷 스니핑 중...
[CMD] 124.6.x.x에서 패킷 감지
[AUTH] HMAC SHA256 검증 완료. 타임스탬프 유효.
[AUTH] AES-256-CBC로 페이로드 복호화 중...
[FIREWALL] 124.6.x.x에 대해 30초간 포트 22 개방.
_

적용 시나리오

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.

다운로드 및 설치

멀티 플랫폼 클라이언트와 서버 패키지 지원

Windows 클라이언트

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 앱

fwknopc_2_6_11.apk

Download APK

Linux 서버

Debian, Ubuntu, Rocky, CentOS, OpenWrt

Server Packages
보안 안내: 다운로드 후 MD5/SHA256 지문을 확인하세요.

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...

FAQ 및 사용 사례

마지막 업데이트:

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로 클라이언트 프로파일을 사용하십시오. 프로필을 한 번 생성하고 가져온 다음 다시 사용할 수 있습니다. 유효한 각 노크는 FW_TIMEOUT가 만료될 때까지 ALLOW_IP에서 선택한 IP가 모든 TCP 및 UDP 서비스 포트에 도달하도록 허용하는 임시 소스 IP 규칙을 생성합니다. 만료 후 새 노크를 보냅니다. 이는 높은 권한 모드입니다. 짧은 시간 제한을 사용하고 프로필과 키를 보호하며 업스트림 클라우드 방화벽, 라우터 규칙 및 서비스 인증이 계속 적용된다는 점을 기억하세요.

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(터널) 인바운드 포트를 열지 않고 NAS 트래픽을 Cloudflare 네트워크로 라우팅합니다. 장점: 설정이 쉽고 공인 IP가 필요 없으며 추가 WAF 레이어를 제공합니다. 단점: 트래픽이 제3자 서버를 통과하므로 Cloudflare의 개인정보 정책에 의존해야 합니다. 무료 티어 라우팅 제한으로 대용량 미디어 스트리밍에는 불리할 수 있습니다.
  • 방법 2: 자체 공인 IP + fwknop 포트 노킹 라우터에서 포트를 열되 fwknop(SPA)로 보호합니다. 포트는 평소 공용 인터넷에서 보이지 않으며, 유효한 암호 서명 접근 패킷을 보낼 때만 열립니다. 장점: 제3자 서버를 거치지 않아 높은 데이터 프라이버시를 확보할 수 있고, 직접 연결이라 최대 전송 속도를 활용할 수 있습니다(영상 스트리밍에 유리). 단점: 실제 공인 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]