Lịch sử tìm kiếm

Chặn kết nối SSL VPN theo MAC Address trên FortiGate (Tunnel Mode)

🛡️ Fortigate NH • Technical Tip

Chặn SSL VPN theo MAC Address trên FortiGate (Tunnel Mode)

Hướng dẫn bật MAC host check cho SSL VPN (Tunnel Mode) bằng CLI, giúp chỉ những thiết bị có MAC Address hợp lệ mới kết nối được.

👤 admin 📅 12/01/2026 🏷️ Hướng dẫn

1. Mô tả

Bài viết này hướng dẫn cách bật MAC host check cho SSL VPN ở chế độ Tunnel Mode.

2. Phạm vi áp dụng

  • FortiGate
  • FortiClient

3. Lưu ý

⚠️ Lưu ý quan trọng
  • Host-check không hỗ trợ FortiClient từ 6.2.0 đến 7.0.2.
  • Từ FortiClient v7.0.3 trở lên, host check mới khả dụng.
  • Linux, iOS, Android không lấy được MAC Address ⇒ không hỗ trợ MAC check.
  • MAC host check trên FortiGate chỉ cấu hình bằng CLI, không có trên GUI.

4. Solution (Cấu hình)

4.1 Xác định SSL VPN Portal đang sử dụng

Vào SSL-VPN settings và kiểm tra mục Authentication / Portal Mapping để xác định portal đang dùng.

4.2 Cấu hình MAC Address Check bằng CLI

MAC Address có thể gắn theo từng portal và có thể là đủ 48-bit hoặc theo subset (mask). Cấu hình MAC check bắt buộc thực hiện bằng CLI:

config vpn ssl web portal
  edit <portal_name>
    set tunnel-mode enable
    set mac-addr-check enable
    config mac-addr-check-rule
      edit <rule_name>
        set mac-addr-list <address> [address]
        set mac-addr-mask <mask 1-48>
      next
    end
    set mac-addr-action {allow | deny}
  next
end
ℹ️ Ghi chú
  • Khi tạo web portal bằng CLI, cần bật tunnel-mode. Nếu không, sẽ không enable được MAC check.
  • Giá trị mặc định: mac-addr-mask = 48mac-addr-action = allow.

4.3 Cách hoạt động

MAC Address của tất cả adapter trên máy người dùng sẽ được gửi về FortiGate tại thời điểm kết nối. Nếu bất kỳ MAC nào khớp với danh sách cấu hình trong rule của portal, action sẽ được áp dụng. Vì vậy cần liệt kê đầy đủ MAC của thiết bị đang chạy FortiClient.

4.4 Ví dụ cấu hình

🧪 Lấy MAC Address trên Windows
ipconfig /all | findstr Physical
Ví dụ đầu ra: Physical Address ... 00-09-0F-FE-00-01
🧩 FortiGate SSL VPN Web Portal (ví dụ)
config vpn ssl web portal
  edit "MAC-Address-Check-Portal"
    set tunnel-mode enable
    set web-mode enable
    set ip-pools "SSLVPN_TUNNEL_ADDR1"
    config bookmark-group
      edit "gui-bookmarks"
      next
    end
    set mac-addr-check enable
    config mac-addr-check-rule
      edit "DellXPS"
        set mac-addr-list 9e:b6:d0:f9:bc:39
      next
    end
    set mac-addr-action allow
  next
end
⛔ Lưu ý kết quả

Nếu không có MAC nào trên máy người dùng khớp với giá trị trong mac-addr-check-rule (ví dụ: 9e:b6:d0:f9:bc:39), kết nối SSL VPN sẽ bị từ chối.

4.5 Thêm nhiều MAC Address

Có thể thêm nhiều MAC vào set mac-addr-list:

config vpn ssl web portal
  edit <portal_name>
    set mac-addr-check enable
    config mac-addr-check-rule
      edit <rule_name>
        set mac-addr-list 00:09:0F:FE:00:01 5C:85:7E:39:BE:67
        set mac-addr-mask <mask 1-48>
      next
    end
    set mac-addr-action {allow | deny}
  next
end

4.6 Append thêm MAC vào danh sách hiện có

Để thêm một MAC vào danh sách đang tồn tại, dùng:

config vpn ssl web portal
  edit <portal_name>
    config mac-addr-check-rule
      edit <rule_name>
        append mac-addr-list <mac_addr>
      next
    end
  next
end
⚠️ Ghi chú

Danh sách MAC không hỗ trợ thêm theo group. Nhiều MAC cần được thêm trực tiếp vào list.

5. Verification & Troubleshooting

Có thể kiểm tra bằng log mức info hoặc debug. Trên GUI: vào Log & Report → System Events → VPN Events và tìm sự kiện tunnel-down.

6. Logs & Debug

6.1 Filter log (CLI)

Bộ lọc dưới đây hiển thị 100 dòng log liên quan đến SSL VPN bị fail (tunnel-down) từ disk:

execute log filter device 1
execute log filter category
execute log filter field tunneltype "ssl-web"
execute log filter field actin "tunnel-down"
execute log display

6.2 Debug SSL VPN

diagnose debug console timestamp enable
diagnose debug application sslvpn -1
diagnose debug enable

6.3 Dấu hiệu khi MAC check fail

⛔ MAC address check failed

Khi MAC không khớp, log/debug sẽ thể hiện lý do “host check MAC address failed” hoặc “MAC address check failed”.

7. Client warning

Ở phía client, người dùng sẽ thấy cảnh báo khi MAC check không đạt.

[ảnh minh hoạ cảnh báo trên FortiClient]
Gợi ý: chèn screenshot warning message từ FortiClient.

8. Lưu ý về FortiClient EMS

⚠️ MAC trên FortiGate sẽ không hiển thị đầy đủ

Nếu cần cấu hình danh sách user theo MAC sau khi đã kết nối SSL VPN, có thể không thấy MAC trên FortiGate do MAC được mã hoá. MAC có thể xem trên FortiClient EMS và dùng để thêm vào set mac-addr-list.

1