İçeriğe geç

Fortigate SSL VPN Kurulum Konfigurasyon ve Bağlantı

Uzaktan çalışmanın bir rutine dönmeye başladığı Kovid-19 kaynaklı bu karantina günlerinde, özellikle kurumsal yapılar için en önemli unsurlardan biri haline gelen SSL VPN teknolojisine Fortigate Firewall özelinde Kurulum, konfigurasyon ve Windows, Linux, Mac işletim sistemli cihazladan bağlanma anlatımlarını gerçekleştireceğiz.

Fortigate SSL VPN KURULUM ve KONFİGURASYONU

1. Fortigate SSL VPN açık mı? Feature Visibility

SSL VPN özelliği kapatılmış veya hiç açılmamış olabilir. Eğer sol ana menüde “VPN” başlığı varsa açıktır ve bu aşamayı atlayabilirsiniz, ama değilse System > Feature visibility altına gelip buradan VPN’i aktifleştirin

Forticlient ssl vpn feature

2. LDAP entegrasyonu (active directory vb.)

SSL VPN kimlik doğrulama işlemini bir LDAP sunucuya yaptırmak isterseniz User & Device > LDAP Servers başlığı altından LDAP server entegrasyonunu gerçekleştirmeniz gerekmekte. Hali hazırda LDAP sunucunuz buraya ekliyse 3. Aşamaya geçebiliriniz.

Detaylı LDAP entegrasyonu için buraya bakabilirsiniz: https://unifyturkiye.org/2018/08/14/fortigate-ldap-authentication-nasil-yapilir/ (Caner Aktaş)

Veya buradan: http://www.fortijason.net/docs/ad-admin-config.html

3. VPN portal ayarları

VPN > SSL-VPN Portals menüsüne gittiğinizde varsayılan 3 adet portal görünmekte. Bu portalların birbirinden farkı tanımlanan VPN türleridir.

Full-access: hem native vpn (forticlient aracılığıyla, işletim sistemini etkileyen bazda vpn) hem de web tarayıcıdan (kullanıcı buradan izin verilen hedeflere tarayıcı üzerinden erişebilir sadece) vpn yapılabilen portal

Tunnel-access: sadece Forticlient aracılığıyla, işletim sisteminden (windows, linux, mac) kuruma vpn tüneli kurmak için portal

Web-access: web tarayıcıdan (kullanıcı buradan izin verilen hedeflere tarayıcı üzerinden erişebilir sadece) VPN için portal.

Bu anlatımda full-access üzerinden giderek, forticlient kullanılan senaryoyu anlatıyoruz.

3.1 Full-Access ayarları

Çift tıklayarak full-access portal ayarına girin. Burada birçok ayar var tek tek kısa kısa anlatmak gerekirse:

Limit Users to One SSL-VPN Connection at a Time : Bir kişinin aynı anda birden çok cihazdan VPN yapmasını engellemek isterseniz bunu açın.

Full-access ayarları içerisinde olduğumuz için “tunnel mode” açık olacaktır bunu disable etmeyin. Bu kısmın altındaki:

Enable split tunneling : VPN yapan kişiye bize gelmesini istediğimiz Networkleri (IP adreslerini) belirttiğimiz kısım. Bu sayede VPN yapan kişinin tüm internet trafiğini üzerimize almamış oluruz. Sadece bizim belirttiğimiz hedeflere gelebilir.

Bu hedefleri Routing Address kısmında + işaretine basarak seçebilirsiniz.

Source IP Pools: SSL VPN’I başarıyla kuran kullanıcılara atanacak olan IP adresidir. Bu IP aralığını değiştirmek isterseniz. SSLVPN_TUNNEL_ADDR1 Adres objesini düzenleyebilirsiniz.

Tunnel Mode Client Options altındaki ayarlar:

Allow client to save password: Forticlient uygulamasını kullanan userların şifremi hatırla butonunu aktifleştirebilmesine izin verir.

Allow client to connect automatically: Forticlient kullanıcılarının otomatik bağlan butonunu aktifleştirebilmesine izin verir

