Hướng dẫn cấu hình VPN IPSec FortiGate xác thực SSO Microsoft Entra ID
Trong bài viết này, mình sẽ hướng dẫn từng bước cấu hình Remote Access IPSec VPN trên firewall FortiGate kết hợp xác thực Single Sign-On (SSO) qua Microsoft Entra ID (Azure AD / Azure Active Directory). Giải pháp giúp tận dụng hệ thống định danh Entra IdP / Office 365, áp dụng chính sách MFA và bảo mật kết nối từ xa cho doanh nghiệp.
Tổng quan về SSO qua Microsoft Entra ID
Thay vì quản lý tài khoản VPN cục bộ trên firewall rất phức tạp và khó kiểm soát, việc tích hợp SSO với Entra ID giúp doanh nghiệp tận dụng hệ thống định danh tập trung sẵn có, dễ dàng áp dụng chính sách bảo mật, xác thực đa yếu tố (MFA) và thu hồi quyền truy cập ngay lập tức khi nhân sự nghỉ việc.
Đơn giản để hiểu thì với VPN thông thường, các bạn sẽ tạo các tài khoản local trên firewall để cho người dùng xác thực. Với giải pháp SSO sử dụng Microsoft Entra ID, thì chúng ta sẽ không sử dụng tài khoản local trên firewall, mà người dùng VPN sẽ sử dụng chính tài khoản Microsoft có sẵn trên Entra ID của doanh nghiệp để xác thực khi kết nối VPN. Nó tương tự như khi sử dụng Radius để xác thực.

Giải pháp này cực kỳ phù hợp khi doanh nghiệp của bạn đang sử dụng hạ tầng Microsoft 365 / Entra ID và cần triển khai hệ thống kết nối từ xa Remote Access VPN an toàn, chuẩn bảo mật hiện đại cho nhân viên làm việc từ xa hoặc đi công tác.
Cấu hình Single Sign-On trên Fortigate và Entra ID
Đầu tiên, chúng ta sẽ cần cấu hình Single Sign-On (SSO) sử dụng SAML trên firewall Fortigate và Microsoft Entra ID, trong đó Microsoft Entra ID đóng vai trò là Identity Provider (IdP) để xác thực người dùng.
Trên firewall Fortigate, các bạn vào menu User & Authentication > Single Sign-On. Nhấn Create New để tạo.

- Name: mình sẽ đặt là Entra-SSO.
- Address: nhập IP WAN của firewall hoặc domain nếu các bạn đã có tên miền và trỏ DNS rồi. IP này là IP trên firewall sử dụng để kết nối với Entra ID và VPN.
- Cổng mặc định của IKE SAML là 1001, các bạn có thể đổi sang port khác bất kỳ chưa sử dụng, miễn sao là port trên Entra ID và Fortigate giống nhau là được. Mình sẽ sử dụng port 8888, các bạn chỉ cần thêm :8888 ở cuối là được.
- Firewall sẽ tạo ra 3 đường link tương ứng ở bên dưới, các bạn cần lưu lại 3 đường link này.
-
Certificate: chọn Enable và chọn chứng chỉ sẽ sử dụng cho SSO. Các bạn có thể sử dụng chứng chỉ mặc định trên Fortigate. Tuy nhiên với chứng chỉ mặc định thì khi Forticlient chuyển hướng sang trang xác thực, nó sẽ hiện trang cảnh báo giống như khi các bạn truy cập vào IP của thiết bị mạng để cấu hình. Nếu công ty đã mua chứng chỉ SSL thì các bạn nên upload chứng chỉ lên Firewall để sử dụng. Mình sẽ sử dụng SSL mặc định trên firewall là Fortinet_Factory.

Các bạn giữ nguyên màn hình này và chuyển sang Microsoft Entra Admin Center. Trên Entra Admin Center, các bạn vào menu Enterprise Apps > New application.

Chọn Create you own application.

- Đặt tên cho ứng dụng này, mình sẽ đặt là Fortigate-SSO.
- Mục What are you looking to do with your application? chọn Integrate any other application you don't find in the gallery (Non-gallery).
- Nhấn Create.

Trong ứng dụng vừa tạo, chọn menu Users and groups. Đây là menu các bạn sẽ add các User trong Microsoft Entra ID để sử dụng cho VPN trên Fortigate, nhấn Add user/group.

