Loading...

CPU FortiGate Tăng Cao Do Bật HTTP/HTTPS Trên WAN — Nguyên Nhân, Rủi Ro & Cách Xử Lý

CPU FortiGate Tăng Cao Do Bật HTTP/HTTPS Trên WAN — Nguyên Nhân, Rủi Ro & Cách Xử Lý

Một trong những nguyên nhân phổ biến khiến CPU FortiGate tăng cao bất thường — nhưng lại thường bị bỏ qua — là bật HTTP/HTTPS administrative access trên WAN interface. Đây không chỉ là vấn đề hiệu năng mà còn là rủi ro bảo mật nghiêm trọng.

Bài viết này giải thích đúng cơ chế kỹ thuật, hướng dẫn kiểm tra và xử lý theo tài liệu chính thức Fortinet.

Xem thêm: CPU FortiGate Tăng Cao — Tổng hợp nguyên nhân & cách khắc phục

CPU FortiGate tăng cao


1. Tại sao HTTP/HTTPS trên WAN làm CPU tăng cao?

Khi bật HTTP hoặc HTTPS trong phần Administrative Access trên WAN interface, FortiGate sẽ lắng nghe và xử lý mọi request đến cổng 80/443 từ Internet — bao gồm:

  • Bot scan tự động quét toàn bộ dải IP public 24/7
  • Brute force attack thử mật khẩu liên tục
  • Crawler, vulnerability scanner từ các nguồn độc hại
  • Các request ngẫu nhiên từ traffic Internet thông thường

Để hiểu đúng process nào bị ảnh hưởng, cần phân biệt theo phiên bản FortiOS:

Trong các phiên bản FortiOS trước 7.6.4, GUI vận hành bằng hai thành phần web service chính là nodehttpsd. Từ FortiOS 7.6.4, một daemon mới là http_authd được giới thiệu — daemon này tập trung hóa chức năng xác thực và phân quyền administrator web, tách riêng khỏi httpsd.

Phiên bản FortiOSProcess bị ảnh hưởng khi có request từ WAN
Trước 7.6.4 httpsd xử lý toàn bộ — HTTPS serving lẫn authentication
7.6.4 trở lên http_authd xử lý authentication · httpsd xử lý HTTPS/REST API

Khi bot scan hay brute force liên tục tấn công vào GUI qua WAN, các process trên phải xử lý hàng nghìn request mỗi giờ — kể cả request không có credentials hợp lệ. Kết quả: CPU tăng cao liên tục dù không có admin nào thực sự đang đăng nhập.

Đây là lý do CPU cao xuất hiện âm thầm, không có sự kiện rõ ràng nào trigger — thiết bị đang "trả lời" hàng nghìn request từ Internet mỗi giờ mà admin không hay biết.


2. Kiểm tra xác nhận nguyên nhân qua CLI

Bước 1 — Kiểm tra process đang chiếm CPU:

diagnose sys top

hoặc tương đương:

get system performance top

Tùy phiên bản FortiOS, tìm process chiếm CPU cao:

  • FortiOS trước 7.6.4: tìm httpsd
  • FortiOS 7.6.4 trở lên: tìm http_authd

CPU FortiGate tăng cao

Nếu thấy httpsd hoặc http_authd xuất hiện liên tục ở top process với CPU% cao — đây là dấu hiệu rõ ràng.

Bước 2 — Xem session đang vào port 443 từ WAN:

diagnose sys session filter dport 443
diagnose sys session list

Nếu thấy nhiều session đến port 443 từ các IP public không quen — xác nhận có traffic đang scan/tấn công vào GUI.

Bước 3 — Kiểm tra log admin login failed:

Vào Log & Report > Events > System Events — lọc theo event Admin login failed. Nếu thấy hàng loạt failed login từ IP public liên tục, đây là bằng chứng rõ ràng nhất.

Hoặc qua CLI:

execute log filter category 1
execute log filter field action login
execute log display

Bước 4 — Kiểm tra cấu hình Administrative Access trên WAN interface:

show system interface <tên_WAN_interface>

Tìm dòng allowaccess — nếu có http hoặc https:

set allowaccess https http ping   <- Cần xử lý

Tham khảo: Technical Tip: In FortiOS 7.6.4 and later, administrator web authentication is handled by the http_authd process — Fortinet Community


