Merhabalar,
Bu makalede, Fortigate Firewall üzerinde yaşanabilecek bir problem çözümüne dair bilgiler aktaracağım.
Problemin belirtilerinin ne olduğunu da şöyle kısaca açıklamaya çalışayım.
Problemin belirtisi
Örneğin bir erişim kuralı yazdınız, dışardan içeriye erişim sağlayacak IP vs tüm tanımları yaptınız. Normal şartlarda bu kuralın çalışması gerek değil mi? 🙂 Evet çalışır elbette, ama bazı durumlarda, belli bir süre çalışır. Sonra bir bakarsınız ki, erişim izni verilmiş olan IP’ler bloklanmış, yani BAN’lanmış duruma gelmiş. Bloğu kaldırırsınız, belli bir süre yine çalışır ve sonra tekrardan bu IP adresleri bloklanır ve erişim problemleri görürsünüz. Loglara baktığınızda da aşağıdaki gibi Deny:policy violation loglarını görürsünüz.
Bu logların detayında ise aşağıdaki gibi bir Threat ID 131072 (Tehdit kimliği) ve Threat score 30 (Tehdit puanı) bildirim durumunu görebilirsiniz.
Problemin teşhisi ve açıklaması
Tehdit Kimliği 131072, Tehdit Düzeyi High ve Tehdit Puanı 30 olan trafik, herhangi bir kural tarafından reddedildiğinde (deny) loglarda gösterilir. Bunun nedeni, trafiğin bir politika tarafından engellendiğini gösteren tehdit ağırlığı (threat-weight) özelliğidir. Konfigürasyon logları tehdit ağırlığı ayarı altında, aşağıda gösterildiği gibi engellenen bağlantılar için, tehdit düzeyi varsayılan olarak yüksek olarak etkinleştirilir.
Tehdit kimliği 131072’nin, ikili düzendeki karşılığı 100000000000000000’e eşittir. 1, trafiğin, tehdit ağırlığı altında engellenen bağlantıyla eşleştiği anlamına gelir. Bu tehdit 131072, UTM’nin etkinleştirildiği kurallar için, UTM loglarında görülen tehdit kimliğinden farklıdır.
Problemin nedenleri
Bir Action:Accept kuralı yazdığınızda, UTM özelliklerini etkinleştirmediyseniz ama tehdit ağırlığı yüksek olan bir durum ortaya çıkmışsa oluşur. Yani bu durumda UTM özelliklerindeki varsayılan tehdit kimliği ile, bu kurala gelen tehdit derecesi yüksek olarak algılanır. Fakat izin verilmiş olan kural tarafında oluşan tehdit kimliği ile birbirlerinden farklı durumda olacaklar. Dolayısıyla bu durumda, firewall doğası gereği, izinli olup olmadığının önemi kalmayacak ve bloklanacak. Biraz karışık oldu sanırım bu açıklama 🙂
Aynı şekilde deny kuralı yazdığınızda da bu hata oluşuyorsa, kontrol edeceğiniz nokta yine burası olmalıdır.
UTM özelliklerini, bir kuralı yazarken aşağıdaki gibi göreceksiniz. Benim test ortamımda, accept kuralı yazdım ve aşağıdaki özellikleri aktif etmedim.
Problemin çözümü
Çözüme yönelik yapacağımız işlem, threat-weight konfigürasyon parametrelerindeki blocked-connection değerini high olarak işaretlemek olacaktır.
CLI arabirimini açıyoruz ve aşağıdaki komutları uyguluyoruz. CLI arabirimine, sağ üst köşedeki seçeneklerden ulaşabilirsiniz.
# config log threat-weight
set blocked-connection high
end
Bu işlemden sonra, erişmesi gerekirken bloklanmış olan IP’lerin bloğunu kaldırdığınızda, artık bloklanmadığını ve kuralın istediğiniz şekilde çalıştığını görebilirsiniz.
Yararlı olması dileğiyle.
Yusuf İşleyen