Allow client to keep connections alive: VPN doğası gereği uzun süre kurulan tünelden paket geçmezse tünel kapatılır. Bunun önüne geçmek isterseniz bu kısmı aktifleştirin.

DNS split tunneling: SSL VPN yapan kullanıcının tüm DNS isteklerinin değil de sadece bizim belirteceğimiz (4. SSL-VPN Settings menüsünde ) DNS suffixlere ilişkin DNS isteklerini VPN tünelden bize göndermesini istersek bunu açıyoruz.

Web mode ile ilgili ayarlara burada değinmeyeceğim. OK ile kaydedip VPN > SSL-VPN Setting menüsüne geçebilirsiniz.

4. SSL-VPN Settings menüsü

SSL VPN Portals kısmında VPN yapacak kişinin IP adresinin ne olacağı, VPN tünelden gelecek trafiği veya DNS isteklerini ayırt edilip edilmeyeceği gibi detayları ayarlamıştık. Bu kısımda ise Kim nereden nasıl VPN yapabilir ayarlarını göreceğiz. Sırasıyla:

Connection Settings: başlığında SSL VPN servisini Fortigate’in hangi interface’inden (Varsa Fortigate üzerinde bir reel IP) vereceğimizi seçiyoruz. Fortigate önünde başka bir L3 cihaz varsa ve NAT yeteneğine sahipse bu kısımdan herhangi bir VLAN’ınızı da seçebilirsiniz bu yolu seçerseniz sonrasında global dünyaya sunacağınız gerçek IP adresinden bu VLAN interface’ine Destination NAT yapmanız gerekecek.

Listen on port: Servisin hangi porttan verileceğini belirttiğimiz kısım. 443 genelde admin panele bağlantı için kullanıldığından bu kısmı 10443 olarak editleyebilirsiniz.

Redirect HTTP to SSL-VPN: Listen on interface kısmında seçtiğimiz IP Adresinin 80. Portuna gelen trafiği Listen on portta belirttiğimiz porta yönlendirir.

Restrict Access: Allow from any host: VPN yapmak isteyen kişinin IP Adresi ne olursa olsun VPN yapabilir

Limit access to specific hosts: Sadece benim belirleyeceğim gerçek IP’ler SSL VPN yapabilsin. Bunu seçerseniz sonrasında aşağıda açılan Hosts menüsünden istediğiniz gerçek IP’leri oluşturup seçebilirsiniz.

Idle Logout: 300 saniye (ayarlanabilir) boyunca tünelden herhangi bi trafik gelip geçmezse kullanıcıyı logout yapar

Server certificate: Adı üstünde SSL (güvenli katmanda) yapılacak olan bu VPN’de kullanılacak sertifikayı belirleyebileceğiniz yerdir. Dilerseniz kurumunuzun CA sertifikasını seçip daha sonra VPN bağlantısı kurarken kullanıcının güvenilir olmayan sertifika hatası almasını engelleyebilirsiniz.

Tunnel Mode Client settings: Address range kısmından VPN kuracak olan kullanıcının alacağı IP adresi belirlediğiniz yerdir. Aynı ayar hatırlarsanız 3. Kısımda da vardı.

DNS Server: Same as client system DNS: seçilirse vpn kullanıcısına bir DNS server adresi gönderilmez. Kendi iç ağındaki ne ise onu kullanmaya devam eder.

Specify: Kullanıcının VPN yaptıktan sonra kullanmasını istediğimiz DNS server IP’lerini buraya girebilirsiniz. (DC serverınız olabilir, Kurumsal DNS çözümünüzün IP adresi olabilir…)

SSL-VPN Settings menüsü devam..