3. Cách tắt HTTP/HTTPS trên WAN interface

Tắt qua GUI

  1. Vào Network > Interfaces
  2. Chọn WAN interface (thường là wan1, port1 hoặc tên tương ứng)
  3. Trong phần Administrative Accessbỏ tick HTTP và HTTPS
  4. Click OK

Tắt qua CLI

config system interface
    edit "wan1"
        set allowaccess ping
    next
end

Lưu ý: Thay wan1 bằng tên WAN interface thực tế. Chỉ giữ ping nếu cần kiểm tra kết nối WAN — hoặc bỏ luôn nếu không cần.

Kiểm tra sau khi tắt

show system interface wan1

Xác nhận dòng allowaccess không còn httphttps. Sau vài phút, kiểm tra lại CPU:

diagnose sys top

Process httpsd / http_authd sẽ giảm rõ rệt.


4. Giải pháp thay thế an toàn để quản trị từ xa

Giải pháp 1 — Tắt hoàn toàn administrative access trên WAN, dùng VPN để quản trị (Khuyến nghị nhất)

Theo Fortinet Hardening Guide: khi có thể, không cho phép administrative access trên external interface (internet-facing). Để tắt administrative access, vào Network > Interfaces, edit WAN interface và disable HTTPS, PING, HTTP, SSH trong phần Administrative Access.

Khi cần quản trị từ xa, kết nối SSL VPN hoặc IPsec VPN vào mạng nội bộ trước, sau đó truy cập GUI qua IP LAN của FortiGate — GUI không expose ra Internet, bot và attacker không thể reach được.

Tham khảo: System administrator best practices — FortiOS Hardening Guide


Giải pháp 2 — Trusted Hosts (nếu bắt buộc giữ HTTPS trên WAN)

Nếu vì lý do vận hành bắt buộc phải giữ HTTPS trên WAN, Trusted Hosts là lớp bảo vệ tối thiểu cần cấu hình ngay.

Theo Fortinet Administration Guide: cấu hình Trusted Hosts cho administrator giới hạn các địa chỉ mà họ có thể đăng nhập vào FortiOS. Trusted hosts áp dụng cho hầu hết các hình thức administrative access bao gồm HTTPS, SSH và SNMP. Khi xác định trusted host cho một administrator account, FortiOS chỉ chấp nhận đăng nhập từ một trong các trusted host đó — đăng nhập từ host không thuộc trusted list sẽ bị drop dù credentials đúng

Cấu hình qua CLI:

config system admin
    edit "admin"
        set trusthost1 203.0.113.10 255.255.255.255
        set trusthost2 203.0.113.0 255.255.255.0
    next
end

Cấu hình qua GUI:

  1. Vào System > Administrators
  2. Edit administrator account
  3. Bật Restrict login to trusted hosts
  4. Thêm IP/subnet được phép đăng nhập (tối đa 10)

Lưu ý quan trọng: Nếu để ngay cả một administrator không có trusted host restriction, thiết bị vẫn chấp nhận administrative access từ bất kỳ interface nào có administrative access được bật — tiềm ẩn rủi ro truy cập trái phép. Trusted hosts áp dụng cho GUI, Ping, SNMP và CLI qua Telnet/SSH — CLI qua console port không bị ảnh hưởng. Network Devices

Tham khảo: Administrator account options — FortiOS 7.6.6 Administration Guide


Giải pháp 3 — Chỉ dùng HTTPS, tắt hoàn toàn HTTP

Nếu chưa thể tắt ngay HTTPS trên WAN, tối thiểu phải tắt HTTP (port 80). Fortinet khuyến nghị rõ trong Hardening Guide: để bảo mật tốt hơn, không bao giờ cho phép HTTP hoặc Telnet administrative access trên FortiGate interface — chỉ cho phép HTTPS và SSH.

config system interface
    edit "wan1"
        set allowaccess https ssh ping
    next
end

Tham khảo: System administrator best practices — FortiOS Hardening Guide


Giải pháp 4 — Bật Two-Factor Authentication (2FA)

Nếu vẫn phải giữ HTTPS trên WAN, bật 2FA là lớp bảo vệ bổ sung quan trọng.

Theo Fortinet Administration Guide: FortiOS hỗ trợ FortiToken và FortiToken Mobile two-factor authentication. Mỗi FortiGate đã đăng ký đi kèm hai trial token miễn phí. Để gán token cho administrator, vào System > Administrators và bật Enable Two-factor Authentication cho từng administrator.

