FORTIGATE KULLANIMI VE YÖNETİMİ

Sergen can
9 min readMar 10, 2024

--

KURULUM VE İLK KONFİGÜRASYONLAR

Öncelikle, temiz bit Fortigate ve bir Kali linux sanal makine kurulumunu yaptım.

Fortigate’i açtıktan sonra bizi karşılayan CLI ekranında, daha önce ilk açılışta oluşturduğum kullanıcı adı ve şifre girişini yaptım. Bu işlemlerden sonra sıra ilk portu yapılandırmaya geldi.

config system interface

Yukarıdaki komut ile interfaceler üzerinde işlem yapacağımı belirtiyoruz ve interface moduna geçiyoruz.

edit port1

port1 üzerinde değişiklikler yapacağımı belirttim.

set mode static

Statik bir ip vereceğimiz için, statik mode’a geçilir.

set ip 192.168.1.145 255.255.255.0

Bu komut, 192.168.1.145 ip adresini, bu fortigate aracının belirtilen subnet ve ip bloğu üzerindeki arayüz adresi olarak tanımlamamızı sağlar.

set allowaccess http https ssh ping

Bu network üzerindeki arayüzünden hangi servislerin açılacağını belirtiyoruz.

Aslında port dediğimiz kısımlar, eğer fiziksel olarak düşünürsek, aşağıda olduğu gibi bir cihazın arkasında bulunan fiziksel girişlerdir diyebiliriz. Bu girişler farklı network adresleri alan bir çok ağı birleştirebilir.

Interface (arayüz) olarak adlandırdığımız şey ise, yine aşağıda bulunan resimde olduğu gibi, aslında bir fortigate cihazı olarak düşünürsek iki veya daha fazla network arasındaki ayaklarıdır.

ERİŞİM KONTROLÜ

Fortigate cihazıma kendi makinem ile aynı ip bloğu üzerinden ip verdiğim için, erişimi kendi makinemden ping atarak kontrol ediyorum. Bunlar yapılırken, Fortigate cihazımın port1 adresi bridged network üzerinde ve aynı ip bloğunda.

Erişim yok.

VMware üzerinden kendi network kartımı takıyorum ve erişim geliyor.

GUI ÜZERİNDEN YÖNETİM

Host üzerinden Fortigate cihazımızın aynı ip bloğunda bulunan interface adresine gittiğimizde, admin giriş ekranı üzerinden yönetim paneline giriş yapabiliriz.

Girişten sonra bizi bu şekilde bir ekran karşılayacaktır.

Yukardaki resimde gördüğümüz network kısmına tıkladığımızda, interfaces altında bizi portların bulunduğu ekran karşılayacaktır. Aşağıda da görmüş olduğumuz gibi port1'i zaten CLI arayüzünden yapılandırmıştık.

İKİNCİ ARAYÜZ YAPILANDIRMA

Şimdi birde ikinci bir arayüz oluşturalım ve bu arayüzü LAN olacak şekilde ayarlayalım. Bunun için Port2 noktasını yapılandıracağız ve Port2 üzerindeki Gateway adresimiz, aslında Fortigate cihazımıza, o interface üzerinde hangi ip adresini verdiysek o olacak. Bu durumun nedeni, Port2 bizim kullandığımız Host’un bulunduğu LAN’dan farklı bir LAN olacağı için, onunla doğrudan bir iletişimi olmayacak.

PORT 2 Yapılandırma

1- Yapılandırma için port2 noktamızı seçtikten sonra, Role olarak LAN veriyoruz.

2- DHCP manual olarak yapılandıracağımız için, manual seçeneğini seçiyoruz.

3- IP/Netmask kısmında, port1 üzerinde olduğu gibi port2 üzerinde de bu alt ağ ile konuşabilmesi için bir alt ağ maskesi ve bir ip adresini Fortigate’e tanımlıyoruz. Bu Fortigate cihazımızın bu LAN üstünde bulunan arayüzü oluyor.

4- Administrative Access kısmında, CLI üzerinde port1 için “Allowaccess” kullanarak tanımladığımız servisleri ve daha fazlasını port2 için bu sefer GUI üzerinden seçebiliyoruz.

