Trong bài viết này Ân sẽ hướng dẫn bạn thiết lập SSL-VPN Client-to-site trên tường lửa FortiGate 80F. Tuy nhiên, một số bạn chưa phân biệt được 2 hình thức VPN Client-to-site và Site-to-site nên Ân sẽ giải thích phần này đầu tiên rồi sau đó phần bên dưới Ân sẽ hướng dẫn bạn thiết lập nhé!.
1.Phân biệt VPN site-to-site và VPN client-to-site
1.1.VPN Site-to-site
Đây là hình thức kết nối mạng nội bộ từ các site với nhau thông qua các tường lửa từ các chi nhánh công ty với nhau.
Ví dụ: công ty ABC có 2 chi nhánh, một chi nhánh ở Hồ Chí Minh và một chi nhánh ở Hà Nội. Để kết nối mạng nội bộ giữa 2 chi nhánh với nhau thì bạn cần thiết lập VPN Site-to-Site trên 2 tường lửa của 2 chi nhánh.
1.2.VPN Client-to-site
Đây là hình thức kết nối mạng nội bộ từ user đến mạng nội bộ ở xa thông qua thiết lập trên tường lửa.
Ví dụ: giám đốc công ty ABC tại chi nhánh Hồ Chí Minh có lịch đi công tác tại Cần Thơ trong 1 tháng nhưng cần truy cập dữ liệu và hệ thống nội bộ của công ty. Lúc này bạn cần thiết lập VPN Client-to-Site trên tường lửa và sau đó cài đặt đăng nhập các thông số VPN trên máy tính xách tay của vị giám đốc kia cần sử dụng VPN.
2.Hướng dẫn thiết lập SSL-VPN Client-to-site trên tường lửa FortiGate 80F
Bước 1: Tạo User và User Group SSL VPN
Bạn vào phần “User & Authentication” -> truy cập vào “User Definition” -> bấm vào “Create New”.
Bạn chọn User Type là “Local User” -> sau đó bấm “Next”.
Bạn nhập Username và Password rồi bấm nút “Next” để tạo tài khoản. Tài khoản này sẽ được sử dụng để truy cập vào VPN.
Ở bước này nếu bạn muốn bảo mật 2 lớp cho tài khoản thì bấm bật nút “Two-factor Authentication” lên, còn nếu không thì bạn cứ để mặc định rồi bấm nút “Next”.
Phần User Account Status bạn chọn “Enabled”, phần User Group bạn bật nút lên rồi bấm vào hình dấu + tiếp tục bấm vào nút “Create” để bắt đầu tạo group
Mục đích việc tạo group là để chúng ta gom nhóm các user có cùng mục đích lại với nhau cho dễ quản lý.
Bạn đặt tên cho Group, chọn type là “Firewall” -> bấm nút “OK”.
Sau khi đã tạo xong group -> chọn group đã tạo rồi bấm nút “Submit”.
Bước 2: Edit SSL VPN Portals
Bạn truy cập vào phần “SSL-VPN Portals” -> chọn vào phần “full-access” -> chọn “Edit”
Limit Users to One SSL-VPN Connection at a Time: giới hạn thời gian kết nối VPN của users.
Tunnel Mode:
Enable Split Tunneling: nếu bạn muốn các traffic truy cập từ internet qua VPN đi qua tường lửa firewall thì chọn disable.
Còn nếu như bạn để mặc định enable thì các traffic không xác định sẽ không đi qua tunnel mà đi quang mạng của các client đang được kết nối mạng thông qua cáp hoặc wifi không dây. Traffic truy cập vào mạng nội bộ bên trong thì vẫn đi qua tường lửa firewall.
Ở đây thì bạn nên tắt nó đi.
Source IP Pools: Đây là dải IP được cấp cho các VPN Client.
Tunnel Mode Client Option:
Allow client to save password: cho phép client lưu mật khẩu.
Allow client to connect automatically: cho phép client tự động kết nối.
Allow client to keep connections alive: cho phép client duy trì kết nối.
DNS Split Tunneling: phân chia DNS.
Enable Web Mode:
Port Message: khi truy cập trên giao diện trình duyệt thì sẽ nhận được thông báo trong phần này.
Theme: chọn màu cho giao diện.
Predefined Bookmarks: tạo ra các bookmarks trên giao diện web
Bước 3: Edit SSL VPN settings
Bạn truy cập vào phần “VPN” -> chọn vào phần “SSL-VPN Settings”.
Listen on interface(s): tại đây bạn chọn cổng WAN mà kết nối ra internet.
Listen on Port: cổng mặc định là 443, cổng này thường đang được sử dụng cho HTTPS nên bạn hãy đổi nó sang một port khác bằng cách thêm vào số vào phía trước. Ví dụ ở đây Ân sẽ đổi port thành 55443.
Restrict Access: Bạn chọn vào “Allow access from any host” để giúp cho client có thể kết nối được VPN từ bất kỳ mạng internet nào bên ngoài.
Server Certificate: phần này là chứng chỉ máy chủ. Nếu bạn để mặc định thì khi truy cập VPN trên giao diện webmode sẽ xuất hiện thông báo cảnh báo bảo mật.
Bạn có thể tự tải lên certificate nằm trong mục “System” -> vào phần “certificates”. Nếu như bạn không thấy phần này thì truy cập vào “System” -> vào phần “Feature Visibility” -> vào phần “Certificates” rồi bật enable nó lên nhé.
Address Range: chỗ này thì bạn chọn vào “Automatically assign address” để giúp cho client nhận được địa chỉ IP theo dải IP đã tạo trong SSL-VPN Portals.
Authentication/Portal Mapping: Bạn bấm chọn vào nút “Create New” rồi chọn users group VPN đến Portal Full-access mà bạn đã sửa ở phía trên.
All other Users/Groups: bạn chọn vào Portal Web-access
Sau đó bạn bấm nút “Apply” để hoàn tất quá trình cài đặt.
Bước 4: Tạo Local Address
Bây giờ bạn cần tạo một local address của thiết bị nào đó trong mạng nội bộ (LAN) để cho phép VPN client truy cập vào được.
Còn nếu như bạn muốn cho phép VPN Client truy cập được tất cả các địa chỉ trong mạng LAN thì bạn hãy bỏ qua bước này.
Để thực hiện tạo Local Address thì bạn truy cập vào phần “Policy & Objects” -> chọn phần “Addresses” -> chọn vào “Create New” -> chọn vào “Address”.
Name: Bạn đặt tên cho địa chỉ này
Type: bạn chọn là Subnet.
IP/Netmask: Bạn nhập ip local vào.
Interface: bạn chọn mạng LAN của bạn.
Bước 5: Tạo policy cho phép remote client truy cập vào
Bạn truy cập vào phần “Policy & Objects” -> chọn vào phần “Firewall Policy” -> chọn vào phần “Create New”.
Ở đây Ân sẽ hướng dẫn bạn tạo policy cho phép Client VPN truy cập được tất cả trong mạng nội bộ.
Còn nếu bạn có nhiều máy chủ nhưng chỉ muốn cho phép truy cập cụ thể một máy chủ nào đó thì bạn cần phải tạo policy riêng tương ứng với nó.
Bây giờ thì chúng ta sẽ bắt đầu.
Name: Bạn đặt tên cho Policy này.
Incoming interface: phần này bạn chọn “SSL-VPN tunnel interface”.
Outgoing interface: Chọn cổng mạng LAN mà bạn cho phép VPN Client truy cập vào.
Source: Bạn chọn Address là “All” và chọn tiếp theo chọn Group User cho VPN mà bạn đã tạo ở bước trên.
Destination: bạn chọn dải địa chỉ trong mạng nội bộ cho phép truy cập vào.
Schedule: bạn chọn là “always”.
Service: bạn chọn là “all” hoặc bạn có thể chỉ định cụ thể một dịch vụ mà bạn cho phép VPN Client truy cập.
Action: bạn chọn vào “Accept”.
NAT: phần này bạn cứ để mặc định.
Bước 6: Tạo policy cho phép remote client truy cập được internet
ở bước này sẽ cho phép VPN Client truy cập được internet, nếu không có bước này thì VPN Client chỉ có thể truy cập được vào mạng nội bộ mà thôi.
Cũng giống như lúc nãy, để tạo policy mới thì bạn vào phần “Policy & Objects” -> chọn phần “Firewall Policy” -> chọn vào “Create New”.
Cũng giống như các bước cấu hình phía trên, ở Policy này chỉ khác mỗi phần Outgoing interface là bạn chọn cổng WAN ra internet mà thôi.
3.Cài đặt FortiClient VPN trên máy tính User để kết nối VPN
Sau khi bạn đã thiết lập hoàn tất các bước cài đặt trên tường lửa FortiGate rồi thì bây giờ để có thể sử dụng VPN trên máy tính của user bạn cần phải cài đặt phần mềm FortiClient VPN. Phần mềm này do chính hãng Fortinet phát hành.
Bạn truy cập vào link: https://www.fortinet.com/support/product-downloads#vpn
Chọn vào phần “FortiClient VPN Only“.
Tiếp theo bạn chọn phiên bản tương ứng với hệ điều hành để tải file cài đặt về.
Sau khi tải về thì bạn tiến hành cài đặt rồi mở phần mềm FortiClient VPN lên để thiết lập các thông số như sau:
VPN: Bạn chọn vào phần “SSL-VPN“.
Connection Name: Bạn đặt tên tùy ý.
Description: Bạn đặt mô tả tùy ý.
Remote Gateway: Bạn nhập địa chỉ IP WAN (IP Public) mà bạn đã thiết lập trên thiết bị tường lửa FortiGate. / Bạn tích vào “Customize Port” rồi nhập port mà bạn đã tùy chỉnh trong cài đặt trên thiết bị tường lửa.
Client Certificate: Bạn chọn “None“.
Authentication: Bạn chọn vào “Save login“.
Username: Nhập vào Username.
-> Bấm vào nút “Save” để lưu lại cấu hình
Bước này bạn nhập mật khẩu vào rồi bấm nút “Connect“.
Một bảng thông báo hiện ra bạn bấm nút “Yes“.
Khi kết nối VPN thành công bạn sẽ nhìn thấy trạng thái giống như hình phía bên dưới.
3.Kết
Như vậy Ân đã hướng dẫn xong cho bạn cách thức thiết lập kết nối SSL-VPN Client-to-Site từ user đến mạng nội bộ thông qua tưởng lửa Firewall Fortigate 80F rồi nhé.
Ở các phiên bản khác của tưởng lửa Fortigate bạn cũng làm tương tự, giao diện nó chỉ trình bày khác vị trí một chút xíu mà thôi, bạn chịu khó để ý thì sẽ thấy nó cũng tương tự như fortigate 80F.
Chúc bạn thành công!