Ủy quyền gói đơn
PortGuard
PortGuard cung cấp công nghệ ủy quyền gói tin đơn mạnh mẽ để bảo vệ mạng của bạn khỏi truy cập trái phép, bao gồm cả các mối đe dọa quét cổng.
Tải xuống ngay, Giao diện người dùng đa nền tảng
Giao diện người dùng đa nền tảng
Tải xuống cho Windows
fwknopc_2_6_11_x64-setup.exe
Tải xuống cho Macos
fwknopc_2_6_11_x64.pkg
Tải xuống cho Android
fwknopc_2_6_11_x64.apk
Máy chủ Fwknop cho CentOS7
Tên tệp | Lần sửa đổi cuối cùng | 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. Tại sao tôi phát triển PortGuard?
Lần đầu tiên tôi biết đến khái niệm Ủy quyền Gói Đơn (SPA) trong một cuộc trò chuyện thân mật với đồng nghiệp tại nơi làm việc. Trước đó, tôi không hề biết gì về port knocking hay SPA. Tình cờ công ty chúng tôi cần một giải pháp port-knocking, và sau khi nghiên cứu và khám phá các tài liệu liên quan, tôi đã phát hiện ra fwknop. Khái niệm fwknop thực sự ấn tượng—đối với các dịch vụ chỉ cần một số ít người được chọn truy cập, fwknop là một giải pháp tuyệt vời. Chúng tôi đã cân nhắc việc phát triển công cụ riêng, nhưng fwknop đã hoàn thiện hơn nhiều. Tuy nhiên, fwknop có những nhược điểm: phức tạp, cần nhiều thời gian để học cách cài đặt và sử dụng, và thiếu một ứng dụng khách chuyên dụng. Điều này dẫn đến việc tạo ra PortGuard. Mục tiêu của PortGuard là hỗ trợ các giao thức port-knocking phổ biến như fwknop và trong tương lai là tnok, đồng thời cung cấp một ứng dụng khách đa nền tảng. Được xây dựng như một phần mở rộng của fwknop và tnok, PortGuard hướng đến việc làm cho công nghệ SPA thân thiện và dễ sử dụng hơn với người dùng.
2. Nền tảng được PortGuard Client hỗ trợ
Hiện tại, PortGuard hỗ trợ các nền tảng sau:
- iOS
- Android
- Windows
- macOS
3. Các trường hợp sử dụng PortGuard
Chức năng cốt lõi của PortGuard là tăng cường bảo mật mạng bằng cách ẩn các cổng dịch vụ (mặc định là đóng) và phù hợp với các trường hợp sau:
3.1 Bảo vệ Dịch vụ Truy cập Từ xa (ví dụ: SSH)
Kịch bản: Người quản trị cần truy cập an toàn vào các dịch vụ SSH từ nhiều địa điểm khác nhau (ví dụ: nhà riêng, quán cà phê, mạng di động) mà không để lộ cổng SSH ra mạng công cộng.
Thực hiện: Sử dụng fwknop hoặc tnok, máy khách sẽ gửi các gói dữ liệu SPA hoặc các gói tin TOTP knock, và máy chủ sẽ xác minh và mở tạm thời cổng SSH (mặc định là 22) sau khi xác minh.
Thuận lợi: Ngăn chặn Nmap và các công cụ quét cổng khác phát hiện các dịch vụ, giảm nguy cơ khai thác lỗ hổng bảo mật zero-day.
Ví dụ: Các thành viên nhóm từ xa sử dụng ứng dụng khách fwknop để gửi các gói dữ liệu SPA trên thiết bị Windows hoặc Android, truy cập an toàn vào máy chủ nội bộ của công ty.
3.2 Bảo vệ dịch vụ trong môi trường đám mây
Kịch bản: Các dịch vụ nội bộ (ví dụ: cơ sở dữ liệu, máy chủ web) trong AWS, Azure và các nền tảng đám mây khác cần được truy cập thông qua mạng công cộng, nhưng cần tránh để các cổng bị lộ trực tiếp.
Thực hiện: PortGuard tích hợp với NAT để cho phép các máy khách bên ngoài truy cập các dịch vụ nội bộ trong không gian địa chỉ RFC 1918 thông qua SPA.
Thuận lợi: Hỗ trợ các cấu trúc mạng phức tạp, phù hợp với môi trường đám mây lai và nhiều đối tượng thuê bao.
Ví dụ: Chạy fwknopd trên các phiên bản AWS EC2, mở động cổng MySQL (3306) để người dùng được ủy quyền truy cập.
3.3 Phòng chống Quét Cổng và Tấn công Brute Force
Kịch bản: Máy chủ phải đối mặt với việc quét cổng (ví dụ: Nmap) hoặc các cuộc tấn công bằng vũ lực và cần ẩn các cổng dịch vụ để giảm bề mặt tấn công.
Thực hiện: PortGuard duy trì chính sách tường lửa loại bỏ mặc định, chỉ mở cổng sau khi nhận được các gói dữ liệu SPA hợp lệ.
Thuận lợi: Ngay cả khi có lỗ hổng chưa được vá, kẻ tấn công vẫn không thể phát hiện ra các cổng dịch vụ.
Ví dụ: Ngăn chặn tấn công SSH bằng brute force, fwknop chỉ mở cổng sau khi xác minh HMAC.
3.4 Hỗ trợ bảo vệ nhiều dịch vụ
Kịch bản: Các doanh nghiệp cần bảo vệ nhiều dịch vụ (ví dụ: SSH, RDP, VPN, cơ sở dữ liệu) nhưng không muốn tất cả các cổng đều mở mọi lúc.
Thực hiện: fwknop hỗ trợ việc xác định nhiều dịch vụ và cổng trong access.conf và máy khách có thể chỉ định giao thức và cổng đích.
Thuận lợi: Cấu hình quy tắc linh hoạt, hỗ trợ thời gian chờ tùy chỉnh và chiến lược mở cổng.
Ví dụ: Cấu hình fwknop để bảo vệ cả SSH (tcp/22) và OpenVPN (udp/1194).
3.5 Bảo mật thiết bị nhúng hoặc IoT
Kịch bản: Các thiết bị IoT hoặc hệ thống nhúng cần được quản lý từ xa, nhưng tài nguyên của thiết bị bị hạn chế và dễ bị tấn công.
Thực hiện: Chạy fwknopd hoặc tnokd nhẹ trên các thiết bị có tài nguyên hạn chế, kiểm soát quyền truy cập thông qua SPA hoặc TOTP.
Thuận lợi: Tiêu thụ ít tài nguyên, phù hợp với các thiết bị nhỏ.
Ví dụ: Bảo vệ dịch vụ web chạy trên Raspberry Pi.
3.6 Tích hợp thiết bị của bên thứ ba
Kịch bản: Cần tích hợp với các thiết bị không hỗ trợ fwknop gốc (ví dụ: bộ định tuyến Cisco), kiểm soát các quy tắc tường lửa.
Thực hiện: Tính năng chu kỳ mở/đóng lệnh (chu kỳ mở/đóng lệnh) của fwknop cho phép thực thi các tập lệnh tùy chỉnh để sửa đổi động ACL của các thiết bị của bên thứ ba.
Thuận lợi: Có thể mở rộng, hỗ trợ các thiết bị tường lửa không chuẩn.
Ví dụ: Chạy fwknopd trên máy chủ Linux, cập nhật ACL của bộ định tuyến Cisco thông qua SSH.
3.7 Chi tiết kỹ thuật
- fwknop hỗ trợ xác định thời gian chờ (CMD_CYCLE_TIMER), cổng mở tự động đóng, giảm thời gian phơi sáng.
- Có thể kết hợp với VPN (ví dụ: WireGuard, OpenVPN) để xây dựng mạng riêng an toàn.
- Hỗ trợ phân tích tiêu đề X-Forwarded-For, phù hợp với SPA trong môi trường HTTP.
4. PortGuard an toàn đến mức nào?
Bảo mật của PortGuard chủ yếu dựa trên cơ chế xác thực gói đơn (SPA) của fwknop, kết hợp với mã hóa, xác thực và tích hợp tường lửa, mang lại khả năng bảo vệ đa lớp. Sau đây là phân tích chi tiết về bảo mật:
4.1 Mã hóa và Xác thực
Mã hóa: fwknop hỗ trợ mã hóa đối xứng Rijndael (AES) hoặc mã hóa không đối xứng GnuPG và nội dung gói dữ liệu SPA không thể được phân tích trực tiếp.
Xác thực: Sử dụng HMAC-SHA256 (mặc định) hoặc phiên bản cao hơn để xác thực gói dữ liệu, đảm bảo tính toàn vẹn của dữ liệu và độ tin cậy của nguồn.
Bảo vệ: Ngăn chặn các cuộc tấn công trung gian (MITM) và phát lại, HMAC được áp dụng sau khi mã hóa, chống lại các cuộc tấn công oracle đệm chế độ CBC (ví dụ: các cuộc tấn công Vaudenay).
Hạn chế: Mã hóa đối xứng yêu cầu khóa được chia sẻ giữa máy khách và máy chủ, quản lý khóa không đúng cách có thể dẫn đến rò rỉ; chế độ GnuPG yêu cầu duy trì vòng chìa khóa,
4.2 Ngăn chặn quét cổng
Cơ chế: PortGuard sử dụng chính sách tường lửa loại bỏ mặc định và cổng dịch vụ sẽ vô hình khi không được ủy quyền, do đó Nmap và các công cụ khác không thể phát hiện ra.
Bảo vệ: Giảm đáng kể bề mặt tấn công, ngay cả khi có lỗ hổng zero-day, kẻ tấn công vẫn không thể xác định được cổng dịch vụ.
Hạn chế: Nếu gói dữ liệu gõ bị đánh hơi (phương pháp gõ cổng truyền thống dễ bị ảnh hưởng hơn), kẻ tấn công có thể thử phát lại (SPA đã giải quyết vấn đề này thông qua HMAC).
4.3 Chống lại vũ lực
Cơ chế: Các gói dữ liệu SPA cần được mã hóa chính xác và xác thực HMAC, tấn công bằng vũ lực gần như không thể thực hiện được (các gói dữ liệu có HMAC không thành công sẽ bị loại bỏ trực tiếp).
Bảo vệ: So với phương pháp tấn công cổng truyền thống, thiết kế gói đơn và cơ chế mã hóa của SPA cải thiện đáng kể khả năng chống lại tấn công bằng vũ lực.
Hạn chế: Lỗi cấu hình (ví dụ: khóa yếu hoặc HMAC bị vô hiệu hóa) có thể làm giảm tính bảo mật.
✨ Đặc trưng




Mọi người ❤️ Fwknop

John

Michael

James

David

Olivia

William