5- DHCP server aktif ederek bir adres aralığı ve subnet mask girmemiz gerekiyor. Bu adres aralığında bulunan ip adresleri Port2 olarak tanımladığımız LAN üzerinde dağıtılacak ve girdiğimiz subnet, network kısmını belirleyecek.

Bu işlemlerin sonucunda yeni bir alt ağ oluşturmuş oluyoruz.

OLUŞTURDUĞUMUZ ALT AĞINA CLIENT EKLEME

Ben temiz bir Kali makines, kurdum ve bunu ekleyeceğim fakat başka makineler de eklenebilir.

Port2 üzerinde oluşturduğumuz ağa bu makineyi katmak için öncelikle VMware üzerinden LAN segment oluşturuyoruz.

Kali makinemi PORT2 olarak oluşturduğum LAN segmente alıyorum. Makine başlatıldığında herhangi bir Gateway olmadığı için internete çıkmayacak, DHCP görevini yapan kimse olmadığı için gerçek bir local ip alamayacak.

NOT: Bu kali cihaz farklı bir alt ağ üzerinde olduğundan dolayı, evinizde bulunan modem ile iletişim kuramaz, bundan dolayı da bizim Fortigate hem PORT1 olarak verdiğimiz alt ağ üzerinde bir arayüze ve ip adresine sahip, aynı zamanda da PORT2 olarak bir interface yapılandırdığımız için o porta kablo taktıktan sonra, PORT2 alt ağında bulunan herkesle de konuşabilir. Eğer bu Fortigate cihazın ikinci portuna bir “Ethernet kablo” takarsak ve bu kabloyu LAN segment üzerinde PORT2 olarak seçersek kali cihazımız ile aynı LAN segment ağında bulunacağı için konuşabilirler.

NOT: Panel üzerinden Port1,Port2 olarak yapılandırdığımız şeyler aslında Fortigate cihazının arkasında bulunan girişleri yapılandırma işlemiyken, bu arayüzü kullanmak ve iletişim kurmak için VMware üzerinden LAN segment olarak ayarladığımız şeyler kablolardır. Eğer bunları birbirine bağlamaz isek iletişim kurulmaz. Dikkat ettiyseniz Fortigate port sayısı ile Fortigate VMware üzerinde bulunan Network Adaptor sayısı aynıdır.

Artık DHCP olarak Fortigate cihazını kullanan kali makinesi bir local ip adresi aldı ama internete hala çıkamıyor. Bunun sebebi Fortigate cihazımızı Gateway olarak görmesi ve onun üzerinden internete çıkmaya çalışmasıdır.

Bu sorunu gidermek için bir Static Route kuralı yazarak, internete çıkmak isteyen tüm cihazların önce gerçek modemin ip adresine gitmesini ve onun üzerinden çıkmasını söyleyeceğim.

0.0.0.0/0 şeklinde belirttiğimiz Destination (hedef), gideceğimiz yerin internet olduğunu belirtiyor. Internet servisini sağlayan, Gateway adresini belirtiyoruz. En son bunun hangi port üzerinde olduğunu belirterek kuralımızı tamamlamış oluyoruz.

Bunları yapmamıza rağmen yine internete çıkamayacak. Bunun sebebi Firewall üzerinde bir kuralın bulunmamasıdır. Firewallar üzerinde tüm her şey engelli şekilde gelirler. Buraya da bir kural oluşturmamız gerekiyor.

1- Kural adını belirledim.

2- Incoming Interface ve Outgoing Interface kısmında port2'den port1 üzerine doğru bir kural yazıyoruz. Bunun nedeni port2 üzerinde bulunan Kali makinesinin internete çıkabilmesini sağlamak.

3- Source kısmında tüm kaynaklar için bu kuralların geçerli olacağını belirtiyoruz

4- Destination kısmında, tüm hedefler için bu kuralların geçerli olacağını belirtiyoruz.

5- Schedule kısmında, bu işlemlerin her zaman yapılacağını belirtiyoruz.

6- Service kısmında, tüm servisler için geçerli olacağını belirtiyoruz.

7- En son, bu belirtilen işlemleri engelleyecek mi yoksa izin mi verecek onu belirtiyoruz.

Kali makinemiz internete çıkabiliyor olcaktır.

FORTIGATE DNS YAPILANDIRMASI

Fortigate arayüz üzerinden DNS kısmına gelip, Specify seçeneğini seçerek, DNS sunucusunu yapılandırabilirsiniz.

