Chọn MENU

Hướng dẫn cấu hình Port Knocking trên Linux và Router MikroTik

Bạn đã bao giờ nghe đến khái niệm "gõ cửa cổng" trong bảo mật mạng chưa? Đó chính là cách thức hoạt động của Port Knocking, một kỹ thuật thú vị cho phép bạn "mở khóa" các cổng dịch vụ trên máy chủ chỉ khi nhận được đúng chuỗi kết nối bí mật. Hãy cùng Việt Tuấn khám phá sâu hơn về phương pháp bảo mật này trên các thiết bị Router MikroTik và hệ điều hành Linux trong bài viết dưới đây nhé!

cau-hinh-port-knocking-tren-linux-va-router-mikrotik.jpg

Giới thiệu tổng quan về Port Knocking

Port Knocking là một kỹ thuật sử dụng nguyên tắc "security through obscurity" (bảo mật thông qua che giấu) để bảo vệ các dịch vụ mạng. Thay vì mở cổng công khai, Port Knocking yêu cầu người dùng thực hiện một chuỗi kết nối đặc biệt (ví dụ: gửi gói tin đến các cổng theo thứ tự định trước) đúng theo một thứ tự và thời gian nhất định.

Port Knocking được Martin Krzywinski giới thiệu vào năm 2002 với mục đích che giấu cổng SSH khỏi các cuộc quét cổng tự động. Từ đó, kỹ thuật này đã phát triển thành một công cụ linh hoạt, hỗ trợ nhiều giao thức (TCP, UDP, ICMP) và tích hợp với các hệ thống tường lửa như iptables.

cau-hinh-port-knocking-tren-linux-va-router-mikrotik-2.jpg

Cơ chế hoạt động của Port Knocking

Port Knocking hoạt động dựa trên ba thành phần chính:

  1. Client: Thiết bị cần kết nối, thực hiện "gõ cổng" bằng cách gửi các gói tin đến một dãy cổng.
  2. Server: Máy chủ chạy dịch vụ Port Knocking (ví dụ: knockd), giám sát các yêu cầu và điều chỉnh tường lửa.
  3. Firewall: Thường là iptables hoặc nftables, chặn mọi kết nối ngoại trừ những cổng được mở tạm thời.

Quy trình:

  • Bước 1: Tất cả cổng trên server đều đóng.
  • Bước 2: Client gửi các gói SYN (TCP) hoặc UDP đến các cổng ví dụ: 1234 → 2345 → 3456.
  • Bước 3: Daemon (ví dụ: knockd) phát hiện chuỗi đúng, kích hoạt lệnh mở cổng SSH (22) trong iptables.
  • Bước 4: Client kết nối đến cổng 22. Sau thời gian định trước, cổng tự động đóng lại.

Ví dụ:

# Client sử dụng công cụ 'knock' để gửi chuỗi

knock -v server.example.com 1234 2345 3456

ssh user@server.example.com

Phân loại Port Knocking

Chuỗi Tĩnh (Static Sequences):

  • Dãy cổng cố định, ví dụ: 1111, 2222, 3333.
  • Dễ triển khai.
  • Dễ bị tấn công replay nếu bị theo dõi.

Chuỗi Động (Dynamic Sequences):

  • Sử dụng thuật toán hoặc mã OTP (One-Time Password).
  • Tích hợp với Google Authenticator để sinh chuỗi dựa trên thời gian.
  • Tăng tính bảo mật, chống replay.

Hướng dẫn triển khai Port Knocking trên Linux

Bước 1: Cài đặt công cụ

sudo apt-get install knockd  # Trên Debian/Ubuntu

Bước 2: Cấu hình knockd.conf

[options]

    logfile = /var/log/knockd.log

[openSSH]

    sequence    = 1234,2345,3456

    seq_timeout = 10

    command     = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

    tcpflags    = syn

[closeSSH]

    sequence    = 3456,2345,1234

    seq_timeout = 10

    command     = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

    tcpflags    = syn

Bước 3: Thiết lập tường lửa

sudo iptables -A INPUT -p tcp --dport 22 -j DROP  # Chặn SSH mặc định

Bước 4: Khởi động Daemon

sudo systemctl start knockd

Hướng dẫn triển khai Port Knocking trên Router MikroTik

cau-hinh-port-knocking-tren-linux-va-router-mikrotik-3.jpg

Giả sử nếu bạn mở hàng loạt cổng dịch vụ (21, 22, 23, 8291, 80, 443…) trên Router Mikrotik. Để truy cập vào các cổng này, người dùng phải vượt qua Port Knocking theo trình tự nghiêm ngặt: Gửi gói tin đến các cổng 33444455556666777711.