- Gói thuê bao của mình không đủ quyền để gán theo group, chỉ có thể gán từng user vào, nên mình sẽ chọn None Selected để add user. Với các gói thuê bao cao hơn thì các bạn có thể add user hoặc group tùy nhu cầu.
- Tích chọn các user sẽ sử dụng cho VPN và nhấn Select.
- Nhấn Assign.
- Như vậy là 2 tài khoản này có thể sử dụng để xác thực cho kết nối VPN.

Chuyển sang menu Single Sign-On, chọn phương thức SSO là SAML.

Nhấn Edit ở mục 1, Basic SAML Configuration.

Chúng ta sẽ nhập các giá trị trên firewall Fortigate vào.
- Identifier (Entity ID): các bạn nhấn Add Identifier, sau đó copy đường dẫn ở phần Entity ID trên Fortigate và dán vào.
- Reply URL (Assertion Consumer Service URL): chọn Add reply URL, sau đó copy đường dẫn ở mục Assertion consumer service URL trên Fortigate và dán vào.
- Logout Url: thì các bạn copy đường dẫn trong mục Single logout service URL trên Fortigate và dán vào.
- Nhấn Save để lưu.

Quay lại Fortigate và Nhấn Next.
- Trong phần Identity Provider Details, chọn Type là Custom, type là Fortinet Product khi các bạn sử dụng SSO của Fortinet như FortiToken.
- Bây giờ chúng ta sẽ copy ngược thông tin của Entra ID sang Fortigate.
- Trên Entra ID thì chúng ta sẽ Copy thông tin trong mục 4.
- Login URL các bạn sẽ copy vào ô Assertion consumer service URL.
- Microsoft Entra Identifier dán vào phần Entity ID.
- Logout URL dán vào Single logout service URL.
- Trên Entra Admin Center, Nhấn download ở phần Certificate (Base64) để tải chứng chỉ của SAML về.

- Quay lại Fortigate, nhấn vào mục Certificate, nhấn dấu + để import, sau đó upload file cert vừa tải về, nhấn OK để chọn Certificate này.

- Attribute used to identify users: nhập http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name.
- Attribute used to identify groups: nhập http://schemas.microsoft.com/ws/2008/06/identity/claims/groups.
- Nhấn Submit.

Như vậy là chúng ta sẽ có 1 profile SSO để kết nối với Microsoft Entra ID.

Cấu hình User Groups
Tiếp theo chúng ta sẽ cần tạo các User Groups để gán vào VPN.
Các bạn vào menu User Groups, chọn Create New để tạo mới.

- Name: mình sẽ đặt là Entra-ID-User.
- Type: chọn Firewall.
- Trong mục Remote Groups, nhấn Add.
- Remote Server: chọn Entra-SSO vừa tạo ở bước trước.
- Groups chọn Any để cho phép bất kỳ, tuy nhiên có 1 vài trường hợp bị lỗi liên quan EAP khi chọn group là Any. Nếu muốn chỉ định cụ thể 1 Group nào đó, thì các bạn sẽ chọn Specify. Giá trị nhập bên dưới sẽ lấy trên Entra Admin Center.
- Trên Entra Admin Center thì các bạn vào menu Groups, Chọn Group chứa các User mà các bạn dùng cho VPN trên Fortigate.
- Chúng ta sẽ copy mục Object ID và dán vào firewall. Nhấn OK.

- Nhấn OK để tạo.

Tuy nhiên khi chỉ định group cụ thể, thì chúng ta sẽ cần khai báo thêm Attribute cho group nữa, do mặc định trên Apps sẽ không có thuộc tính groups. Quay lại Entra Admin Center, trong phần 2, Attributes & Claims, nhấn Edit.

Chọn Add a group claim.
- Which groups associated with the user should be returned in the claim?: chọn All Group.
- Source attribute: chọn Group ID.
- Nhấn Save để lưu.

Cấu hình IPSec VPN Remote Access trên Fortigate
Tiếp theo chúng ta sẽ cấu hình VPN Tunnel cho người dùng bằng IPSec.
Các bạn vào menu VPN > Ipsec Wizard.
- Name: Đặt tên cho VPN.
- Template type: chọn Remote Access.
- Nhấn Next.

- Incoming Interface: chọn cổng WAN.
- Nhập Pre-shared key cho VPN.
- User Group: chọn Group cho SSO vừa tạo.
- Nhấn Next.

