Merhaba, bu konuda size FortiGate marka bir firewall’da nasıl IPS filtreleri uygulayabileceğimizi göstereceğim.
Genel olarak kazanımlarınız:
- IPS mantığı
- IPS implementasyonu
- Örnek IPS filtrelemesi
- Özel IPS imzası ekleme
IPS Nedir?
IPS, ağdaki zararlı aktiviteleri tespit etmek ve engellemek için kullanılan bir güvenlik sistemidir.IPS’ler anomali keşfi veya imzalarla saldırıları tespit ederler. Firewall’larda trafiğin geçmesine izin verilen kurallarda filtre olarak eklenebilmektedir. Örnek topoloji olarak aşağıdaki görseli kullanacağım.
Görsel 1: Örnek Topoloji
İç Ağdan Sunucu Erişimi
Öncelikle detaya inmeden önce firewall’daki kural yapımızdan bahsedeyim. Bu topolojide 2 adet ağımız var. Birbirleriyle switch veya firewall’dan başka bir router’la birbirlerine bağlı değiller. Kurumsal ağlarda sunucu, personel, misafir ve yönetim ağı ayrı ayrı IP bloklarında, VLAN’larda veya firewall’lar için farklı interface’lerde olur. Böyle bir yapının olmadığı büyük ve kurumsal bir ağ güvenli olamaz.İç ağ ve sunucu ağının haberleşmesini firewall üstünden biz kontrol ediyoruz. Yani aralarında kural yazmamız gerekiyor. Kural, geçiş izni verirken istediğiniz kişilere göre kısıtlama yapabildiğiniz veya istediğiniz filtreleri ayarlayıp istediğiniz protokollerle erişim verebildiğimiz şekilde olmalı. Biz bu örnekte iç ağdan sunucuya doğru olan kuralımızda HTTP HTTPS ve RDP protokollerine izin vererek IPS filtresi açacağız. İç ağda IPS filtresi genelde tercih edilmese de aslında çok önemlidir. Çünkü topolojide de gördüğümüz gibi içerideki personelin bilgisayarına sızmış bir saldırgan sunucuya rahatlıkla erişememelidir.
Yazılı kural resimler biraz aşağıda.
Dış Ağdan Sunucu Erişimi
Dış ağdan sunucuya erişim vermek için port yönlendirmesi yapmak ve kural yazmak gerekiyor. Çok fazla detaya inmeden kuralından bahsedeyim. İnternetin olduğu firewall portundan sunucu ağının olduğu porta kural olması gerekiyor. Bu kuralda da bazı firewall’larda HTTP HTTPS için 443 ve 80’i açtığınızda protokol ayarlamanıza gerek yok ama biz yine de seçelim. Ayrıca bunda da IPS filtremizi seçiyoruz.IPS Filtreleri
Firewall’umuzun içinde kullanabileceğimiz şekilde hazır olan IPS filtreleri zaten bulunuyor. Biz bunlara ek olarak kendi IPS filtremizi de oluşturacağız.
Firewall IPS veritabanı kendisi ve CVE detaylarıyla birlikte zafiyetlere ve saldırılara karşı bir değerlendirme yapıyor ve ortaya severity değerleri çıkıyor. Severity, risk seviyesini gösteren bir ölçü. Burada “default” olarak hazır gelen IPS filtresinde severity’si critical olanlar block olarak ayarlanmış. Yani bu seviyedekiler tespit edilirse bloklanacak.
Görsel 2: FortiGate Firewall İçerisinde Gelen Hazır IPS Filtreleri
Biz kendi filtremizi oluşturalım ve hem cihazımızı yormamak için hem de doğru engelleme yapmak için IPS’imizi ayarlayalım. Intrusion Prevention menusune giriyoruz:
-Create New diyerek yeni IPS filtresi oluşturuyorum.
Görsel 3: IPS Filtresi oluşturma adımları
-IPS Signatures And Filters kısmından create new diyerek sunucuma özgü filtreleri ayarlıyorum.
Görsel 4: IPS Filtresi oluşturma adımları
- Action olarak Block seçiyorum.
- Packet Logging detaylı olarak analiz etmek isterseniz aktif loglama yapıyorsanız enable yapabilirsiniz.
- Status enable olmalı.
- Filtre kısmında ise Target olarak Server ve Client seçebiliyoruz. Biz Server koruyacağımız için Server seçtik. Severity olarak filtremiz block olacağı ve false positive’den başımız ağrımasını istemediğimiz için Criticial ve High seçtik.
Ekstra olarak sunucumuz farklı OS olsaydı mesela Linux, OS filtresiyle Linux seçebilirdik. Ben direkt server olarak seçtim. Linux'u da kapsıyor, Windows'u da.
- OK diyip filtreyi oluşturdum.
IPS filtrelerinde ne kadar spesifik ayarlar yaparsak o kadar performans alırız. Güvenlik arttıkça verimlilik düşüyor bu yüzden bu konuya da dikkat edilmeli.
Şimdi ise kurallarımızda yeni IPS filtremizi aktif edelim.
Görsel 5: İç ağdan sunucuya kısıtlı protokoller ve IPS ekli bir kural.
Görsel 6: Dış ağdan sunucuya port yönlendirme kuralı ve IPS filtresi.
IPS implementasyonumuzu tamamladık. Şimdi ise kendimiz yeni bir imza ekleyip yazıp çalışıp çalışmadığını test edelim.
FortiGate firewall’da imza syntax’ı diğer firewall’larda olduğundan farklı. Bazılarında böyle bir özellik de bulunmuyor. Deneme olarak sunucuya ping erişimini IPS imzasıyla engelleyelim. Normalde protokol olarak engellediğimiz için zaten bu kadar uğraşmaya gerek yok fakat IPS imza oluşturmayı da göstermek istiyorum.
IPS Signatures menüsünden yeni IPS imzası oluşturmak için Create New diyoruz ve isim yazdıktan sonra imzamızı giriyoruz.
Görsel 7: IPS imzası ekleme
İmza:
Kod:
F-SBID( --name "Block.Pinging.My.Sunucu"; --protocol icmp; --icmp_type 8; --icmp_code 0; --dst_addr 192.168.250.250; )
Arayüzden eklerken --name parametresini vermemize gerek yok fakat CLI'dan eklemek istersek yazmamız gerekecek. --protocol parametresiyle icmp olduğunu belirttik. --dst_addr olarak sunucumuzun IP'sini verdik. ICMP header options fortigate IPS engine olarak aratarak daha detaylı bilgiye ulaşabilirsiniz.
“sunucu_koruma” olarak oluşturduğumuz IPS filtresine giderek filter ayarlarından “Custom IPS Signatures” kısmında yeni imzamızı göreceğiz. Filtremize yeni imzamızı ekleyelim. Severity, OS, Target gibi birçok filtreleme özelliğini de ekleyebildiğiniz gibi, HTTP isteklerine göre de imza yazabiliyorsunuz. Daha detaylı araştırmayı Fortinet documentation ve community’sinden yapabilirsiniz.
Görsel 8: Sonuç
-sh
Son düzenleme: