Danh mục sản phẩm
Quản lý Admin FortiGate: Admin Profile, quyền hạn, Trusted Hosts, Admin Lockout, Password Policy & 2FA
1. Liên hệ thực tế
Sau vụ việc FortiCare ở bài trước, anh Nam được sếp giao thêm việc: tạo tài khoản CLI riêng cho hai bạn kỹ thuật mới vào nghề, nhưng "chỉ cho xem log, đừng cho đụng vào Firewall Policy, lỡ tay xóa nhầm rule là công ty khách hàng sập mạng."
Anh Nam tạo tài khoản xong, đưa cho hai bạn dùng chung một password đơn giản là "Fortinet123" để dễ nhớ. Chị Lan nhìn thấy, lắc đầu: "Anh làm vậy là sai tới ba lỗi cùng lúc đấy. Thứ nhất, không dùng chung tài khoản — mất dấu vết ai làm gì. Thứ hai, password đó chắc chắn bị brute-force chỉ trong vài phút nếu để lộ ra ngoài Internet. Thứ ba, anh chưa giới hạn quyền — hai bạn mới vẫn đang dùng chung accprofile là super_admin, tức là full quyền, kể cả xóa policy."
Anh Nam ngớ người: "Vậy giờ làm sao cho đúng?"
Đây chính là nội dung bài này — cách phân quyền chi tiết theo Admin Profile, giới hạn nguồn đăng nhập bằng Trusted Hosts, chống dò mật khẩu bằng Admin Lockout, ép mật khẩu đủ mạnh bằng Password Policy, và thêm lớp bảo vệ cuối cùng bằng Two-Factor Authentication (2FA).
2. Kiến thức cốt lõi
2.1 Admin Profile — phân quyền theo nhóm chức năng
Mỗi tài khoản quản trị trên FortiGate được gán một Admin Profile (accprofile) quyết định họ được xem/sửa những gì. FortiOS có sẵn hai profile mặc định:
super_admin— toàn quyền trên mọi thành phần, kể cả tạo/xóa tài khoản admin khác. Đây là profile của tài khoảnadminmặc định. Không thể xóa hoặc chỉnh sửa profile này — luôn phải giữ lại ít nhất một tài khoản super_admin để đảm bảo có đường vào quản trị thiết bị.prof_admin— có thể chỉnh sửa được, dùng làm mẫu tùy biến.
Với nhu cầu phân quyền chi tiết hơn, tạo custom accprofile, gán từng nhóm chức năng ở một trong các mức: none(không thấy), read (chỉ xem), read-write (toàn quyền trong nhóm), hoặc custom (phân quyền chi tiết hơn nữa xuống từng mục con).
Ví dụ tạo một profile chỉ cho xem log và Firewall Policy, không cho sửa gì:
config system accprofile
edit "readonly_soc"
set fwgrp read
set loggrp read
set ftviewgrp read
next
end
config system admin
edit "hotro01"
set accprofile "readonly_soc"
set password "..."
set vdom "root"
next
end
⚠️ Lưu ý: Trong nhóm
sysgrp, mục conadmin(quyền tạo/sửa/xóa tài khoản admin khác) là mục nhạy cảm nhất — cấpread-writecho mục này gần như tương đương cấpsuper_admin, vì tài khoản đó có thể tự tạo thêm tài khoản super_admin khác cho chính mình. Chỉ nên cấp cho người thực sự quản lý toàn bộ hệ thống.
2.2 Trusted Hosts — giới hạn nguồn đăng nhập
Trusted Hosts giới hạn địa chỉ IP/subnet được phép đăng nhập cho một tài khoản admin cụ thể — áp dụng cho hầu hết các hình thức truy cập quản trị: HTTPS, SSH, SNMP. Khi đã khai báo Trusted Hosts cho một tài khoản, FortiGate chỉ chấp nhận đăng nhập từ đúng những host đó — dù gõ đúng usename/password từ nơi khác vẫn bị từ chối. Tối đa khai báo được 10 host/subnet cho mỗi tài khoản.
config system admin
edit "hotro01"
set trusthost1 10.0.0.0 255.255.255.0
set trusthost2 192.168.10.5 255.255.255.255
next
end
⚠️ Lưu ý: Trusted Hosts không áp dụng cho ping — nếu interface bật cho phép ping, thiết bị vẫn trả lời ping từ bất kỳ địa chỉ IP nào, không phụ thuộc Trusted Hosts đã khai báo.
2.3 Admin Lockout — chống dò mật khẩu (brute-force)
Mặc định, FortiGate cho phép 3 lần nhập sai mật khẩu (admin-lockout-threshold), sau đó khóa tài khoản trong 60 giây (admin-lockout-duration). Cả hai tham số này chỉnh được trong config system global:
config system global
set admin-lockout-threshold 3
set admin-lockout-duration 60
end
admin-lockout-threshold: từ 1 đến 10 lần thử.admin-lockout-duration: từ 1 giây đến hơn 68 năm (2147483647 giây).
Ví dụ đặt ngưỡng nghiêm ngặt hơn — chỉ cho thử 1 lần, khóa 5 phút:
config system global
set admin-lockout-threshold 1
set admin-lockout-duration 300
end
⚠️ Lưu ý: Ngưỡng thử càng cao, rủi ro bị dò mật khẩu càng lớn — nhưng ngưỡng quá thấp (1 lần) dễ khiến chính admin tự khóa tài khoản mình chỉ vì gõ nhầm phím. Cơ chế lockout tính theo từng tài khoản(theo username), không theo địa chỉ IP nguồn, và muốn mở khóa sớm trước khi hết thời gian chờ thì hiện tại không có cách trực tiếp — phải đợi hết
admin-lockout-durationhoặc khởi động lại thiết bị.
2.4 Password Policy — ép chuẩn mật khẩu
config system password-policy áp dụng cho mật khẩu admin cục bộ và pre-shared key IPsec, kiểm soát độ dài và độ phức tạp:
config system password-policy
set status enable
set apply-to admin-password
set minimum-length 12
set min-upper-case-letter 1
set min-lower-case-letter 1
set min-number 1
set min-non-alphanumeric 1
set expire-status enable
set expire-day 90
set reuse-password disable
end
Các tham số chính:
| Tham số | Ý nghĩa |
|---|---|
minimum-length |
Độ dài tối thiểu (8–128 ký tự) |
min-upper-case-letter / min-lower-case-letter |
Số ký tự hoa/thường tối thiểu |
min-number / min-non-alphanumeric |
Số chữ số / ký tự đặc biệt tối thiểu |
expire-status + expire-day |
Bật hết hạn mật khẩu sau N ngày (1–999) |
reuse-password |
Cho phép dùng lại mật khẩu cũ hay không |
🔄 Khác biệt version FortiOS: Tham số đổi tên qua các bản — bản cũ (6.x) dùng
change-4-characters(bật/tắt yêu cầu đổi tối thiểu 4 ký tự so với mật khẩu cũ); từ 7.0 trở lên đổi thànhmin-change-characters(chỉ định số ký tự cụ thể). Từ 7.6/8.0, thêmreuse-password-limit(giới hạn số mật khẩu cũ được phép tái sử dụng) vàlogin-lockout-upon-weaker-encryption. Khi thao tác trên thiết bị thật, dùng?để xác nhận tham số đúng theo phiên bản đang chạy.
2.5 Two-Factor Authentication (2FA) — lớp bảo vệ cuối cùng
2FA yêu cầu admin cung cấp thêm một yếu tố xác thực ngoài mật khẩu — thường là mã OTP từ FortiToken (dạng mobile app, phần cứng, hoặc FortiToken Cloud). Mỗi thiết bị FortiGate đã đăng ký được cấp kèm 2 FortiToken mobile miễn phí để dùng thử.
Cấu hình 2FA cho một tài khoản admin qua CLI:
config system admin
edit "hotro01"
set two-factor fortitoken
set fortitoken <serial_number>
set email-to "hotro01@vnexperts.vn"
next
end
Sau khi gán, admin có thời hạn mặc định (two-factor-ftm-expiry, tính bằng giờ, 1–168) để kích hoạt token trên app FortiToken Mobile trước khi mã kích hoạt hết hạn.
⚠️ Lưu ý quan trọng: Trước khi bật 2FA cho tài khoản đang dùng, luôn tạo sẵn một tài khoản super_admin dự phòng chưa bật 2FA. Nếu admin làm mất điện thoại, đổi máy, hoặc lỗi đồng bộ thời gian NTP (mã OTP dựa trên time-based OTP nên rất nhạy với sai lệch giờ hệ thống) mà không còn tài khoản dự phòng, sẽ bị khóa hoàn toàn khỏi thiết bị — Fortinet không có cơ chế can thiệp từ xa để gỡ 2FA hộ, phải reset cứng thiết bị.
2.6 Các biện pháp cứng hóa bổ sung khác
Ngoài 4 cơ chế trên, Fortinet khuyến nghị thêm một số biện pháp cứng hóa quyền quản trị:
- Đổi tên tài khoản
adminmặc định — cần tạo sẵn một tài khoản super_admin thứ hai trước, sau đó đổi username của tài khoảnadmingốc, gây khó khăn hơn cho kẻ tấn công đoán username. - Disclaimer đăng nhập — hiển thị thông báo cảnh báo trước/sau khi đăng nhập GUI hoặc CLI, admin phải xác nhận đọc mới được tiếp tục.
- Idle timeout — tự động đăng xuất sau một khoảng thời gian không thao tác.
- Giới hạn thời gian chờ SSH — điều chỉnh khoảng thời gian cho phép giữa lúc mở kết nối SSH và lúc xác thực xong (mặc định 120 giây), rút ngắn lại để giảm khả năng tấn công brute-force qua kết nối treo.
3. Hỏi & Đáp
Nếu cấp sysgrp = read-write cho một tài khoản, họ có thể tự nâng quyền mình lên super_admin không?
Có khả năng — vì sysgrp bao gồm cả mục con quản lý tài khoản admin (admingrp). Cấp read-write cho toàn bộ sysgrp gần như trao quyền tương đương super_admin. Muốn tránh, dùng mức custom cho sysgrp và chỉ bật đúng mục con cần thiết (ví dụ chỉ mnt để backup/restore, không bật admin).
Trusted Hosts và Admin Lockout, cái nào nên ưu tiên cấu hình trước?
Nên làm cả hai, không loại trừ nhau — Trusted Hosts chặn ngay từ lớp mạng (kẻ tấn công từ IP lạ thậm chí không gõ được mật khẩu), còn Admin Lockout xử lý trường hợp kẻ tấn công đã ở trong dải IP được tin cậy (ví dụ nội bộ bị chiếm quyền) nhưng vẫn phải dò mật khẩu.
Bật 2FA rồi mà quên mang điện thoại thì làm sao đăng nhập khẩn cấp?
Đây là lý do bắt buộc phải có sẵn tài khoản super_admin dự phòng chưa bật 2FA, dùng riêng cho tình huống khẩn cấp — không dùng cho công việc hàng ngày để tránh lộ thêm bề mặt tấn công.
Password Policy có áp dụng luôn cho user VPN, hay chỉ admin?
config system password-policy chỉ áp dụng cho mật khẩu admin cục bộ và pre-shared key IPsec. Muốn áp policy riêng cho local user (VD: user VPN), dùng config user password-policy— cấu trúc tham số tương tự nhưng là một khối cấu hình độc lập, gán riêng cho từng user.
4. Quiz
Câu 1: Profile nào trên FortiGate không thể bị xóa hoặc chỉnh sửa?
- A.
prof_admin - B.
super_admin - C.
readonly_soc - D. Tất cả profile đều chỉnh sửa được
Câu 2: Theo mặc định, sau bao nhiêu lần nhập sai mật khẩu thì tài khoản admin bị khóa, và khóa trong bao lâu?
- A. 1 lần, khóa 300 giây
- B. 3 lần, khóa 60 giây
- C. 5 lần, khóa 120 giây
- D. 10 lần, khóa 3600 giây
Câu 3: Trusted Hosts áp dụng cho hình thức truy cập nào sau đây?
- A. Ping đến interface
- B. HTTPS, SSH, SNMP
- C. Chỉ riêng CLI qua cổng console
- D. Chỉ riêng GUI
Câu 4: Trước khi bật Two-Factor Authentication cho tài khoản admin chính, nên làm gì trước?
- A. Không cần chuẩn bị gì thêm
- B. Tắt hết Trusted Hosts để tránh xung đột
- C. Tạo sẵn một tài khoản super_admin dự phòng chưa bật 2FA
- D. Đặt admin-lockout-threshold về 10
Câu 5: Mục con nào trong sysgrp được xem là nhạy cảm nhất, vì cấp read-write gần như tương đương quyền super_admin?
- A.
upd(FortiGuard updates) - B.
mnt(maintenance) - C.
admin(quản lý tài khoản admin khác) - D.
cfg(cấu hình hệ thống chung)
👉 Đáp án
Câu 1: B — super_admin là profile mặc định của tài khoản admin, không thể xóa hoặc chỉnh sửa để đảm bảo luôn có đường vào quản trị thiết bị.
Câu 2: B — Mặc định admin-lockout-threshold là 3 lần, admin-lockout-duration là 60 giây.
Câu 3: B — Trusted Hosts áp dụng cho HTTPS, SSH, SNMP; riêng ping vẫn được trả lời từ mọi IP nếu interface bật cho phép ping, bất kể Trusted Hosts.
Câu 4: C — Luôn tạo sẵn tài khoản super_admin dự phòng chưa bật 2FA, để tránh bị khóa hoàn toàn khỏi thiết bị nếu mất token hoặc lỗi đồng bộ thời gian.
Câu 5: C — Mục con admin trong sysgrp kiểm soát việc tạo/sửa/xóa tài khoản quản trị khác — cấp read-write cho mục này gần như mở đường tự nâng quyền lên super_admin.
📚 Bài viết thuộc khóa học FortiGate của VNExperts
🧭 Điều hướng
| ⬅️ Bài trước | 🏠 Mục lục khóa học | Bài kế tiếp ➡️ |
|---|---|---|
| Giao diện quản trị: cấu trúc lệnh CLI và 4 nhóm lệnh cốt lõi | Mục lục khóa học FortiGate | Backup/Restore cấu hình, Firmware upgrade path, Configuration Revision |
