단일 패킷 인증
PortGuard
PortGuard는 포트 스캐닝 위협을 포함한 무단 액세스로부터 네트워크를 보호하기 위해 강력한 단일 패킷 인증 기술을 제공합니다.
지금 다운로드, 다중 플랫폼 GUI
다중 플랫폼 GUI
Windows용 다운로드
fwknopc_2_6_11_x64-setup.exe
MacOS용 다운로드
fwknopc_2_6_11_x64.pkg
안드로이드용 다운로드
fwknopc_2_6_11_x64.apk
CentOS7용 Fwknop 서버
파일 이름 | 마지막 수정일 | MD5 |
---|---|---|
fwknop-server-2.6.11-1.el7.x86_64.rpm | 2025-07-29 |
1a375f89c2aa16935ddce164ad16adad
|
libfko-3.0.0-1.x86_64.rpm | 2025-07-29 |
7f720f1f444f1634bab7cadbbfec40b2
|
1. 왜 PortGuard를 개발했나요?
저는 직장 동료들과 가벼운 대화를 나누던 중 단일 패킷 인증(SPA)이라는 개념을 처음 접했습니다. 그 전까지는 포트 노킹이나 SPA에 대해 전혀 몰랐습니다. 마침 저희 회사에 포트 노킹 솔루션이 필요했고, 관련 자료를 조사하고 탐색하던 중 fwknop을 발견했습니다. fwknop의 개념은 정말 인상적이었습니다. 소수의 사용자만 접근해야 하는 서비스에 fwknop은 훌륭한 솔루션이었습니다. 자체 도구 개발도 고려했지만, fwknop이 훨씬 더 발전된 형태였습니다. 하지만 fwknop에는 단점이 있었습니다. 복잡하고 설치 및 사용에 대한 학습 곡선이 가파르며, 전용 클라이언트 애플리케이션이 부족했습니다. 이러한 단점을 해결하기 위해 PortGuard가 개발되었습니다. PortGuard의 목표는 fwknop, 그리고 향후 tnok과 같은 주류 포트 노킹 프로토콜을 지원하는 동시에 크로스 플랫폼 클라이언트를 제공하는 것입니다. fwknop과 tnok의 확장 기능으로 구축된 PortGuard는 SPA 기술을 보다 사용자 친화적이고 접근하기 쉽게 만드는 것을 목표로 합니다.
2. PortGuard 클라이언트 지원 플랫폼
현재 PortGuard는 다음 플랫폼을 지원합니다.
- iOS
- Android
- Windows
- macOS
3. PortGuard 사용 사례
PortGuard의 핵심 기능은 서비스 포트를 숨겨서(기본적으로 닫힘) 네트워크 보안을 강화하는 것이며, 다음과 같은 시나리오에 적합합니다.
3.1 원격 액세스 서비스(예: SSH) 보호
시나리오:관리자는 SSH 포트를 공용 네트워크에 노출하지 않고도 다양한 위치(예: 집, 커피숍, 모바일 네트워크)에서 SSH 서비스에 안전하게 액세스해야 합니다.
구현: fwknop 또는 tnok를 사용하면 클라이언트가 SPA 데이터 패킷이나 TOTP 노크 패킷을 보내고, 서버는 확인 후 SSH 포트(기본값 22)를 임시로 엽니다.
장점: Nmap 및 기타 포트 스캐닝 도구가 서비스를 발견하지 못하도록 하여 제로데이 취약점이 악용될 위험을 줄입니다.
예: 원격 팀 구성원은 fwknop 클라이언트를 사용하여 Windows 또는 Android 기기에서 SPA 데이터 패킷을 보내고 회사 내부 서버에 안전하게 액세스합니다.
3.2 클라우드 환경에서의 서비스 보호
시나리오:AWS, Azure 및 기타 클라우드 플랫폼의 내부 서비스(예: 데이터베이스, 웹 서버)는 공용 네트워크를 통해 액세스해야 하지만 포트가 직접 노출되는 것을 방지해야 합니다.
구현: PortGuard는 NAT와 통합되어 외부 클라이언트가 SPA를 통해 RFC 1918 주소 공간의 내부 서비스에 액세스할 수 있도록 합니다.
장점: 하이브리드 클라우드 및 멀티 테넌트 환경에 적합한 복잡한 네트워크 토폴로지를 지원합니다.
예: AWS EC2 인스턴스에서 fwknopd를 실행하고 권한이 있는 사용자가 액세스할 수 있도록 MySQL 포트(3306)를 동적으로 엽니다.
3.3 포트 스캐닝 및 무차별 대입 공격 방어
시나리오:서버는 포트 스캐닝(예: Nmap)이나 무차별 대입 공격에 직면해 있으며, 공격 표면을 줄이기 위해 서비스 포트를 숨겨야 합니다.
구현: PortGuard는 유효한 SPA 데이터 패킷을 수신한 후에만 포트를 여는 기본 방화벽 정책을 유지합니다.
장점: 패치되지 않은 취약점이 있더라도 공격자는 서비스 포트를 발견할 수 없습니다.
예: SSH의 무차별 대입 공격을 방지하고, fwknop은 HMAC을 검증한 후에만 포트를 엽니다.
3.4 다중 서비스 보호 지원
시나리오:기업에서는 여러 서비스(예: SSH, RDP, VPN, 데이터베이스)를 보호해야 하지만 모든 포트가 항상 열려 있기를 바라지는 않습니다.
구현: fwknop은 access.conf에서 여러 서비스와 포트를 정의하는 것을 지원하며, 클라이언트는 대상 프로토콜과 포트를 지정할 수 있습니다.
장점: 유연한 규칙 구성, 사용자 정의 시간 초과 및 포트 개방 전략 지원.
예: SSH(tcp/22)와 OpenVPN(udp/1194)을 모두 보호하도록 fwknop을 구성합니다.
3.5 임베디드 또는 IoT 장치 보안
시나리오:IoT 기기나 임베디드 시스템은 원격 관리가 필요하지만, 기기 리소스는 제한적이고 공격에 취약합니다.
구현: 리소스가 제한된 장치에서 가벼운 fwknopd 또는 tnokd를 실행하고 SPA 또는 TOTP를 통해 액세스를 제어합니다.
장점: 리소스 소모가 적어 소형 기기에 적합합니다.
예: Raspberry Pi에서 실행되는 웹 서비스를 보호합니다.
3.6 타사 장치 통합
시나리오:기본 fwknop을 지원하지 않는 장치(예: Cisco 라우터)와 통합하고 방화벽 규칙을 제어해야 합니다.
구현: fwknop의 명령 열기/닫기 주기(명령 열기/닫기 주기) 기능을 사용하면 사용자 정의 스크립트를 실행하여 타사 장치의 ACL을 동적으로 수정할 수 있습니다.
장점: 확장 가능하며 비표준 방화벽 장치를 지원합니다.
예: Linux 서버에서 fwknopd를 실행하고 SSH를 통해 Cisco 라우터의 ACL을 업데이트합니다.
3.7 기술 세부 사항
- fwknop은 타임아웃(CMD_CYCLE_TIMER)을 정의하여 포트가 열리면 자동으로 닫히도록 하여 노출 시간을 줄여줍니다.
- VPN(예: WireGuard, OpenVPN)과 결합하여 안전한 개인 네트워크를 구축할 수 있습니다.
- HTTP 환경에서 SPA에 적합한 X-Forwarded-For 헤더 구문 분석을 지원합니다.
4. PortGuard는 얼마나 안전합니까?
PortGuard의 보안은 주로 fwknop의 단일 패킷 인증(SPA) 메커니즘에 기반하며, 암호화, 인증 및 방화벽 통합과 결합하여 다계층 보안을 제공합니다. 다음은 보안에 대한 자세한 분석입니다.
4.1 암호화 및 인증
암호화: fwknop은 Rijndael(AES) 대칭 암호화 또는 GnuPG 비대칭 암호화를 지원하며, SPA 데이터 패킷 콘텐츠를 직접 구문 분석할 수 없습니다.
입증: 데이터 패킷 인증에는 HMAC-SHA256(기본값) 이상 버전을 사용하여 데이터 무결성과 소스 신뢰를 보장합니다.
보안: 중간자 공격(MITM) 및 재생 공격을 방지하고, 암호화 후 HMAC을 적용하여 CBC 모드 패딩 오라클 공격(예: 보데네 공격)을 방어합니다.
제한 사항: 대칭 암호화에는 클라이언트와 서버 공유 키가 필요하며 부적절한 키 관리로 인해 누출이 발생할 수 있습니다. GnuPG 모드에는 키 링을 유지해야 합니다.
4.2 포트 스캐닝 방지
기구: PortGuard는 기본 방화벽 정책을 사용하고 권한이 없는 경우 서비스 포트가 보이지 않으므로 Nmap 및 기타 도구에서는 이를 감지할 수 없습니다.
보안: 공격 표면이 크게 줄어들어, 제로데이 취약점이 있더라도 공격자가 서비스 포트를 찾을 수 없습니다.
제한 사항: 노크 데이터 패킷이 스니핑되면(기존 포트 노킹은 이에 더 취약함), 공격자가 재생을 시도할 수 있습니다(SPA는 HMAC을 통해 이 문제를 해결했습니다).
4.3 폭력에 저항하다
기구: SPA 데이터 패킷은 올바르게 암호화되어야 하고 HMAC 인증이 되어야 하며, 무차별 대입 공격은 거의 불가능합니다(HMAC에 실패한 데이터 패킷은 바로 삭제됩니다).
보안: 기존 포트 노킹과 비교했을 때, SPA의 단일 패킷 설계와 암호화 메커니즘은 무차별 대입 공격에 대한 저항력을 크게 향상시킵니다.
제한 사항: 구성 오류(예: 약한 키 또는 비활성화된 HMAC)로 인해 보안이 약해질 수 있습니다.
✨ 특징




사람들 ❤️ Fwknop

John

Michael

James

David

Olivia

William