Danh mục sản phẩm
Local User & User Group trên FortiGate — Nền tảng quản lý danh tính người dùng
1. Liên hệ thực tế
Công ty khách hàng của VNExperts vừa triển khai xong hạ tầng mạng cơ bản với FortiGate, và giờ đến bước mà anh Nam luôn thấy "nhức đầu" nhất khi mới vào nghề: quản lý ai được phép truy cập gì.
Sếp yêu cầu: "Phòng Kế toán chỉ được ra Internet trong giờ hành chính, phòng IT thì không giới hạn, còn khách đến làm việc thì cho một tài khoản dùng tạm một ngày rồi thôi." Anh Nam định tạo một Firewall Policy riêng cho từng người, nhưng với gần 40 nhân viên thì rõ ràng không ổn — sửa quyền một phòng ban là phải sửa hàng chục policy.
Chị Lan giải thích: "Đừng gắn user trực tiếp vào Policy. Cách làm chuẩn là tạo user, gom các user có cùng quyền vào một user group, rồi Policy chỉ tham chiếu tới group. Sau này thêm hay bớt người, em chỉ cần sửa group — không đụng vào Policy."
Đây chính là chủ đề mở đầu Nhóm 6 của khóa học: cách FortiGate quản lý danh tính người dùng cục bộ (local user) và cách nhóm họ lại để áp dụng chính sách hiệu quả — nền tảng bắt buộc trước khi học tới LDAP, RADIUS, SSO ở các bài sau.
2. Kiến thức cốt lõi
2.1 Local User là gì và khi nào nên dùng
Local user là tài khoản người dùng được định nghĩa và lưu trữ trực tiếp trên FortiGate (không qua máy chủ xác thực bên ngoài). Đây là hình thức xác thực đơn giản nhất, phù hợp cho:
- Văn phòng nhỏ, chưa có Active Directory/LDAP
- Tài khoản kỹ thuật dùng riêng cho VPN (SSL-VPN, IPsec Dialup XAUTH)
- Tài khoản khách (guest) dùng tạm thời
🔄 Khác biệt version FortiOS: Cấu trúc
config user localcơ bản không đổi giữa 7.0/7.2/7.4. Từ 7.2 trở đi, FortiGate hỗ trợ thêm một số tùy chọn kiểm soát mật khẩu nâng cao (password policy áp cho local user) — bài này tập trung vào phần nền tảng dùng chung.
Local user có 4 kiểu xác thực (type) chính:
| Type | Mô tả |
|---|---|
password |
Xác thực bằng username/password lưu cục bộ trên FortiGate |
radius |
User cục bộ nhưng xác thực qua RADIUS server (sẽ học ở bài sau) |
tacacs+ |
Tương tự, xác thực qua TACACS+ |
ldap |
Tương tự, xác thực qua LDAP server |
Trong bài này ta tập trung vào type password — hình thức thuần cục bộ.
Cấu hình CLI tạo một local user:
config user local
edit "nam.nv"
set type password
set passwd ********
set email-to "nam.nv@company.local"
set two-factor disable
set status enable
next
end
Một số tham số đáng chú ý:
set status enable/disable— tạm khóa tài khoản mà không cần xóa, hữu ích khi nhân viên nghỉ phép dài hạn.set email-to— dùng khi bật FortiToken/email-based 2FA (sẽ nói kỹ ở bài Two-Factor Authentication trong Nhóm 6).set two-factor— bật xác thực 2 lớp cho riêng user này.
Trên GUI: User & Authentication > User Definition > Create New > Local User, làm theo wizard 4 bước (thông tin đăng nhập → xác thực 2 yếu tố → thông tin liên hệ → gán vào group).
⚠️ Lưu ý: Local user tạo xong chưa có quyền gì cả nếu chưa thuộc group nào và group đó chưa được tham chiếu trong Firewall Policy. Đây là lỗi anh Nam hay gặp: tạo user xong, test không vào được mạng, mất cả buổi mới nhớ ra quên add vào group.
2.2 User Group — vì sao không gắn thẳng user vào Policy
FortiOS không cho phép Firewall Policy tham chiếu trực tiếp tới một local user riêng lẻ để làm điều kiện "Source" theo danh tính — việc match theo user luôn đi qua user group. Đây là thiết kế có chủ đích, giúp:
- Thay đổi thành viên (thêm/bớt người) mà không phải sửa Policy
- Một user có thể thuộc nhiều group, dùng cho nhiều mục đích khác nhau (VD: vừa thuộc group truy cập Internet, vừa thuộc group truy cập SSL-VPN)
- Là điều kiện bắt buộc để dùng user trong nhiều tính năng khác: Firewall Policy, Traffic Shaping Policy, Proxy Policy, SSL-VPN portal, IPsec XAUTH, ZTNA, SSID (wifi), Web Filter theo profile riêng, Identity-based routing, và cả xác thực admin từ xa.
Có 4 loại group-type chính trong config user group:
| group-type | Ứng dụng |
|---|---|
firewall |
Dùng cho Firewall Policy, SSL-VPN, Proxy Policy — loại phổ biến nhất |
fsso-service |
Dùng cho Fortinet Single Sign-On (học ở bài FSSO cuối Nhóm 6) |
rsso |
RADIUS Single Sign-On |
guest |
Nhóm tài khoản khách với cơ chế tạo/hết hạn tự động |
Cấu hình CLI tạo group loại firewall và thêm thành viên:
config user group
edit "GRP_NHANVIEN"
set group-type firewall
set member "nam.nv" "lan.tc"
next
end
Một firewall user group có thể chứa 2 loại thành viên:
- member: các local user (hoặc user xác thực remote nhưng được định nghĩa entry local) — như ví dụ trên.
- remote server group (qua
config match): tham chiếu tới một group có sẵn trên RADIUS/LDAP, không cần khai từng user — sẽ đi sâu ở các bài LDAP/RADIUS trong Nhóm 6.
Ví dụ tham chiếu group vào Firewall Policy (GUI): tại mục Source của Policy, ngoài Address, ta chọn thêm User(s) trỏ tới group vừa tạo. Khi đó FortiGate sẽ yêu cầu client xác thực trước khi cho traffic đi qua — cơ chế này gọi là Identity-based Policy, sẽ được trình bày chi tiết trong Identity Policy & Authentication Rule.
Sơ đồ dưới đây tóm tắt toàn bộ luồng: từ local user, gom vào group, group được Policy tham chiếu, và cách FortiGate xử lý xác thực khi có traffic khớp policy dạng này.
2.3 Guest User — tài khoản dùng tạm thời
Đây là tình huống thực tế của chị Lan trong phần mở đầu: khách đến làm việc chỉ cần một tài khoản có hiệu lực trong thời gian ngắn. FortiOS hỗ trợ sẵn cơ chế config guest, lồng bên trong config user group khi group-type là guest:
config user group
edit "GRP_GUEST"
set group-type guest
config guest
edit 1
set user-id auto-generate
set password auto-generate
set expiration 2026-09-01 18:00:00
set sponsor "lan.tc"
set company "Khach vang lai"
next
end
next
end
Với user-id auto-generate và password auto-generate, FortiGate tự sinh username/password ngẫu nhiên — rất tiện khi lễ tân cần cấp nhanh nhiều tài khoản khách trong ngày mà không cần nhớ đặt tên. Trường sponsor ghi lại ai là người bảo lãnh tài khoản khách đó, phục vụ truy vết khi cần.
Trên GUI, phần này nằm ở User & Authentication > Guest Management, cho phép in phiếu tài khoản (username/password) để đưa trực tiếp cho khách.
⚠️ Lưu ý:
expirationlà bắt buộc phải đặt hợp lý — tài khoản guest quên không hết hạn là một trong những lỗ hổng bảo mật phổ biến nhất bị các đội pentest phát hiện khi audit hệ thống doanh nghiệp.
2.4 Kiểm tra và debug user/group qua CLI
Một số lệnh get/diagnose hữu ich khi troubleshoot:
get user local get user group diagnose firewall auth list diagnose firewall auth clear <IP hoặc all>
get user local/get user group— liệt kê nhanh cấu hình hiện có, không cần vào từngedit.diagnose firewall auth list— xem danh sách các phiên đã xác thực thành công đang active trên FortiGate (rất hữu ích khi user báo "sao vẫn bị chặn dù đã đăng nhập" — có thể do session auth cũ chưa hết hạn với quyền cũ).diagnose firewall auth clear— buộc xác thực lại, dùng khi vừa đổi group/quyền cho user mà session cũ vẫn còn hiệu lực.
3. Hỏi & Đáp
Một user có thể thuộc nhiều user group cùng lúc không?
Có. Một local user hoàn toàn có thể là thành viên của nhiều group khác nhau, ví dụ vừa thuộc group được phép SSL-VPN, vừa thuộc group được phép truy cập Internet theo Firewall Policy riêng. FortiGate sẽ áp policy tương ứng khi user đó khớp điều kiện Source User của từng Policy.
Tại sao tạo user xong mà Policy vẫn không nhận diện được?
Trường hợp phổ biến nhất là user chưa được thêm vào group nào, hoặc group đã tạo nhưng chưa được gán vào mục Source User của Firewall Policy. Ngoài ra cần kiểm tra set status của user có đang enable không, và Policy có bật đúng chế độ Identity-based (yêu cầu xác thực) hay chưa.
Guest user có cần đặt password thủ công không?
Không bắt buộc. Với set password auto-generate, FortiGate tự sinh mật khẩu ngẫu nhiên mỗi lần tạo tài khoản khách, giúp tránh việc dùng lại password yếu hoặc trùng lặp giữa các khách.
Xóa một local user đang thuộc group thì có lỗi không?
FortiGate sẽ không cho xóa trực tiếp nếu user đang được tham chiếu trong group (và group đó đang được Policy sử dụng) — cần gỡ user ra khỏi member của group trước, hoặc dùng -f filter để kiểm tra reference trước khi xóa nhằm tránh gián đoạn Policy đang hoạt động.
4. Quiz
Câu 1: Trong FortiOS, Firewall Policy tham chiếu user bằng cách nào?
- A. Gán trực tiếp local user vào trường Source của Policy
- B. Luôn phải thông qua user group, không gán trực tiếp user lẻ
- C. Chỉ gán được qua địa chỉ IP cố định của user
- D. Không thể dùng user trong Firewall Policy
Câu 2: Lệnh CLI nào dùng để tạo local user mới trên FortiGate?
- A.
config user radius - B.
config user local - C.
config firewall user - D.
config system admin
Câu 3: Group-type nào phù hợp để cấp tài khoản dùng tạm thời cho khách vãng lai?
- A.
firewall - B.
fsso-service - C.
guest - D.
rsso
Câu 4: Lệnh nào giúp buộc một user xác thực lại ngay sau khi vừa đổi quyền group?
- A.
diagnose firewall auth clear - B.
get user local - C.
execute reboot - D.
diagnose sys top
👉 Đáp án
Câu 1: B FortiOS thiết kế theo hướng bắt buộc user phải nằm trong một user group thì mới dùng được trong Firewall Policy, giúp việc quản lý quyền linh hoạt hơn khi số lượng user tăng lên.
Câu 2: B config user local là lệnh cấu hình tài khoản người dùng cục bộ trên FortiGate.
Câu 3: C Group-type guest đi kèm khối config guest hỗ trợ tự sinh username/password và đặt thời hạn hết hạn, phù hợp cho khách vãng lai.
Câu 4: A diagnose firewall auth clear xóa phiên xác thực đang active, buộc FortiGate yêu cầu user đăng nhập lại và áp quyền mới ngay lập tức.
📚 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 ➡️ |
|---|---|---|
| REST API FortiGate — hướng đi tự động hóa | Mục lục khóa học FortiGate | LDAP/AD Integration trên FortiGate |