Authentication / Portal Mapping: Bu kısımda hangi LDAP grubu üyesi hangi Portala erişim yetkisine sahip olmalı onu ayarlıyoruz. Bizim durumda tek portal vardı full-access. Ve biz bu durumda Tüm personelin VPN yapmasını istiyoruz. Dolayısıyla 2. Aşamada LDAP entagrasyonu ile eklediğimiz sunucudaki bir grupla eşleştireceğiz.Burada seçilebilir user veya groupların sadece Type’I Firewall olan Group veya user olduğunu görüyoruz. Dolayısıyla LDAP grubunu direk buradan seçemiyoruz. Önce LDAP grubumuzu bir type Firewall grubu ile eşleştiriyoruz. Bunu yapmak için:

Authentication / Portal Mapping altında Create New butonuna basın. User/Groups kısmında + ya tıklayın. Sağda açılan çekmece menünün en üst sağ kısmındaki + butonuna basarak yeni Bir User Group oluşturmayı seçin. Yine sağ çekmeceden açılan pencereden oluşturulan bu yeni gruba bir isim verin.

Type Firewall olarak bırakın. Aşağıdaki Remote Groups kısmındaki + Add butonuna basın. Sağdan yeni açılan çekmecede Remote server kısmından 2. Aşamada oluşturduğunuz LDAP sunucuyu seçin.

Seçimi yaptıktan sonra bu LDAP sunucudaki tüm user groupları göreceksiniz. Dilediğiniz grup veya grupları üzerine sağ tıklatıp Add Selected butonuna basarak seçin. Iki defa OK butonuna basarak oluşturduğunuz bu type firewall grubu kaydedin.

Bu anlatımda sağdan açılan ilk çekmece menüye geri gelmiş olacaksınız. Buradan az önce oluşturduğunuz Grubu seçin.

authentication portal mapping

Portal kısmından ise full-access seçin. OK butonu ile kaydedin.

5. IPv4 policy oluşturma

İlk olarak 4. Aşamanın başında belirlediğiniz Interface’in (VLAN IP veya Gerçek IP’nin) listen on ports kısmında belirlediğiniz portuna tüm dünyadan erişimi açmak için de bir IPv4 policy yazmanız gerekmekte.

Daha sonra en azında bir tane IPv4 policy yazıp bu kullanıcıların (interface source: SSL-VPN tunnel interface (ssl.root)) içeride bir yere erişmelerine izin vermeniz gerekmekte. Aksi takdirde kullanıcılar VPN bağlantılarını tamamlayamazlar. Forticlient ile VPN kurulmaya çalışırken %98 aşamasında VPN kurulumu başarısız olacaktır.

fortigate ssl vpn policy

Şimdi bağlantıyı test edebilirsiniz. Daha sonra peyderpey Gerekli SSL VPN izinlerini yazabilirsiniz.

Fortigate SSL VPN’e Farklı İşletim Sistemlerinden Bağlanma

1. Windows işletim sistemli cihazlar için

https://forticlient.com/downloads linkinden girip Forticlient VPN indirebilirsiniz. Bugünkü güncel link şöyle: https://d3gpjj9d20n0p3.cloudfront.net/forticlient/downloads/FortiClientVPNSetup_6.2.6.0951_x64.exe

Bu linkten indirip kurun.

Yüklediğiniz Forticlient uygulamasını çalıştırın, Remote Access kısmına tıklayın

Configure VPN butonuna basın, eğer bu görünmüyorsa sağ üstteki çarka basıp add a new connection butonuna basın.

Yeni açılan ekranda aşağıdaki gibi ayarları yapın: Burada Remote gateway kısmına 4. Aşamada belirlediğiniz Fortigate interface’inin gerçek IP adresini yazmalısınız. Varsa bir Dış DNS’iniz; güzel görünmesi için o IP adresini vpn.kurum.com olarak kaydedip o şekilde de ilerleyebilirsiniz.

Hatırlayacağınız üzere listen on portu 10443 olarak ayarlamıştık:

ssl vpn add new

Save butonuna basarak kaydedin. Remote access menüsüne gelin. Daha önceden seçip entegre ettiğimiz LDAP user grubundaki bir kullanıcının kullanıcı adı ve şifresi ile VPN kurmak bu bilgileri yazarak Connect butonuna basın.

forticlient for windows

