Trong bài viết này, mình sẽ hướng dẫn cấu hình cho phép người dùng SSL VPN truy cập sang dải LAN tại trụ sở chính thông qua IPSec Site to Site VPN trên Firewall Foritgate.
Mục lục
Mô hình kết nối
Đây là mô hình đơn giản nhất.
Các bạn có các Remote Client bên ngoài Internet kết nối tới firewall chi nhánh bằng SSL VPN. Trường hợp các bạn sử dụng VPN remote access bằng FortiClient thì cũng tương tự thôi, chúng ta chỉ cần policy trên firewall nên nó sẽ không phụ thuộc vào giao thức. Firewall chi nhánh các bạn kết nối về trụ sở chính bằng VPN Site to Site sử dụng IPSec. Yêu cầu của chúng ta sẽ là remote client có thể kết nối tới các tài nguyên tại LAN-HQ tại trụ sở chính thông qua SSL VPN và IPSec VPN.
Trên Youtube channel và blog website thì mình đã có các bài viết và video hướng dẫn chi tiết cách cấu hình VPN site to site và SSL VPN trên Fortigate rồi, do vậy thì các phần cấu hình mình sẽ không giải thích chi tiết các thông số, mình chỉ giải thích về các cấu hình khi kết hợp 2 VPN thôi nhé. Các bạn có thể tham khảo 2 bài viết:
Cấu hình VPN Site to Site trên FW-BR
Đầu tiên mình sẽ cấu hình IPSec VPN Site-to-site trên firewall BR. Các bạn vào menu VPN > IPSec Wizard để tạo VPN. Các thông số mình sẽ để mặc định Site to Site, No NAT between sites và remote device type là Fortigate.
Trong menu Authentication, Remote address nhập IP WAN của site HQ và Pre-shared key.
Cấu hình sẽ khác với VPN site-to-site ở phần Policy & Routing. Local address các bạn sẽ cần khai báo thêm dải IP mà các bạn sử dụng cho SSL VPN là được, nó sẽ bao gồm dải mạng LAN của site BR là 10.0.0.0/24 và dải IP cấp cho remote client là 172.16.0.0/24. Remote address là dải LAN của site HQ, trong mô hình của mình chỉ có 1 dải, nếu có nhiều dải mạng thì các bạn nhấn dấu + và nhập tất cả dải mạng của HQ vào.
Sau đó các bạn nhấn Create để tạo VPN.
Cấu hình SSL VPN trên FW-BR
Trước khi cấu hình SSL VPN, các bạn tạo các User và User Group cho người dùng SSL VPN. Truy cập vào menu User & Authentication > User Definition và User Groups để tạo, nhấn Create New để tạo. Phần này khá đơn giản nên các bạn có thể tự tạo nhé.
Sau khi có User Group thì chúng ta sẽ cấu hình SSL VPN trên Firewall BR cho remote client. Các bạn vào menu VPN > SSL-VPN Settings.
- Listen on Interface(s): chọn cổng WAN
- Listen on Port: mình sẽ đổi thành 10443 để không trùng lặp với cổng của HTTPS.
- Address Range: chọn Specify custom IP ranges và chọn dải IP sẽ cấp cho client.
- Trong phần IP Ranges các bạn chọn address mà IPSec VPN đã tạo khi các bạn cấu hình VPN Site to Site. Vừa nãy mình đã nhập dải mạng SSL VPN vào ô thứ 2 của Local Address nên firewall đã tạo 1 address là to-FW-HQ_local_subnet_2 với dải IP cấp cho SSL VPN Client là 172.16.0.0/24. Khi đó client sẽ nhận IP dải này, và nó đã được permit trong policy của IPSec.
Trong menu Authentication/Portal Mapping, All Other Users/Groups các bạn cấu hình chỉ để web-access thôi. Nhấn Create New để tạo thêm 1 mapping mới và thêm user group VPN với portal là Tunnel-access. Các bạn có thể chọn full-access cũng được tùy yêu cầu.
Nhấn Apply. Phần SSL-VPN Settings này thì không khác gì với SSL VPN thông thường.
Chuyển sang menu SSL-VPN Portals, chọn edit tunnel-access. Nếu ở phần SSL-VPN Settings các bạn map User group với Full-access thì các bạn sẽ edit full-access nhé.
Tích chọn Enable Split Tunneling để traffic internet của remote client sẽ đi qua đường wan của họ. Với những người làm việc từ xa thì mình nghĩ chúng ta chỉ cần quản lý các traffic truy cập vào tài nguyên của công ty thôi.
Nếu các bạn Enable Split tunneling thì trong phần Routing Addess, các bạn chọn address to-FW-HQ_remote_subnet_1, đây là dải mạng LAN của site HQ 192.168.10.0/24 mà IPSec VPN đã tạo ở bước trước. Các bạn cần add vào để SSL VPN client có thể biết được đường đi tới dải LAN của site HQ.
Source IP Pools chọn to-FW-HQ_local_subnet_2, là dải mạng dùng để cấp cho VPN client 172.16.0.0/24.
Như vậy là xong.
Cấu hình Policy từ SSL VPN sang IPSec VPN
Sau khi tạo xong 2 VPN, các bạn sẽ cần tạo thêm 1 policy theo chiều từ SSL VPN sang IPSec VPN để người dùng SSL VPN có thể truy cập được sang tài nguyên tại site HQ thông qua IPSec VPN. Truy cập vào menu Policy & Objects > Firewall Policy, chọn Create New để tạo policy mới.
- Incoming Interface: sẽ là SSL VPN tunnel
- Outgoing Interface: là IPSec Tunnel
- Source: chọn address là all. Các bạn cần thêm VPN User Group vào phần source này.
- Destination: chọn dải mạng LAN của site HQ.
- NAT thì các bạn bật hay tắt đều được, do chúng ta đã có route cho các dải VPN rồi. Các bạn nên tắt NAT ở policy này.
Trong bài Lab này, mình chỉ cấu hình Policy cho phép từ SSL VPN sang IPSec Tunnel. Trong mô hình thực tế các bạn sẽ cần phải tạo thêm policy từ SSL VPN vào dải LAN nội bộ của site BR nữa nhé.
Ok, như vậy là xong cấu hình tại Site BR.
Cấu hình VPN Site to Site trên FW-HQ
Trên firewall HQ, chúng ta chỉ cần cấu hình IPSec VPN thôi. Nó cũng chỉ khác nhau ở phần Policy. Các bạn vào menu IPSec Wizard để tạo 1 Tunnel sang FW-BR.
Trong tab Authentication, nhập các thông tin kết nối sang FW-BR.
Trong menu Policy & Routing, Local Interface chọn cổng LAN tại site HQ. Remote Subnets các bạn sẽ add cả dải mạng LAN của site BR và dải mạng của SSL VPN vào nhé. Chỉ đơn giản vậy thôi.
Kiểm tra kết nối
Các bạn kết nối SSL VPN tới site BR bằng FortiClient.
Nhập đầy đủ các thông tin trên Forticlient, bao gồm Remote gateway, Port và tài khoản, sau đó nhấn Connect. Các bạn nhận được thông báo VPN Connnected như ảnh bên dưới là kết nối thành công.
Để kiểm tra, các bạn có thể ping thử sang 1 IP bất kỳ thuộc dải mạng 192.168.10.0/24 bên site HQ để test.
Máy tính của mình cũng đã ping được đến dải LAN thuộc site HQ, như vậy là chúng ta đã cấu hình thành công SSL VPN sang IPSec VPN.
SSL VPN này mình chưa tạo policy cho phép truy cập vào dải LAN của site BR nên mình chưa ping được nhé. Các bạn cấu hình thêm policy cho SSL VPN là được, nó tương tự như các bạn cấu hình SSL VPN thông thường thôi.
Edit VPN trong trường hợp có sẵn SSL VPN và IPSec VPN
Trong trường hợp các bạn đã có sẵn 2 VPN rồi, và bây giờ các bạn chỉ muốn SSL VPN thông tới IPSec VPN, thì chúng ta có thể chỉnh sửa lại các thông tin cho VPN. Có 1 số cấu hình chúng ta cần sửa đổi, bao gồm Phase 2 Selector trong VPN, Firewall Policy và Route. Mình sẽ sử dụng mô hình bên dưới.
Edit trên Site HQ
Tại site HQ, trước tiên các bạn tạo 1 address group cho tiện trong việc cấu hình. Các bạn sẽ tạo 2 Address Group cho dải mạng LAN tại site HQ và BR, đối với dải BR thì nó sẽ bao gồm cả dải mạng cấp cho SSL VPN.
Các bạn vào phần address và tạo các remode address tương ứng với các dải mạng của Site BR, bao gồm cả dải mạng cấp cho người dùng SSL VPN, như mô hình trên thì remote address sẽ bao gồm 2 dải 10.0.0.0/24 và 172.16.0.0/24. Trong ví dụ này thì site HQ của mình chỉ có 1 dải LAN, do vậy thì mình không cần tạo group, còn nếu mô hình các bạn có nhiều vlan thì các bạn cũng tạo group tương tự cho dải mạng local nhé.
Sau đó tạo 2 Address group cho các dải mạng Local và Remote và nhóm các dải mạng tương ứng vào. Như ví dụ bên dưới mình tạo Address Group cho các dải LAN remote tại site BR. Các bạn tạo Group tương tự với các dải LAN Local tại site HQ.
Note: Các bạn cần enable mục Static route configuration để chúng ta có thể sử dụng address group trong menu Route nhé.
Sau khi có address group thì các bạn vào menu VPN, chọn Edit IPSec Tunnel. Trong phần Phase 2 Selector, Local Address và Remote address các bạn đổi sang các Address Group tương ứng vừa tạo.
Tiếp theo các bạn chỉnh sửa policy cho phép thêm dải SSL. Sẽ có ít nhất 2 policy liên quan đến IPSec VPN, các bạn chỉnh sửa các policy với chiều từ LAN-HQ sang IPSec VPN và ngược lại. Các bạn chỉ cần sửa phần Source và Destination thành các Group Address đã tạo theo đúng chiều là được.
Các bạn cũng có thể tạo thêm policy khác cũng được nếu muốn dải mạng SSL và LAN BR có chính sách riêng, còn nếu cùng chính sách thì các bạn gộp lại cho dễ quản lý.
Cuối cùng các bạn chỉnh sửa Route. VPN cũng tạo ra 2 route, các bạn chỉnh sửa cả 2 route này. Trong phần destination các bạn đổi sang Remote address group đã tạo là được.
Như vậy là xong trên site HQ.
Edit trên site BR
Đối với site BR thì các bạn cũng làm tương tự, nhưng ngược lại. Ở site HQ các bạn tạo Group Address cho các dải mạng ở site remote là BR, thì ở site BR các bạn sẽ tạo Group address cho dải mạng local của nó luôn, bao gồm dải LAN BR và dải mạng SSL VPN.
Sau đó các bạn cũng cần chỉnh sửa IPSec tunnel và Policy.
Trong IPSec tunnel thì các bạn sửa local address trong phase 2 thành group address.
Policy thì các bạn vẫn sửa 2 policy từ LAN-BR sang IPSec tunnel và ngược lại.
Phần route chúng ta không cần tạo, do dải SSL VPN ở trên Firewall BR luôn rồi.
Trên SSL VPN thì nếu các bạn Enable Split Tunneling, các bạn thêm dải mạng LAN local của site HQ vào Routing Address là được.
Chỉ đơn giản vậy thôi, các bạn có bao nhiêu dải LAN ở local và remote site, thì chỉ cần tạo các address group tương ứng và add vào phase 2 của VPN, route và policy là được.
OK như vậy là mình đã hướng dẫn các bạn kết nối người dùng SSL VPN qua IPSec tunnel VPN. Nếu các bạn có thắc mắc hay góp ý nào, hãy để lại comment để mọi người cùng trao đổi nhé.
Chúc các bạn thành công!