FortiGate, bir SSL-VPN Tüneli arayüz tipi kullanılarak bir SSL VPN istemcisi olarak yapılandırılabilir. Bir SSL VPN istemci bağlantısı kurulduğunda, istemci, SSL VPN sunucusutarafından döndürülen alt ağlara dinamik olarak bir yol ekler. İstemcinin arkasındaki kullanıcıların SSL VPN üzerinden SSL VPN sunucusundaki hedeflere tünellenmesine izin vermek için politikalar tanımlanabilir.
FortiOS, tünel modunda IP düzeyinde bağlantıya izin veren bir SSL VPN sunucusu olarak yapılandırılabilir ve FortiOS SSL VPN sunucusu tarafından kullanılan protokolü kullanan bir SSL VPN istemcisi olarak işlev görebilir. Bu, hub-and-spoke topolojilerinin FortiGates ile hem SSL VPN merkezi hem de konuşmacı olarak yapılandırılmasına olanak tanır.
Bir cihaz ve bir VPN sunucusu arasındaki IP düzeyinde bir VPN için bu, aşağıdakiler gibi ara cihazlardan kaynaklanan sorunlardan kaçınmak için yararlı olabilir:
• ESP paketleri engelleniyor.
• UDP bağlantı noktaları 500 veya 4500 engelleniyor.
• Parçalar atılıyor ve eş, IKE parçalanmasını desteklemiyorsa, büyük sertifikalar kullanan IKE anlaşmasının başarısız olmasına neden oluyor.
İstemci tarafından belirtilen hedef all ise, SSL VPN istemcisinde etkin bir şekilde dinamik olarak varsayılan bir yol oluşturulur ve yeni varsayılan yol, mevcut varsayılan yola ECMP biçiminde eklenir. Yönlendirmenin nasıl yapılandırılacağına ilişkin bazı örnekler şunlardır:
• Tüm trafiği SSL VPN sunucusuna varsayılan yapmak ve yine de sunucunun dinleme arayüzüne giden bir rotaya sahip olmak için, SSL VPN istemcisinde sunucudan öğrenilen varsayılan rota için daha düşük bir mesafe ayarlayın.
• SSL VPN sunucusundan öğrenilen rota öncelikli olacak şekilde, yönlendirme tablosuna her iki varsayılan rotayı dahil etmek için, SSL VPN istemcisinde sunucudan öğrenilen rota için daha düşük bir mesafe ayarlayın. Mesafe zaten sıfırsa, varsayılan
rotadaki önceliği artırın.
• SSL VPN istemcisinde bir varsayılanın öğrenilmesini önlemek için, SSL VPN sunucusunda belirli bir hedef tanımlayın.
Örnek
Bu örnekte, ev FortiGate (FGT-A) bir SSL VPN istemcisi olarak yapılandırılmıştır ve FortiGate (FGT-B) şirketi bir SSL VPN sunucusu olarak yapılandırılmıştır. FGT-A, FGT-B’ye bağlandıktan sonra, FGT-A’ya bağlanan cihazlar FGT-B’nin arkasındaki kaynaklara erişebilir.
SSL VPN sunucusunun tanımlanmış bir özel sunucu sertifikası vardır ve SSL VPN istemcisi kullanıcısı, kimlik doğrulaması için PSK ve bir PKI istemci sertifikası kullanır. FortiGates, sertifikayı imzalayan kök CA’ya giden sertifika zincirini doğrulamak için uygun CA sertifikasına
sahip olmalıdır.
Bölünmüş tünelleme, yalnızca sunucunun güvenlik duvarı ilkelerinde tanımlanan hedef adreslerin sunucuya yönlendirilmesi ve diğer tüm trafiğin doğrudan internete bağlanması için kullanılır.
SSL VPN sunucusunu yapılandırın
GUI’de yerel bir kullanıcı oluşturmak için:
1. Git Kullanıcı & Kimlik> Kullanıcı Tanımı ve tıklatın Yeni Oluştur.
2. Client2 adlı yerel bir kullanıcı oluşturmak için sihirbazı kullanın.
GUI’de bir PKI kullanıcısı oluşturmak için:
PKI menüsü, yalnızca CLI kullanılarak bir PKI kullanıcısı oluşturulduktan sonra GUI’de kullanılabilir ve bir CN yalnızca CLI’de yapılandırılabilir.
1. Git Kullanıcı & Yetkilendirme> PKI ve tıklatın Yeni Oluştur .
2. Set Adı için pki .
3. CA’yı , istemci sertifikasını doğrulamak için kullanılan CA sertifikasına ayarlayın .
4. Tıklayın Tamam .
5. CLI’de, eşleşmesi gereken CN’yi belirtin. CN belirtilmezse, CA tarafından imzalanmış herhangi bir sertifika geçerli olacak ve eşleştirilecektir.
config user peer
edit “pki”
set cn “*.fos.automation.com”
next
end
GUI’de bir SSL VPN portalı oluşturmak için:
1. Git VPN> SSL VPN Portalları ve tıklatın Yeni Oluştur .
2. Set Adı için testportal2 .
3. Set Bölünmüş Tünellemesini etkinleştirme için Politikası Hedef dayanarak Etkin .
4. Set Kaynak IP Havuzlar için SSLVPN_TUNNEL_ADDR1 .
5. Tıklayın Tamam .
GUI’de SSL VPN ayarlarını yapılandırmak için:
1. Git VPN> SSL VPN Ayarları .
2. Set Sunucu Sertifikası için fgt_gui_automation .
3. Kimlik Doğrulama / Portal Haritalama tablo tıklama Yeni Oluştur :
a) Set Kullanıcılar / Gruplar için istemci2 .
b) Set Portal için testportal2 .
c) Tıklayın Tamam .
4. Tıklayın Tamam .
5. CLI’de, SSL VPN istemci sertifikası kısıtlayıcıyı etkinleştirin ve kullanıcı eş değerini pki olarak ayarlayın :
config vpn ssl settings
config authentication-rule
edit 1
set client-cert enable
set user-peer “pki”
next
end
end
GUI’de bir güvenlik duvarı adresi oluşturmak için:
1. Git Politikası ve Nesne> Adresler ve tıklayın > Adres Yeni Oluştur .
2. Set Adı için bing.com .
3. Set Tipi için FQDN .
4. Set FQDN için www.bing.com .
5. Tıklayın Tamam .
GUI’de bir güvenlik duvarı ilkesi oluşturmak için:
1. Git Politikası ve Nesneler> Güvenlik duvarı Politikası ve tıklatın Yeni Oluştur .
2. Politikayı yapılandırın:
3. Tıklayın Tamam .
CLI’de SSL VPN sunucusunu (FGT-B) yapılandırmak için:
1. Yerel bir kullanıcı oluşturun:
config user local
edit “client2”
set passwd **********
next
end
2. Bir PKI kullanıcısı oluşturun:
config user peer
edit “pki”
set ca “CA_Cert_3”
set cn “*.fos.automation.com”
next
end
3. Yeni bir SSL VPN portalı oluşturun:
config vpn ssl web portal
edit “testportal2”
set tunnel-mode enable
set ipv6-tunnel-mode enable
set ip-pools “SSLVPN_TUNNEL_ADDR1”
set split-tunneling enable
set ipv6-pools “SSLVPN_TUNNEL_IPv6_ADDR1”
set ipv6-split-tunneling enable
….
next
end
4. Kullanıcı eşlemesi için kimlik doğrulama kuralı dahil olmak üzere SSL VPN ayarlarını yapılandırın:
config vpn ssl settings
set ssl-min-proto-ver tls1-1
set servercert “fgt_gui_automation”
set auth-timeout 0
set login-attempt-limit 10
set login-timeout 180
set tunnel-ip-pools “SSLVPN_TUNNEL_ADDR1”
set tunnel-ipv6-pools “SSLVPN_TUNNEL_IPv6_ADDR1”
set dns-suffix “sslvpn.com”
set port 1443
set source-interface “port2”
set source-address “all”
set source-address6 “all”
set default-portal “testportal1”
config authentication-rule
edit 1
set users “client2”
set portal “testportal2”
set client-cert enable
set user-peer “pki”
next
end
end
5. Bir güvenlik duvarı adresi ve politikası oluşturun. Politikada kullanılan hedef adresler, SSL VPN sunucusuna yönlendirilir.
config firewall address
edit “bing.com”
set type fqdn
set fqdn “www.bing.com”
next
end
config firewall policy
edit 2
set name “sslvpn2”
set srcintf “ssl.root”
set dstintf “port1”
set srcaddr “all”
set dstaddr “mantis” “bing.com”
set action accept
set schedule “always”
set service “ALL”
set nat enable
set users “client2”
next
end
SSL VPN istemcisini yapılandırın
GUI’de bir PKI kullanıcısı oluşturmak için:
PKI menüsü, yalnızca CLI kullanılarak bir PKI kullanıcısı oluşturulduktan sonra GUI’de kullanılabilir ve bir CN yalnızca CLI’de yapılandırılabilir.
1. Git Kullanıcı & Yetkilendirme> PKI ve tıklatın Yeni Oluştur .
2. Set Adı için fgt_gui_automation .
3. CA’yı CA sertifikasına ayarlayın . CA sertifikası, FortiGate’in sertifika zincirini tamamlamasına ve sunucunun sertifikasını doğrulamasına izin verir ve FortiGate’de zaten kurulu olduğu varsayılır.
4. Tıklayın Tamam .
5. CLI’de, SSL VPN sunucusundaki sertifikanın CN’sini belirtin:
config user peer
edit “fgt_gui_automation”
set cn “*.fos.automation.com”
next
end
GUI’de bir SSL VPN istemcisi ve sanal arayüz oluşturmak için:
1. Git VPN> SSL VPN Müşteriler ve tıklatın Yeni Oluştur .
2. Arayüz açılır menüsünü genişletin ve yeni bir sanal arayüz oluşturmak için Oluştur’a tıklayın :
a. Set Adı için sslclient_port1 .
b. Set Arabirimi için port1 .
c. Yönetici Erişimi altında , HTTPS ve PING’i seçin .
d. Tıklayın Tamam .
3. SSL VPN istemcisini yapılandırın:
4. Tıklayın Tamam .
GUI’de bir güvenlik duvarı ilkesi oluşturmak için:
1. Git Politikası ve Nesneler> Güvenlik duvarı Politikası ve tıklatın Yeni Oluştur .
2. Politikayı yapılandırın:
CLI’de SSL VPN istemcisini (FGT-A) yapılandırmak için:
1. PKI kullanıcısını oluşturun. SSL VPN sunucusunda sertifika fgt_gui_automation imzalayan CA’yı ve bu sertifikanın CN’sini kullanın.
config user peer
edit “fgt_gui_automation”
set ca “GUI_CA”
set cn “*.fos.automation.com”
next
end
2. SSL VPN bağlantısı için kullanılan SSL arayüzünü oluşturun:
config system interface
edit “sslclient_port1”
set vdom “vdom1”
set allowaccess ping https
set type ssl
set role lan
set snmp-index 46
set interface “port1”
next
end
3. PKI kullanıcısını ve fgtb_gui_automation istemci sertifikasını kullanmak için SSL VPN istemcisini oluşturun :
config vpn ssl client
edit “sslclientTo9”
set interface “sslclient_port1”
set user “client2”
set psk 123456
set peer “fgt_gui_automation”
set server “172.16.200.9”
set port 1443
set certificate “fgtb_gui_automation”
next
end
4. Bir güvenlik duvarı politikası oluşturun:
config firewall policy
edit 1
set name “policy_to_sslvpn_tunnel”
set srcintf “port2”
set dstintf “sslclient_port1”
set srcaddr “all”
set dstaddr “all”
set action accept
set schedule “always”
set service “ALL”
set nat enable
next
end
Doğrulama
Tünel kurulduktan sonra FGT-A’da 13.107.21.200 ve 204.79.197.200’e giden yol SSL VPN sanal arayüz sslclient_port1 üzerinden bağlanır.
Yönlendirme tablosu ayrıntılarını kontrol etmek için:
(vdom1) # get router info routing-table details
Codes: K – kernel, C – connected, S – static, R – RIP, B – BGP
O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, L1 – IS-IS level-1, L2 – IS-IS level-2, ia – IS-IS inter area
* – candidate default
Routing table for VRF=0
S* 0.0.0.0/0 [10/0] via 172.16.200.254, port1
C 10.0.1.0/24 is directly connected, link_11
C 10.1.100.0/24 is directly connected, port2
is directly connected, port2
C 10.212.134.200/32 is directly connected, sslclient_port1
S 13.107.21.200/32 [10/0] is directly connected, sslclient_port1
C 172.16.200.0/24 is directly connected, port1
S 192.168.100.126/32 [10/0] is directly connected, sslclient_port1
S 204.79.197.200/32 [10/0] is directly connected, sslclient_port1
Bir IPv6 tüneli için eklenen yönlendirmeyi kontrol etmek için:
(vdom1) # get router info6 routing-table database
IPv6 Routing Table
Codes: K – kernel route, C – connected, S – static, R – RIP, O – OSPF,
IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, B – BGP
>- selected route, * – FIB route, p – stale info
Timers: Uptime
S *> ::/0 [10/0] via 2000:172:16:200::254, port1, 00:00:01, [1024/0]
*> [10/0] via ::, sslclient_port1, 00:00:01, [1024/0]
C *> ::1/128 via ::, vdom1, 03:26:35
C *> 2000:10:0:1::/64 via ::, link_11, 03:26:35
C *> 2000:10:1:100::/64 via ::, port2, 03:26:35
C *> 2000:172:16:200::/64 via ::, port1, 03:26:35
C *> 2001:1::1:100/128 via ::, sslclient_port1, 00:00:01
C *> fe80::/64 via ::, port2, 03:26:35
GUI’deki bağlantıyı kontrol etmek için:
1. SSL VPN sunucusu FortiGate’de (FGT-B), Kontrol Paneli > Ağ’a gidin ve SSL-VPN widget’ını genişletin .
2. SSL VPN istemcisi FortiGate’de (FGT-A), tünel listesini görmek için VPN > SSL-VPN İstemcileri’ne gidin .