2011 FortiGate (SSLVPN) [Bu dökümanda SSLVPN ile kullanıcıların iç kaynaklara erişimi, Tunnel Mode ve Web App. Mode kullanımı ve SSLVPN kullanıcılarının FortiGate üzerinden Internete çıkışı anlatılmıştır.] v400-build0320-rev.01 RZK Mühendislik ve Bilgisayar Sistemleri 0
FortiGate (SSLVPN) Tunnel & Web App. Mode Datasheet FortiGate (SSLVPN) tunnel mode router 1 my pc (192.168.1.99) client web app. mode dmz network (10.10.20.0/24) FTP Server 10.10.20.10 internet internal : 192.168.1.1 dmz : 10.10.20.1 File Server 10.10.20.20 DBase Server 10.10.20.30 router 2 wan1 : 192.168.10.56 Web Server 10.10.20.40 Mail Server 10.10.20.50 Şekilde görüldüğü gibi client kullanıcı internet üzerinden FortiGate arkasındaki kaynaklara erişirken SSLVPN bağlantısı kullanacaktır. DMZ networkündeki DBase Server ve Mail Server a Tunnel Mode ile diğer sunuculara ise Web App. Mode ile bağlantı kurulacaktır. Internal ağdaki My PC ye hem Tunnel Mode hem de Web App. Mode ile bağlantı kurulacaktır. Örnekte kullanılan sistem : FortiWiFi-80CM v4.0 MR2 Patch 6. Erişilecek Adresleri Tanımlama : Firewall -> Address -> Address menüsünden Create New ile aşağıdaki gibi adresleri tanımlayınız. Daha sonra da bunları uygun şekilde Firewall -> Address -> Group menüsünde gruplayınız. FortiGate (SSLVPN) v400-build0320-rev.01 1
Erişilecek sunucuların ve PC nin adres bilgileri girildi. Ayrıca SSLVPN bağlantısında Tunnel Mode kullanacak olan kullanıcıların 172.16.1.0/24 networkünden otomatik IP alması için sslvpn_net tanımını yapınız. Daha sonra bu networkü Router -> Static -> Static Route menüsü altından aşağıdaki gibi routing tanımını yapınız. FortiGate (SSLVPN) v400-build0320-rev.01 2
Web ve Tunnel Mode olarak erişilecek sunucular gruplandı. SSLVPN Aktifleştirme ve SSLVPN Bağlantısında Portal Oluşturma : Öncelikle SSLVPN bağlantısını VPN -> SSL -> Config menüsü altından aktifleştiriniz. SSLVPN bağlantısı sonucunda kullanıcılara gösterilecek olan uygun portalı VPN -> SSL - > Portal menüsü altından oluşturunuz. FortiGate (SSLVPN) v400-build0320-rev.01 3
Tunnel Mode için IP Pools seçeneğinde ekrandaki Edit linkine tıklayarak daha önce oluşturduğumuz sslvpn_net adres grubunu seçiniz. Ayrıca Split Tunneling seçeneğini de işaretleyiniz. Böylece kullanıcının SSLVPN trafiğiyle diğer trafiğini ayırt etmiş olacaksınız. İşlemleriniz bittikten sonra üstteki OK butonuna basarak değişiklikleri kaydediniz. SSLVPN Kullanıcı ve Grupları Oluşturma : SSLVPN bağlantısı için User menüsü altından kullanıcı ve User User Group menüsü altından da kullanıcı gruplarını oluşturunuz. FortiGate (SSLVPN) v400-build0320-rev.01 4
SSLVPN Authentication ve Erişim Kurallarını Açmak : SSLVPN portalına bağlantı kurulduktan sonra routing ve portal bilgilerinin atanması için öncelikle SSLVPN in karşılandığı WAN bacağından içeri doğru SSLVPN kuralını aşağıdaki gibi oluşturunuz. FortiGate (SSLVPN) v400-build0320-rev.01 5
DMZ ağına erişim için açılan portal ve authentication kuralı... Internal ağındaki MyPC ye erişim için açılan portal ve authentication kuralı... FortiGate (SSLVPN) v400-build0320-rev.01 6
Tunnel Mode bağlantısı gerçekleştikten sonra SSLVPN kullanıcısının DBase Server ve Mail Server sunucularına erişebilmesi için açılmış olan Policy (Kural) dır. Tunnel Mode bağlantısı gerçekleştikten sonra SSLVPN kullanıcısının Internal ağındaki MyPC makinasına erişebilmesi için açılmış olan Policy (Kural) dır. FortiGate (SSLVPN) v400-build0320-rev.01 7
SSLVPN Portalına Bağlanma : FortiGate cihazının WAN IP adresine 10443 portunu kullanarak bağlanabilirsiniz. Tunnel Mode kurulabilmesi için ekranda da gördüğünüz gibi küçük bir plugin yüklenmesi gerekiyor. Bunu bir kerelik yüklemeniz gerekmektedir. Daha sonrasında yüklemeye gerek kalmayacaktır. FortiGate (SSLVPN) v400-build0320-rev.01 8
Yükleme işlemi sona erdikten sonra Close butonuna basarak kurulumu tamamlayınız. Kurulum sonrasında portala yeniden bağlantı kurduğunuz zaman Tunnel Mode menüsünün açıldığını göreceksiniz. Tunnel Mode bağlantısı gerçekleştikten sonra Ethernet route tablosu aşağıdaki gibi olacaktır. Ethernet Route Table FortiGate (SSLVPN) v400-build0320-rev.01 9
(route print) Tabloda görüldüğü gibi 192.168.1.99 ve 10.10.20.0/24 ağlarına erişim SSLVPN Tunnel Mode üzerinden olacaktır. Geriye kalan routingler yine eskisi gibi ethernet ayarlarındaki Gateway üzerinden olacaktır. SSLVPN Tunnel Mode (PING) (ping 192.168.1.99) Tunnel Mode kurulduktan sonra DMZ ve Internal ağına PING ve diğer servislerle erişim mümkün olmaktadır. Web App. Mode ile tünel bağlantıya gerek kalmadan client yazılıma ihtiyaç duyulmaksızın Java bağlantısıyla HTTP/HTTPS, FTP, SMB/CIFS, RDP, TELNET, SSH, VNC, PING servislerine erişilebilmektedir. FortiGate (SSLVPN) v400-build0320-rev.01 10
SSLVPN Bağlantısı ile Kullanıcıları FortiGate Üzerinden Internete Bağlamak SSLVPN bağlantısıyla Tunnel Mode üzerinden FortiGate e erişen kullanıcıların yine aynı FortiGate üzerinden Internete çıkabilmleleri için portal ayarlarındaki Split Tunnel seçeneği işaretlenmemelidir. Bu bağlantı sonucunda SSLVPN Client, tüm Default Routing SSLVPN üzerinde sonlanacaktır. Tüm default trafik SSLVPN bağlantısı üzerinden gidecektir. Daha sonra FortiGate üzerinde SSLVPN kullanıcılarının internete çıkış kuralı tanımlanır. FortiGate (SSLVPN) v400-build0320-rev.01 11
SSLVPN Troubleshooting TEST-FW # diagnose debug application sslvpn 255 TEST-FW # diagnose debug enable [173:root]SSL state:sslv3 write certificate A (192.168.10.66) [173:root]SSL state:sslv3 write key exchange A (192.168.10.66) [173:root]SSL state:sslv3 write server done A (192.168.10.66) [173:root]SSL state:sslv3 read client certificate A:system lib(192.168.10.66) [173:root]SSL state:sslv3 read client certificate A:system lib(192.168.10.66) [173:root]SSL state:sslv3 read client key exchange A (192.168.10.66) [173:root]two factor check for user1: off [173:root]SSLVPN login matched policy 2 (vd 0) [173:root]SSL state:sslv2/v3 read client hello A:system lib(192.168.10.66) FortiGate (SSLVPN) v400-build0320-rev.01 12
[173:root]Destroy sconn 0x41433008, connsize=5. FortiGate (SSLVPN) v400-build0320-rev.01 13
[173:root]Destroy sconn 0x95aeb28, connsize=4. [173:root]Destroy sconn 0x41910008, connsize=3. [173:root]Destroy sconn 0x95978e0, connsize=2. [173:root]Destroy sconn 0x4191c008, connsize=1. [173:root]Destroy sconn 0x41963008, connsize=0. sslvpn_scache_retrieve:unusbly short session_id provided (0 bytes) [173:root]SSL state:sslv3 write certificate A (192.168.10.66) [173:root]SSL state:sslv3 write key exchange A (192.168.10.66) [173:root]SSL state:sslv3 write server done A (192.168.10.66) [173:root]SSL state:sslv3 read client certificate A:system lib(192.168.10.66) [173:root]SSL state:sslv3 read client certificate A:system lib(192.168.10.66) [173:root]SSL state:sslv3 read client key exchange A (192.168.10.66) [173:root]rmt_tunnel.c,sslvpn_tunnel_handler,44, Calling rmt_conn_access_ex. [173:root]rmt_tunnel.c,sslvpn_tunnel_handler,73, Calling tunnel. [173:root]tunnel_state.c:459 0x4165b008:0x95978e0 sslvpn user[user1],type 1,logintime 0 vd 0 [173:root]rmt_apsession.c:775 tunnel vd[root] ip[172.16.1.1] [173:root]vfid=0 local=[192.168.10.56] remote=[192.168.10.66] dynamicip=[172.16.1.1] [173:root]Prepare to launch pppd... [173:root]tun: dev located: (nil) [173:root]tun: ppp 0x4192a008 dev assigned: 0x4192d008 ref 1 [173:root]lcp_reqci: returning CONFREJ. [173:root]lcp_reqci: returning CONFACK. [173:root]lcp_up: with mtu 1354 [173:root]ipcp: returning Configure-REJ [173:root]ipcp: returning Configure-NAK [173:root]ipcp: returning Configure-ACK [173:root]ipcp: up ppp:0x4192a008 tun:0x4192d008 ref 1 [173:root]Cannot determine ethernet address for proxy ARP [173:root]local IP address 192.168.10.56 [173:root]remote IP address 172.16.1.1 [173:root]sys-fortik.c:687 associate 172.16.1.1 to tun (19) [173:root]Destroy sconn 0x95aeb28, connsize=1. FortiGate (SSLVPN) v400-build0320-rev.01 14
[173:root]Destroy sconn 0x95aeb28, connsize=1. [173:root]SSL state:sslv2/v3 read client hello A:system lib(192.168.10.66) [173:root]SSL state:sslv2/v3 read client hello A:system lib(192.168.10.66) sslvpn_scache_retrieve:unusbly short session_id provided (0 bytes) [173:root]SSL state:sslv3 write certificate A (192.168.10.66) [173:root]SSL state:sslv3 write server done A (192.168.10.66) [173:root]SSL state:sslv3 read client certificate A:system lib(192.168.10.66) [173:root]SSL state:sslv3 read client certificate A:system lib(192.168.10.66) [173:root]SSL state:sslv3 read client key exchange A (192.168.10.66) [173:root]SSL state:sslv3 write finished A (192.168.10.66) [173:root]File does not exist: /migadmin/remote/gnu/getopt/messagesbundle.class. [173:root]File does not exist: /migadmin/remote/gnu/getopt/messagesbundle_tr.class. [173:root]File does not exist: /migadmin/remote/gnu/getopt/messagesbundle_tr.properties. [173:root]File does not exist: /migadmin/remote/gnu/getopt/messagesbundle_tr_tr.class. [173:root]File does not exist: /migadmin/remote/gnu/getopt/messagesbundle_tr_tr.properties. sslvpn_scache_retrieve:unusbly short session_id provided (0 bytes) FortiGate (SSLVPN) v400-build0320-rev.01 15
[173:root]SSL state:sslv3 write certificate A (192.168.10.66) [173:root]SSL state:sslv3 write server done A (192.168.10.66) [173:root]SSL state:sslv3 read client certificate A:system lib(192.168.10.66) [173:root]SSL state:sslv3 read client certificate A:system lib(192.168.10.66) [173:root]SSL state:sslv3 read client key exchange A (192.168.10.66) [173:root]SSL state:sslv3 write finished A (192.168.10.66) [173:root]CONNECT to 192.168.1.99 on port 3389 [173:root]rmt_apsession.c:1630 checking web session [173:root]rmt_apsession.c:1635 remote_ip=[192.168.10.66], user=[user1], iif=5, auth=1, dsthost=[192.168.1.99], dst=192.168.1.99, dport=3389, service=[rdp] [173:root]Destroy sconn 0x95aeb28, connsize=3. [173:root]Destroy sconn 0x415df008, connsize=3. [173:root]Destroy sconn 0x4167b008, connsize=2. [173:root]Destroy sconn 0x95aeb28, connsize=1. [173:root]Destroy sconn 0x95aeb28, connsize=1. FortiGate (SSLVPN) v400-build0320-rev.01 16
[173:root]LCP terminated by peer [173:root]ipcp: down ppp:0x4192a008 tun: 0x4192d008 ref 1 [173:root]sys-fortik.c:699 deassociate 172.16.1.1 to tun (19) [173:root]tun: delete device: 0x4192d008 [173:root]rmt_websession.c:1170 delete connection 0x95aeb28 w/ web session 0 [173:root]rmt_apsession.c:994 delete connection 0x4165b008 w/ app session 0 [173:root]tunnel_state.c:tunnelStateCleanup:664 0x4165b008::0x95978e0 [173:root]Destroy sconn 0x95aeb28, connsize=1. [173:root]Destroy sconn 0x4165b008, connsize=0. [173:root]SSL state:sslv2/v3 read client hello A:system lib(192.168.10.66) diagnose debug di [173:root]Destroy sconn 0x95aeb28, connsize=0. Ek Kaynaklar : http://docs.fortinet.com/fgt/handbook/40mr2/fortigate-sslvpn-40-mr2.pdf http://docs.fortinet.com/fgt/handbook/40mr2/fortigate-admin-40-mr2.pdf RZK Mühendislik ve Bilgisayar Sistemleri 1326. Sokak (Eski 71. Sk.) No:5 / 2-4 06460 Öveçler Ankara / Türkiye Tel:+90 (312) 472 15 30 Fax:+90 (312) 472 15 40 FortiGate (SSLVPN) v400-build0320-rev.01 17