Fortigate Firewall – Admin Login Failed Otomatik IP Engelleme ve Coğrafi Erişim Kısıtlaması Yapılandırması
Merhabalar;
Fortigate güvenlik duvarı üzerinde başarısız yönetici oturum açma denemelerini (Admin Login Failed) tespit ederek ilgili kaynağı otomatik olarak engelleyen bir otomasyon yapısının CLI üzerinden nasıl oluşturulacağını anlatmaya çalışacağım.
Bu yapılandırma sayesinde Türkiye lokasyonundan gelen yönetim erişimlerine izin verilecek, diğer tüm ülkelerden gelen bağlantı talepleri otomatik olarak reddedilecektir. Fortigate’in Automation Stitch, CLI Script, Service, Address Group, Geo-Location Address ve Local-In Policy bileşenlerinin birlikte kullanılmasıyla gerçekleştirilmektedir.
Bu bileşenlerin doğru şekilde yapılandırılması sonucunda sistem, yönetim arayüzüne yönelik olası yetkisiz erişim girişimlerini otomatik olarak engeller ve yalnızca tanımlı coğrafi bölgeden erişimlere izin verir.
Bu sayede hem yönetim güvenliği artırılır hem de dış tehditlere karşı proaktif bir savunma mekanizması oluşturulmuş olur.
Adım – 1: CLI üzerinden Admin HTTPS Servis Oluşturma
Fortigate üzerindeki yönetim trafiği için özel bir servis portu tanımlanır. Bu örnekte, yönetim arayüzü 8282 numaralı TCP portu üzerinden çalışacak şekilde öncesinde ayarlanmıştır. Kurumunuzda kullanılan servis portuna göre düzenlemeleri sağlayabilirsiniz.
|
1 2 3 4 5 6 |
config firewall service custom edit "ADMIN_HTTPS_8282" set category General set tcp-portrange 8282 next end |
Not: Port numarasını kurum standartlarına göre özelleştirebilirsiniz.
Adım – 2: “Blocked-IPs” Adres Grubu Oluşturma
Otomatik olarak engellenecek IP adresleri bu grupta toplanacaktır. Automation Stitch tarafından oluşturulan IP kayıtları buraya eklenecektir.
|
1 2 3 4 |
config firewall addrgrp edit "Blocked-IPs" next end |
Adım – 3: “Geo-Turkey” Coğrafi Bölge Oluşturma
Sadece Türkiye’den gelen yönetim erişimlerine izin vermek için coğrafi adres tanımı yapılır.
|
1 2 3 4 5 6 |
config firewall address edit "Geo-Turkey" set type geography set country "TR" next end |
Adım – 4: “ADMIN LOGIN FAILED” Trigger Tanımı
Bu tetikleyici (trigger), Fortigate üzerinde başarısız yönetici giriş denemeleri (Log ID: 32002) gerçekleştiğinde otomatik olarak devreye girecektir.
|
1 2 3 4 5 6 |
config system automation-trigger edit "ADMIN LOGIN FAILED" set event-type event-log set logid 32002 next end |
Log ID 32002, Fortigate sistem loglarında “Admin login failed” olayını temsil eder.
Adım – 5. “WAN_IP_BLOCK” Automation Stitch Tanımı
Trigger tarafından tetiklendiğinde, belirlenen CLI Script çalıştırılacak ve başarısız giriş yapan IP adresi otomatik olarak “Blocked-IPs” grubuna eklenecektir.
Öncelik CLI Script Oluşturalım
Bu script Otomatik olarak engellenecek IP adreslerini oluşturur ve Blocked-IPs grubuna ekler.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
config system automation-action edit "CLI Script Admin Login Failed Block" set action-type cli-script set script "config firewall address edit \"auto_block16_%%log.srcip%%\" set subnet %%log.srcip%% 255.255.0.0 next end config firewall addrgrp edit \"Blocked-IPs\" append member \"auto_block16_%%log.srcip%%\" next end" next end |
Stitch Oluşturalım
Bu script WAN_IP_BLOCK adında stitch oluşturur ADMIN LOGIN FAILED trigger’ini tetikler ve CLI Script Admin Login Failed Block aksiyonunu alır.
|
1 2 3 4 5 6 |
config system automation-stitch edit "WAN_IP_BLOCK" set trigger "ADMIN LOGIN FAILED" set action "CLI Script Admin Login Failed Block" next end |
Açıklama:
- %%log.srcip%% → Log kaynağındaki IP adresi otomatik olarak alınır.
- Bu adres “Blocked-IPs” grubuna eklenir.
- Böylece her başarısız giriş denemesinde yeni bir adres tanımı yapılır ve engellenir.
Adım – 6: Local-In Policy Tanımları
Fortigate’in kendi yönetim trafiğini filtrelemek için Local-In Policy kullanılır. Bizde bu policyle gerekli düzenlemelerimizi yapalım.
Kural 1: Blocked-IPs için Engelleme
|
1 2 3 4 5 6 7 8 9 |
config firewall local-in-policy edit 1 set intf "wan1" # WAN portu hangi arabirimse ona göre düzenlenmesi gerekiyor set srcaddr "Blocked-IPs" set dstaddr "all" set service "ADMIN_HTTPS_8282" set schedule "always" set action "deny" next |
Kural 2: Türkiye IP’lerine Erişim İzni
|
1 2 3 4 5 6 7 8 9 |
edit 2 set intf "wan1" # WAN portu hangi arabirimse ona göre düzenlenmesi gerekiyor set srcaddr "Geo-Turkey" set dstaddr "all" set service "ADMIN_HTTPS_8282" set schedule "always" set action "accept" next end |
Bu yapılandırma sayesinde, Fortigate firewall cihazınız yönetici arayüzüne yönelik başarısız giriş denemelerini otomatik olarak tespit eder, saldırgan IP’leri engeller ve yalnızca belirli ülkelerden gelen yönetim trafiğine izin verir.
Bu yöntem hem otomatik saldırı önleme (brute force protection) hem de coğrafi erişim kısıtlaması (Geo-Restriction) açısından etkili bir güvenlik katmanı sağlayacaktır.
Faydalı olması dileğiyle.