Lưu ý: Thứ tự 3344 → 4455 → 5566 → 6677 → 7711 là bắt buộc. Bất kỳ sai lệch nào (ví dụ: gõ sai thứ tự, thiếu bước) sẽ kích hoạt cơ chế chặn truy cập tức thì từ phía hệ thống.

Bước 1. Tạo một nhóm các IP, không bị chặn bởi Knocking.

Tại Menu IP – Firewall – Thẻ Address Lists.
Tạo một danh sách với tên gọi: WhiteList
Các mạng nội bộ có thể truy cập vào bộ định tuyến mà không có giới hạn bởi Port Knocking.

cau-hinh-port-knocking-tren-linux-va-router-mikrotik-4.jpg

Bước 2. Sử dụng danh sách để tạo thứ tự danh sách và vòng lặp sắp xếp địa chỉ.

/ip firewall filter
add chain=input dst-port=3344 protocol=tcp action=add-src-to-address-list address-list="Vong 1" address-list-timeout=1m
add chain=input dst-port=4455 protocol=tcp src-address-list="Vong 1" action=add-src-to-address-list address-list="Vong 2" address-list-timeout=1m
add chain=input dst-port=5566 protocol=tcp src-address-list="Vong 2" action=add-src-to-address-list address-list="Vong 3" address-list-timeout=1m
add chain=input dst-port=6677 protocol=tcp src-address-list="Vong 3" action=add-src-to-address-list address-list="Vong 4" address-list-timeout=1m
add chain=input dst-port=7711 protocol=tcp src-address-list="Vong 4" action=add-src-to-address-list address-list="WhiteList" address-list-timeout=120m
add chain=input src-address-list=WhiteList action=accept
add action=drop chain=input

Copy và paste các tập tin lệnh vào giao diện dòng lệnh Terminal. Phương pháp này tương thích với mọi thiết bị Router Mikrotik, mọi phiên bản RouterOS và không phụ thuộc vào cấu hình sẵn có trước đó.

cau-hinh-port-knocking-tren-linux-va-router-mikrotik-5.jpg

Như vậy các lệnh đã được cài đặt thành công. Kết nối Winbox từ xa qua Internet của bạn sẽ bị chặn lại nếu không có địa chỉ trong danh sách WhiteList, ngoại trừ danh sách địa chỉ mạng đã gán sẵn trước đó.

Ưu điểm và Hạn chế của Port Knocking

Ưu Điểm:

  • Giảm 99% quét cổng tự động (theo thống kê từ các honeypot).
  • Linh hoạt: Hỗ trợ đa giao thức, tùy chỉnh chuỗi phức tạp.
  • Chi phí thấp: Triển khai dễ dàng với phần mềm mã nguồn mở.

Hạn Chế:

  • Security through obscurity: Không thay thế mã hóa hay xác thực mạnh.
  • Nguy cơ replay attack: Nếu hacker bắt được gói tin, có thể lặp lại chuỗi.
  • Phức tạp hóa: Khó khăn khi cấu hình đa người dùng.

Tổng kết

Port Knocking là một công cụ hữu ích khi triển khai như một lớp phòng thủ bổ sung cho hệ thống mạng các các doanh nghiệp. Dù không thể thay thế mã hóa hay xác thực mạnh nhưng Port Knocking vẫn có thể giảm thiểu rủi ro từ các cuộc tấn công tự động. Để tối ưu, hãy kết hợp Port Knocking với các giải pháp như SPA hoặc VPN, đồng thời duy trì việc cập nhật và giám sát thường xuyên.

Chia sẻ

Nguyễn Lưu Minh

Chuyên gia của Viettuans.vn với nhiều năm kinh nghiệm trong lĩnh vực thiết bị mạng Networks, System, Security và tư vấn, triển khai các giải pháp CNTT. Phân phối thiết bị mạng, wifi, router, switch, tường lửa Firewall, thiết bị lưu trữ dữ liệu NAS.

Bình luận & Đánh giá

Vui lòng để lại số điện thoại hoặc lời nhắn, nhân viên Việt Tuấn sẽ liên hệ trả lời bạn sớm nhất

Đánh giá
Điểm 5/5 trên 1 đánh giá
(*) là thông tin bắt buộc

Gửi bình luận

    • Rất hữu ích - 5/5 stars
      HT
      Huy Tùng - 06/08/2022

      Bài viết hay, rất hữu ích.

    0903.209.123
    0903.209.123