Eğer tüm aşamaları doğru yapmışsanız saniyeler içerisinde VPN Connected. Yazısını görmelisiniz.

2. Linux (Ubuntu) İşletim sistemlerden VPN yapmak için

https://kb.fortinet.com/kb/documentLink.do?externalID=FD39996 Linkide anlatıldığı gibi support.fortinet.com adresine login olup oradan forticlientsslvpn_linux_4.4.2332.tar.gz isimli dosyayı indirin.

Webden bir yerden bulurda indiriseniz dosyanın doğruluğunu kontrol ediniz:

SHA1: FD662E4F314F264B0D587F0042E973BD4A71CFCF

MD5: 3b2b44ad58a5dbdb826a9e873f51a885

indirdiğiniz forticlientsslvpn_linux_4.4.2336.tar.gz dosyasını açın ve aşağıdaki gibi tar.gz içindeki fortisslvpn.sh’ı çalıştırın

sudo ./fortisslvpn.sh

Forticlient yüklenmiş olacak. Forticlient’ı çalıştırıp aşağıdaki gibi ayarları yapın:

forticlient on linux

3. Mac için

Denemedim ama yine forticlient.com/downloads sitesinde söylediği gibi https://filestore.fortinet.com/forticlient/downloads/FortiClientOnlineInstaller_6.0.dmg bu URL’den indirip kurabilirsiniz.

SSL VPN içi alınabilecek ekstra güvenlik önlemleri

1. İki Faktörlü Doğrulama Mekanizması Kullanın

Buradaki yazımda detaylarına ulaşabileceğiniz 2FA sistemi, VPN ile bağlantı kurabilmesi istenen kullanıcıların kimliğini doğrulamak için kullanıcı şifresi haricinde ikinci bir doğrulama adımının daha kullanılmasıdır. Birçok çeşit 2FA yöntemi bulunmaktadır SMS kodu, tek kullanımlık şifre oluşturucular (Symantec VIP Access, Sectrail) en yaygın tercih edilen yöntemlerdir.

2. Login Denemelerini Kısıtlayın

İki faktörlü doğrulama yöntemi kullanma şansınız yoksa, kullanabileceğiniz 2. en iyi güvenlik sağlama yöntemi budur. Brute force ataklara karşı etkilidir. 2FA kullanıyorsanız bile ekstra bir önlem olarak, SSL VPN login denemelerini sınırlandırabilirsiniz. Aşağıdaki configurasyon ile Global SSL VPN ayarlarını değiştirip, yanlış login sayısını 3 ile sınırlandırabilir. Şifresini 4. kez yanlış giren kullanıcının 1 gün boyunca (86400 saniye) tekrar giriş denemesi yapmasını engelleyebilirsiniz. 3 ve 86400 parametrelerini kendi senaryonuzda istediğiniz gibi değiştirebilirsiniz. Default ayarlar login attempt 2, bloklama süresi ise 60 saniye olarak gelmekte. 60 saniyenin uzatılması bence mantıklı olacaktır.

#config vpn ssl settings
    set login-attempt-limit 3
    set login-block-time 864000
end

3. Geolocation Bazlı SSL VPN erişim sınırlaması

SSL VPN ile ağınıza bağlanmasına izin verdiğiniz kişiler belirli ülkelerden bağlanıyorlarsa coğrafi bazlı erişim kısıtlaması yapabilirsiniz. Aşağıdaki url’de anlatılan Authentication Rules bu amaçla kullanılabilir.

https://kb.fortinet.com/kb/documentLink.do?externalID=FD48678

Diğer Fortigate yazılarım için buraya tıklayabilirsiniz.

Sağlıklı günlere…

“Fortigate SSL VPN Kurulum Konfigurasyon ve Bağlantı” hakkında 8 yorum

  1. Geri bildirim: Fortigate SSL VPN 2FA (Symanctec VIP ile) • Alperen Soyalp

  2. Merhaba, şirket dışında kullanıcıların internete bağlandıkları anda vpn i zorunlu hale nasıl getirebiliriz?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir