Logo CNTTShop.vn

Hotline:

Hà Nội: NTT03, Line 1, Thống Nhất Complex, 82 Nguyễn Tuân, Thanh Xuân, Hà Nội. ● HCM: Số 13, đường 7C, phường Bình Trưng, Thành phố Hồ Chí Minh. ===> Đơn Vị Hàng Đầu Trong Lĩnh Vực Cung Cấp Thiết Bị Security - Network - Wifi - CCTV - Conference - Máy chủ Server - Lưu trữ Storge.
Thiết bị mạng: 0862 158 859 Máy chủ Server: 0866 176 188 - 0968 498 887 Nvidia GPU-AI: 0906 051 599
Danh mục sản phẩm

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.

Mục Lục

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.

mô hình VPN Remote access trên Fortigate kết hợp Entra ID SSO SAML

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.

truy cập vào menu single sign-on trên fortigate

  • 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.

Service Provider Configuration

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.

vào menu enterprise app trên entra id để tạo application mới

Chọn Create you own 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.

tạo 1 app cho Fortigate SSO

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.

trong ứng dụng vừa tạo, vào menu users and groups

  • 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.

chọn user sẽ sử dụng để xác thực VPN

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

trong menu single sing-on trên entra ID, chọn SSO method là SAML

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

chọn edit 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.

nhập các thông số SAML vào entra ID

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ề.

tải certificate (Base64) trên entra ID 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.

upload certificate vừa tải về lên fortigate

  • 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.

copy thông tin SAML từ entra ID về Fortigate

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

kiểm tra SSO vừa tạo

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.

truy cập vào menu User Groups trên fortigate

  • 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.

cấu hình remote group cho SSO

  • Nhấn OK để tạo.

tạo user group cho VPN

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ỉnh sửa Attributes & Claims trên entra ID

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.

add a group claim

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.

truy cập vào menu vpn wizard để tạo VPN remote access

  • 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.

cấu hình các thông số VPN authentication

  • 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ập các thông tin cho policy & routing

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.

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.

thay đổi IKE version sang version 2

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 
FortiGate-40F (global) # set auth-ike-saml-port 8888
FortiGate-40F (global) # end

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 
FortiGate-40F (interface) # edit wan
FortiGate-40F (wan) # set ike-saml-server Entra-SSO
FortiGate-40F (wan) # end

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 
FortiGate-40F (phase1-interface) # edit "Test-SSO"
FortiGate-40F (Test-SSO) # set eap enable 
FortiGate-40F (Test-SSO) # set eap-identity send-request 
FortiGate-40F (Test-SSO) # set authusrgrp Entra-ID-User
FortiGate-40F (Test-SSO) # end

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.

cấu hình thông số trên forticlient

Nhấn Connect.

connect vpn

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.

cảnh báo warning khi sử dụng SSL mặc định

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.

đăng nhập bằng tài khoản 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 nối VPN bằng tài khoản microsoft entra ID thành cô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!

Lê Văn Tuấn

Là chuyên gia trong lĩnh vực Network System, Security, Server.. Có kinh nghiệm nhiều năm tư vấn giải pháp mạng, triển khai các giải pháp CNTT và phân phối thiết bị mạng Switch, Wifi, Router, Máy chủ Server, Lưu trữ Storage, Tường lửa Firewall, Video Conferencing, Module quang, Load Balancing. Hiện tại tôi là Founder và Managing Director công ty TNHH Công Nghệ Việt Thái Dương (CNTTShop.vn).

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

Có 0 bình luận:
Chuyên mục chính
Bài viết cùng danh mục
Sản phẩm liên quan