Khi 2FA được bật, ngay cả khi attacker đoán đúng password — họ vẫn không thể đăng nhập được nếu không có OTP từ FortiToken.

Tham khảo: System administrator best practices — FortiOS Hardening Guide


5. Lưu ý quan trọng trước khi thực hiện

  • Đảm bảo vẫn có đường vào GUI qua LAN trước khi tắt HTTP/HTTPS trên WAN — tránh tình huống tự lock out khỏi thiết bị
  • Nếu đang có session quản trị qua WAN, session đó sẽ bị ngắt ngay khi tắt — thông báo cho team trước
  • SSL VPN không bị ảnh hưởng: SSL VPN dùng process sslvpnd riêng, không liên quan đến httpsd hay http_authd. Tắt HTTPS trong Administrative Access không ảnh hưởng đến SSL VPN
  • Nếu đang dùng FortiManager để quản lý tập trung: đảm bảo kết nối fgfm tunnel từ FortiManager vẫn hoạt động sau khi tắt — fgfm dùng port 541, không phải port 443/80

6. Câu hỏi thường gặp

Tại sao không nên bật HTTPS admin access trên WAN interface FortiGate? — Khi bật HTTPS trên WAN, process http_authd (FortiOS 7.6.4+) hoặc httpsd (trước 7.6.4) phải xử lý mọi request đến port 443 từ Internet — bao gồm bot scan, brute force, crawler 24/7. Điều này tốn CPU liên tục dù không có admin nào đang làm việc, đồng thời expose giao diện quản trị ra Internet là rủi ro bảo mật nghiêm trọng.

http_authdhttpsd khác nhau như thế nào?httpsd cung cấp HTTPS và REST API services trên FortiGate, bao gồm administrative web GUI. http_authd xử lý administrator web authentication — được tách riêng từ FortiOS 7.6.4 trở lên. Trước 7.6.4, httpsd đảm nhiệm cả hai vai trò.

Cách nào an toàn nhất để quản trị FortiGate từ xa? — Kết nối VPN vào mạng nội bộ trước (SSL VPN hoặc IPsec), sau đó truy cập GUI qua IP LAN. Nếu bắt buộc giữ HTTPS trên WAN, cấu hình Trusted Hosts để chỉ cho phép IP quản trị cụ thể đăng nhập.

Tắt HTTPS trên WAN có ảnh hưởng đến SSL VPN không? — Không. SSL VPN chạy qua process sslvpnd riêng biệt và được cấu hình trong VPN > SSL-VPN Settings. Tắt HTTPS trong Administrative Access trên WAN interface không ảnh hưởng đến kết nối SSL VPN của người dùng.

Trusted Hosts có áp dụng cho tất cả loại admin access không? — Trusted Hosts chỉ có thể cấu hình cho local administrator account và REST API administrator account. Không thể cấu hình trực tiếp Trusted Hosts trên SAML-based SSO administrator account.

Làm sao phát hiện đang bị brute force vào GUI? — Vào Log & Report > Events > System Events, lọc theo Admin login failed. Nếu thấy hàng loạt failed login từ nhiều IP public khác nhau trong thời gian ngắn — đây là dấu hiệu rõ ràng. Ngoài ra có thể bật email alert cho event này trong Security Fabric > Automation.


Tóm tắt hành động cần làm ngay

Hành độngƯu tiênCách thực hiện
Tắt HTTP/HTTPS trên WAN interface Cao nhất Network > Interfaces > WAN > bỏ tick HTTP, HTTPS
Cấu hình Trusted Hosts cho tất cả admin account Cao System > Administrators > Restrict login to trusted hosts
Kiểm tra log Admin login failed Cao Log & Report > Events > System Events
Dùng VPN để quản trị từ xa Khuyến nghị SSL VPN hoặc IPsec VPN vào trước, sau đó dùng IP LAN
Tắt HTTP (giữ HTTPS nếu chưa thể tắt hẳn) Trung bình set allowaccess https ping

Nguồn tham khảo:

Cần hỗ trợ kiểm tra cấu hình FortiGate hoặc tư vấn bảo mật hệ thống? Liên hệ đội kỹ thuật VNExperts để được hỗ trợ miễn phí.