IPS lisansı alınır, profil açılır, ilk hafta bir uygulama bozulur, profil “detect” moduna çekilir ve bir daha kimse dokunmaz. Bu senaryo şaşırtıcı derecede yaygın. Bu yazıda IDS ve IPS’in nasıl çalıştığına ve bu sonla karşılaşmadan nasıl devreye alınacağına bakıyoruz.
Fark yerleşimde başlar
Bu yazıda ağ tabanlı sistemlerden (NIDS/NIPS) söz ediyoruz. Sunucunun üzerinde çalışıp dosya, süreç ve log değişikliklerini izleyen host tabanlı IDS (HIDS) ayrı bir sınıftır.
- IDS (Intrusion Detection System): Trafiğin kopyasını izler. SPAN portu ya da TAP ile beslenir. Tespit eder, alarm üretir, trafiğe dokunmaz.
- IPS (Intrusion Prevention System): Trafiğin yolu üzerinde (inline) durur. Tespit ettiği paketi düşürebilir, bağlantıyı sıfırlayabilir.
Bu fark, iki sistemin risk profilini belirler. IDS yanılırsa yanlış bir alarm üretir. IPS yanılırsa meşru trafiği keser. IDS çökerse görünürlük kaybolur. IPS çökerse trafiğin ne olacağı fail-open ya da fail-closed tercihine bağlıdır.
Günümüzde ayrı IPS kutuları yerine çoğunlukla next-generation firewall’ların içindeki IPS motoru kullanılıyor. Mantık aynı; fark, performans yükünün firewall’un kendisine binmesi. Fail-open davranışı da buna göre değişir: ayrı inline IPS cihazlarında donanımsal bypass seçeneği bulunabilir; NGFW içindeki IPS’te ise motor aşırı yüklendiğinde ne olacağı cihazın ayarına bağlıdır. Firewall’un kendisi tamamen durursa trafiğin akıp akmayacağı tasarıma bağlıdır: HA kümesinde diğer üye devralır, tek cihazlı yapıda ise ancak önünde bir bypass mekanizması varsa trafik akmaya devam eder.
Nasıl tespit eder?
İmza tabanlı
Bilinen saldırıların paket desenleri bir veritabanında tutulur ve trafik bu desenlerle karşılaştırılır. Güçlü yanı: bilinen saldırılarda isabetli ve açıklanabilir sonuç verir. Zayıf yanı: veritabanında olmayan saldırıyı görmez. İmza güncellemesi aksarsa koruma da yaşlanır.
Anomali tabanlı
Önce “normal” trafiğin profili çıkarılır, sonra bu profilden sapmalar işaretlenir. Bilinmeyen saldırıları yakalama potansiyeli vardır. Ama “normal”in tanımı zordur: kampanya dönemindeki trafik artışı, yeni bir yedekleme işi ya da ay sonu raporları da sapmadır.
Protokol analizi
Trafiğin protokol standardına uyup uymadığına bakar: beklenmeyen alanlar, aşırı uzun başlıklar, sıra dışı komutlar. Birçok istismar girişimi standart dışı protokol davranışıyla başlar.
Pratikte bu yöntemler birlikte kullanılır.
Yanlış pozitif ve yanlış negatif
- Yanlış pozitif: Meşru trafik saldırı sanılır. IDS’te gürültü, IPS’te kesinti demektir.
- Yanlış negatif: Saldırı fark edilmez. Sessizdir; ancak olaydan sonra anlaşılır.
| Gerçek durum | Sistemin kararı | Sınıflandırma |
|---|---|---|
| Saldırı var | Alarm var | Doğru pozitif (TP) |
| Saldırı yok | Alarm var | Yanlış pozitif (FP) |
| Saldırı var | Alarm yok | Yanlış negatif (FN) |
| Saldırı yok | Alarm yok | Doğru negatif (TN) |
İkisi arasında bir denge vardır. Hassasiyeti artırmak yanlış negatifi azaltır ama yanlış pozitifi artırır. Bu dengeyi kuran işlem tuning’dir ve bir kerelik değil, sürekli yapılan bir iştir.
Örnek saha senaryosu: meşru istek SQL injection sanıldı
IPS’i engelleme moduna aldıktan sonra muhasebe uygulamasının rapor ekranı çalışmamaya başlıyor. Log’da, uygulamanın rapor filtresini URL parametresinde gönderdiği isteklerin bir SQL injection imzasına takıldığı görülüyor. Doğru müdahale sırası:
- Log’dan imza numarasını, kaynak ve hedefi ve tetikleyen isteği çıkar.
- Uygulama sahibiyle isteğin gerçekten meşru olduğunu doğrula. Bu adım atlanırsa gerçek bir saldırıya istisna yazmış olabilirsin.
- İstisnayı en dar haliyle yaz: bu imza, bu kaynak segment, bu sunucu ve mümkünse bu URL yolu.
- IPS profilini kapatma ve imzayı tüm ağ için devre dışı bırakma. İkisi de sorunu çözer ama korumayı da götürür.
- İstisnayı açıklama ve tarih ile kaydet; periyodik gözden geçirmede yeniden değerlendir.
Yanlış pozitiflerin asıl tehlikesi kesintiden de büyüktür: alarm yorgunluğu. Günde binlerce alarm üreten bir sisteme ekip bakmayı bırakır. Gerçek saldırı da o binlerce alarmın arasında kaybolur.
Şifreli trafik sorunu
Trafiğin büyük çoğunluğu artık TLS ile şifreli. IPS, şifresini çözemediği trafikte paket içeriğine (payload) bakamaz; uygulama katmanındaki saldırıların çoğu görünmez olur. Şifreli trafikte neyin görünür kaldığı ise protokolün sürümüne bağlıdır:
- TLS 1.2: Sunucu sertifikası el sıkışmada açık gider. IPS sertifikayı ve sunucu adını (SNI) görebilir.
- TLS 1.3: Sunucunun sertifika mesajı şifrelenir (RFC 8446). SNI genellikle hâlâ açıktır.
- ECH (Encrypted Client Hello): Mart 2026’da RFC 9849 ile standartlaştı. Kullanıldığı bağlantılarda gerçek sunucu adı da şifrelenir.
- QUIC / HTTP/3: UDP 443 üzerinden çalışır ve el sıkışmayı QUIC’in içinde taşır. TCP üzerindeki TLS için kurgulanmış denetim bu trafiği aynı şekilde görmeyebilir. Bazı kurumlar QUIC’i engelleyip tarayıcının TCP üzerinden TLS’e düşmesini tercih eder.
Geriye kalan IP, port, akış davranışı ve erişilebilen meta verilerle yapılan analiz yine değerlidir ama içerik denetiminin yerini tutmaz. İçeriği denetlemek için TLS’in sonlandırıldığı ya da çözüldüğü bir nokta gerekir.
Seçenekler:
- TLS denetimi (decryption): Firewall trafiği açıp inceler. Performans maliyeti yüksektir; sertifika yönetimi, gizlilik ve hukuki uyumluluk gerektirir. Bankacılık, sağlık gibi kategoriler genelde denetim dışında bırakılır.
- Sunucu önünde denetim: Kendi sunucuların için TLS’i yük dengeleyici ya da WAF üzerinde sonlandırıp içeriği orada incelemek.
- Uç nokta görünürlüğü: İçeriğin zaten çözülmüş olduğu cihazın kendisinde (EDR, HIDS) tespit.
Kısacası içerik, TLS’in sonlandırıldığı her noktada (ters proxy, yük dengeleyici, WAF, uygulama sunucusu) ve uç noktada görülebilir. Tasarım sorusu, denetimi bu noktalardan hangisinde yapacağındır.
“IPS’imiz var” demek, şifreli trafikte ne gördüğünü bilmeden eksik bir cümledir.
İşi bozmadan devreye almak
- Varlıkları tanı. Neyi koruyorsun? Bir Linux web sunucusu için Windows imzalarını açmak yalnızca yük ve gürültü getirir. Profili korunan sistemlere göre daralt.
- Önce izle. İlk dönemde tüm imzalar yalnızca alarm üretsin. Bu dönemde trafiğin “normal” alarm profilini çıkar.
- Yanlış pozitifleri ayıkla. Tekrarlayan alarmları incele. Meşru olanlar için istisnayı dar yaz: belirli imza, belirli kaynak, belirli hedef. Tüm imzayı kapatmak son çare.
- Kademeli engelle. Önce yüksek güvenilirlikli ve kritik imzaları engellemeye al. Sonuçları izle, sonra kapsamı genişlet.
- Kesinti planı yap. Inline IPS’in fail-open/fail-closed davranışını belirle ve test et. Bakım sırasında trafiğin nasıl akacağını bil.
- Güncel tut ve gözden geçir. İmza güncellemeleri otomatik olsun. İstisnalar periyodik olarak yeniden değerlendirilsin; bir yıl önce gereken istisna bugün açık bir kapı olabilir.
Üretici yaklaşımları
| Üretici | Ürün / yaklaşım | Kapsam |
|---|---|---|
| Huawei | USG / HiSecEngine IPS | Ağ trafiğinde saldırı önleme. IPS, içerik güvenliği profillerinden biri olarak güvenlik politikasına bağlanır |
| Cisco | Secure Firewall (FTD), Snort motoru | Ağ trafiğinde saldırı önleme. Saldırı politikaları erişim kontrol kurallarına bağlanır |
| Fortinet | FortiGate IPS sensor | Ağ trafiğinde saldırı önleme. Sensor profili firewall politikasına uygulanır, imzalar FortiGuard ile güncellenir |
Sonuç
IDS görür, IPS görür ve müdahale eder. Ama ikisinin de değeri kurulumdan değil, tuning’den gelir. Detect modunda unutulmuş bir IPS, lisansı ödenmiş bir IDS’ten fazlası değildir. Şifreli trafikte neyi görüp neyi göremediğini bilmek ise güvenlik mimarisinin dürüst haritasını çıkarmanın ilk adımıdır.
IPS izin verilmiş trafiğin içindeki tehdide bakar; hizmetin kendisini hedef alan saldırılar ise başka bir katmanın işidir. Bunu DDoS yazısında ele aldık.
Kaynaklar
- NIST SP 800-94: Guide to Intrusion Detection and Prevention Systems (IDPS)
- RFC 8446: The Transport Layer Security (TLS) Protocol Version 1.3
- RFC 9849: TLS Encrypted Client Hello
- Huawei: FAQs About Intrusion Prevention (HiSecEngine USG6000F, USG6000G ve USG12000 Troubleshooting Guide)
- Cisco Secure Firewall: Configure an Access Control Rule to Perform Intrusion Prevention (Snort 3)
- Fortinet: FortiGate Administration Guide, Configuring an IPS Sensor