- Local Interface: chọn toàn bộ cổng LAN muốn cho VPN User được phép truy cập vào.
- Local Address: chọn các dải mạng LAN mà VPN User được phép truy cập vào.
- Client Address Range: nhập dải IP sẽ cấp cho VPN Client. Các bạn tính toán 1 dải IP đủ địa chỉ để cấp cho VPN Clients là được.
- Các mục khác thì các bạn chọn tương tự VPN thông thường.
- Nhấn Next.

Nhấn Next và chọn Create để tạo VPN.
Sau khi tạo VPN xong, chúng ta sẽ phải edit 1 số thông số mặc định của VPN, các bạn kích đúp vào VPN vừa tạo, Chọn Convert to Custom Tunnel.

Trong phần Authentication, chọn Edit.
- IKE các bạn chuyển sang version 2, vì IKE version 1 không hỗ trợ giao thức xác thực mở rộng EAP và các luồng SAML từ trình duyệt web trả về cho Fortigate xử lý.
- Nhấn dấu tích V để áp dụng.

Phần cấu hình Phase 1 và phase 2 bên dưới thì các bạn cấu hình tùy nhu cầu. Nhấn OK để lưu.
Sau khi tạo xong VPN Tunnel thì chúng ta sẽ cần thay đổi 1 số thiết lập của IKE, các thiết lập này chỉ có thể thực hiện qua dòng lệnh.
Chúng ta sẽ cần thay đổi port của IKE về Port mà các bạn đang sử dụng ở bước tạo SSO. Port mặc định là 1001, mình đang sử dụng port 8888 trong SSO nên mình sẽ cần đổi port này về 8888 bằng lệnh set auth-ike-saml-port 8888.
|
FortiGate-40F # config system global |
Tiếp theo chúng ta sẽ cần gán IKE SAML trên cổng WAN bằng lệnh set ike-saml-server, phía sau là tên SSO profile mà chúng ta đã tạo, trong ví dụ của mình là Entra-SSO.
|
FortiGate-40F # config system interface |
Tiếp theo các bạn chỉnh sửa phase1-interface của VPN và bật xác thực EAP lên.
|
FortiGate-40F # config vpn ipsec phase1-interface |
Kết nối VPN bằng FortiClient
Trên máy Client, các bạn mở phần mềm FortiClient lên và tạo 1 VPN mới.
- VPN: chọn IPsec VPN.
- Nhập tên và mô tả cho VPN.
- Remote Gateway: nhập IP WAN trên firewall.
- Authentication Method: chọn Pre-shared key và nhập key đã cấu hình.
- Tích chọn Enable Single Sign On (SSO) for VPN Tunnel và nhập Port của IKE đã cấu hình, trong ví dụ của mình thì port mình đã đổi sang 8888. Một số bản FortiClient cũ sẽ không có tùy chọn này, nếu các bạn không thấy thì chúng ta sẽ cần gỡ bản hiện tại ra và download các phiên bản mới hơn về. Mình đang dùng bản 7.4.
- Nhấn dấu + để mở các phần Advanced Settings.
- IKE chọn Version 2.
- Encapsulation các bạn có thể chọn Auto.
- Các thông số phase 1 và phase 2 các bạn cần sửa giống như trên firewall là được.
- Nhấn Save.

Nhấn Connect.

Forticlient sẽ mở 1 popup cho SAML Authentication. Do mình đang sử dụng Certificate mặc định của Fortigate, nên sẽ có cảnh báo. Các bạn chọn Advanced > Continue to IP-WAN (unsafe) để tiếp tục.

Sau đó thì các bạn đăng nhập bằng tài khoản microsoft Entra ID như khi đăng nhập vào các dịch vụ của Microsoft.

Sau khi xác thực xong thì các bạn có thể kết nối VPN bằng tài khoản Microsoft bình thường.

Kết luận
Việc cấu hình Remote Access IPSec VPN trên FortiGate kết hợp xác thực Single Sign-On (SSO) qua Microsoft Entra ID (Azure AD) là giải pháp tối ưu giúp doanh nghiệp chuẩn hóa hệ thống định danh tập trung, tăng cường bảo mật với xác thực đa yếu tố (MFA) và đơn giản hóa công tác quản trị mạng.
Nếu bạn cần tư vấn, thiết kế giải pháp hoặc hỗ trợ triển khai các dòng thiết bị firewall FortiGate chính hãng, hãy liên hệ ngay với CNTTShop – đơn vị phân phối và cung cấp dịch vụ CNTT uy tín hàng đầu để được hỗ trợ kỹ thuật chuyên nghiệp nhất!









.png)























Bình luận bài viết!