IPS Filtre Uygulaması, Custom Signature ve Firewall Örneği

sh

Üye
31 Ara 2018
107
41
sh

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.
LHeSuDQb_o.png

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.
fS29Mts3_o.png

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.

To89z2SR_o.png

Görsel 3: IPS Filtresi oluşturma adımları
-IPS Signatures And Filters kısmından create new diyerek sunucuma özgü filtreleri ayarlıyorum.

Ns1S4jL3_o.png

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.

fEWLBpL9_o.png

Görsel 5: İç ağdan sunucuya kısıtlı protokoller ve IPS ekli bir kural.
xJuEhnyn_o.png

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.
RaA6oBOV_o.png

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.


qSr5va2A_o.png

Görsel 8: Sonuç

-sh
 
Son düzenleme:

ACE Veen

Uzman üye
4 Şub 2023
1,138
574
Belirsiz

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.
LHeSuDQb_o.png

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.
fS29Mts3_o.png

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.

To89z2SR_o.png

Görsel 3: IPS Filtresi oluşturma adımları
-IPS Signatures And Filters kısmından create new diyerek sunucuma özgü filtreleri ayarlıyorum.

Ns1S4jL3_o.png

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.

fEWLBpL9_o.png

Görsel 5: İç ağdan sunucuya kısıtlı protokoller ve IPS ekli bir kural.
xJuEhnyn_o.png

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.
RaA6oBOV_o.png

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.


qSr5va2A_o.png

Görsel 8: Sonuç

-sh
eline sağlık
 
  • Beğen
Tepkiler: sh
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.