ADDRESSES VE FIRAWALL YAPILANDIRMASI

Adresler ve Firewall kuralları beraber çalışır. Bu şu şekilde gerçekleşir;

Önce, Addresses sekmesine gidilerek bir yapı belirlenir. Bu yapı yazılacak kuralların kimleri ve neleri etkileyeceğini belirler. Aşağıda bulunan örnekte, Subnet, IP Range, FQDN, Georaphy, Dynamic, Mac Address olmak üzere farklı kategorize edilmiştir.

  • Subnet: Bir IP adresine veya belirli bir alt ağı gruplandırır.
  • IP Range: Belirli bir aralıktaki ip adreslerini gruplandırır.
  • FQDN: Bir veya daha fazla FQDN gruplandırır.
  • Geography: Belirli bir ülkeyi, bölgeyi gruplandırır.
  • Mac Address: Belirli bir Mac adresi veya Adreslerini gruplandırır.

Aşağıda oluşturduğum addresses yapısı sadece port2 arayüzünün alt ağında bulunan 192.168.5.50 makinasını (Kali) etkileyecektir. Bunun nedeni subnet değeri 32 dir.

Bir Address yapısı oluşturduğumuza göre, sıra Firewall üzerinde kural yazmaya geldi.

Aşağıda bulunan resim üzerinden ilerleyelim.

  • Önce Firewall kuralıma bir isim veriyorum.
  • Incoming Interface ve Outgoing Interface kısmında port2 den port1 e bir kural yazacağımı yani bu kuralın port 2 den port 1'e giderken uygulanacağını belirtiyorum. Bunun sebebi yukarıda yapmış olduğumuz işlemlerde, Static Route belirterek aslında port1 arayüzümüzü İnternete çıkış portu olarak ayarlamıştık. Port2 üzerinden internete çıkmak isteyen bir cihaz, port1'e gitmeliydi.
  • Source denen alana kimin, kimlerin, neyin veya nereden gidileceğin yani istemcinin kim olduğunu belirtiyoruz. Burada yazdığımız adres yapısını seçiyorum. Bunun anlamı, port2' de 192.168.5.50/32 ip adresinin istemci olduğu durumu etkileyecek bir kural yazdığımız.
  • Destination denen kısma kime, kimlere neye, nereye istek yapılacak yani Sunucuyu belirtiyoruz. Burada “all” diyerek tüm sunucuları etkileyecek bir kural yazdığımızı belirtiyoruz.
  • Schedule kısmına “always” diyerek, belirli bir zaman aralığı olmayan, her zaman geçerli bir kural yazdığımızı belirtiyoruz.
  • Service kısmına DNS, HTTP, HTTPS gibi servisleri ekliyorum. Bu işlem bu yazdığımız kuralın sadece bu servisler için geçerli olduğunu belirtiyor.
  • Son olarak ACCEPT seçeneğini seçiyorum ve yazdığımız kuralın bir “izin ver” kuralı olduğunu belirtiyorum.

Yukarıda oluşturduğumuz kuralı bir cümle olarak okursak şu şekilde bir cümle ortaya aşağıdaki gibi bir cümle çıkar.

Port2' den Port1'e giderken, Sadece_Sergen_Internet_Ciksin yapısında neyi gruplandırdıysan, o grup her zaman tüm sunucuların HTTP,HTTPS,DNS servislerini kullanabilsin.

Kuralımızı kaydettik ve yukarıdaki gibi bir kural tablomuz oldu. Unutmamak gerek aşağıda halen tüm her şeyi engelleyen bir default Firewall kuralı mevcut.

Kali makinem üzerinden ping işlemi yapamıyorum fakat “Trendyol.com” adresine rahatça gidebiliyorum. Bunun sebebi HTTP, HTTPS, DNS servislerine izin verdim fakat ICMP izni vermediğim için default Firewall kuralı ping atmamı engelliyor.

SCHEDULES VE SERVICES

Özelleştirilmiş bir zamanlama ve servis oluşturmamıza yarayan kısımlardır. Normal bir Firewall kuralı yazarken, Schedule kısmına özel bir zaman aralığı vermek istiyorsak, bunu Schedules sekmesi üzerinden oluşturabiliriz.

Aynı şey servisler içinde geçerlidir, eğer özel bir port için bir kural yazmak istersek bir servis oluşturarak bunu belirtebiliriz.

Yukarıdaki resimde de gösterdiğim gibi, burada Sergen_Service adında bir servis oluşturuyorum. Protocol tipini seçtikten sonra, Destination kısmına 8888 port numarasını yazıyorum. Bu 8888. portu hedef alan istekler üzerinde bu kuralın uygulanacağını belirtir. Source kısmına 3333. port üzerinden gelen istekler üzerinde oluşturacağımız kuralın uygulanacağını belirtir. Bu Services yapısının tam olarak okunuşu aslında şu şekildedir;

TCP kullanarak 8888. portu hedef alan ve aynı zamanda yapılan isteğin çıktığı port 3333. port olan istekler üzerinde bu kuralı uygula.

NOT: Bir source port belirtilmek zorunda değiliz, burası Specify Source Ports kısmından kapatılabilir. Yukarıdaki örnekte, Low ve High değerlere iki kere 8888 ve 3333 yazmamın sebebi sadece bir port üzerinden kural yazmak için bu Services yapısını kullanmak istememdendir, eğer belirli bir range verilmek istenirse, Low ve High değerler değiştirilerek bir Port aralığı verilebilir.

IP RESERVE

IP Reserve işlemi, aslında bir IP adresinin bir MAC adresine ayrılması ve başka bir MAC adresine, boş olsa dahi verilmemesidir. Bunun sebebi, DHCP sunucuları bir IP adresini bir istemciye verdikten belli bir süre sonra bu ip adresi düşer ve tekrar herkesin alabileceği şekilde dağıtılır. Bundan dolayı, bu belirlenen süreden sonra, bu IP adresinin eski sahibi gelip DHCP’den IP isterse eğer, eski IP adresi boş ise öncelikli olarak o verilir, değil ise yeni bir IP verilir. Bu durumların yaşanmaması için IP Reserve kullanılır. Boş bile olsa, rezerve edilen IP adresi rezerve edildiği MAC adresinden başka bir MAC adresine verilmez.

NOT: Yukarıda bahsettiğim kiralama süresi “lease time” olarak geçer ve DHCP sunucusu üzerinden ayarlanabilir.

VIRTUAL IP (PORT FORWARD)

Virtual IP kavramı, Fortigate sistemler üzerinde port forward anlamına gelir. Bu yapı dış ağ ip adresimize gelen istekleri içeride bulunan bir veya birden çok local ip adresine yönlendirmek için kullanılır.

Yukardaki örnekte, External ip adresi kısmına, dış(public) ip adresimizi yazıyoruz, Map to olan kısma ise local network üzerinde yönlendirmek istediğimiz ip adresini yazıyoruz. Port forward kısmında, External service port kısmına, public ip adresimizin hangi portuna gelen TCP isteklerini yönlendireceğimizi belirtiyoruz, burada 4444. portu belirledim. Map to kısmına, public ip adresimizin 4444. portuna gelen TCP isteklerini, belirlediğimiz local ip üzerindeki hangi porta yönlendirileceğini belirtiyoruz, burada 6666 olarak belirttim.

NOT: Port Forward işlemi yaparken Firewall üzerinde WAN’dan(internet ile iletişimimiz olan network), yönlendireceğimiz ip adresinin bulunduğu alt ağa doğru bir kural yazmamız gerekir. Daha önce LAN’dan WAN’a doğru yazdığımız kuralı, bu sefer ters şekilde yazarak Internet üzerinden gelen kişilerin erişebilmesini sağlamalıyız.

IP POOL

IP Pool dediğimiz yapı, bir local ip adresinin NAT işleminden geçtikten sonra belirli bir Public IP adresine veya aralığında bir adrese çevrilmesini sağlar. Bunun sebebi bazen firmalar black list ip adreslerinin bulunduğu listelere takılırlar, bunun olmaması için IP pool yapısı kullanılarak, ISP den alınan birden çok static public ip adresi girilerek, internet erişiminde kesinti veya aksaklıklar önlenir.

IP pool oluşturduktan sonra, firewall kuralı yazerken bu oluşturduğumuz yapıyı Dynamic IP Pool seçeneğini seçerek belirtebiliriz.

--

--

Sergen can
Sergen can

Written by Sergen can

CyberSecurity | CPTS | PJPT |

No responses yet