Sunucu IDS/IPS Rehberi: Suricata ve OSSEC ile İhlal Tespiti ve Önleme
Sunucu IDS/IPS Rehberi: Suricata ve OSSEC ile İhlal Tespiti ve Önleme
Son Güncelleme: Mart 2026
Giriş: Bu rehber, sunucu güvenliği için IDS (İhlal Tespiti Sistemi) ve IPS (İhlal Önleme Sistemi) kavramlarını, Suricata (ağ tabanlı) ve OSSEC (host tabanlı) çözümlerini anlatır. Hem tespit (detection) hem de otomatik önleme (prevention) senaryoları, kurulum komutları ve pratik kullanım örnekleriyle ilerleyeceğiz.
Hedef: Bu makale, üretim (production) ortamında sunucu güvenliğini arttırmak isteyen sistem yöneticileri, DevOps mühendisleri ve güvenlik ekipleri için bir uygulama rehberidir.
İçindekiler
- IDS vs IPS Nedir?
- Suricata Kurulumu ve Temel Konfigürasyon
- OSSEC Kurulumu ve Agent Yönetimi
- Log Yönetimi ve Entegrasyon (ELK / Grafana)
- Örnek Kurulum: Ubuntu Sunucu (Suricata + OSSEC)
- Örnek Kurulum: CentOS/AlmaLinux Sunucu
- Tepki ve Otomatik Önleme Stratejileri
- Suricata vs OSSEC Karşılaştırma
- Sıkça Sorulan Sorular
- Sonuç
IDS vs IPS Nedir?
IDS (İhlal Tespiti Sistemi): Ağ veya sunucu etkinliklerini izleyerek şüpheli davranışları tespit eden (detection) sistemdir. Genelde uyarı (alert) üretir, ancak trafik akışını doğrudan kesmez.
IPS (İhlal Önleme Sistemi): Tespit edilen tehdidi otomatik olarak engelleme (prevention) kapasitesine sahip sistemdir; örneğin paketleri düşürmek, bağlantıyı sonlandırmak veya firewall kuralı eklemek gibi eylemler yapar.
NIDS vs HIDS
- NIDS (Ağ Tabanlı IDS): Ağ trafiğini izler; örnek: Suricata.
- HIDS (Host Tabanlı IDS): Tekil sunucuda dosya bütünlüğü, süreç ve log değişikliklerini takip eder; örnek: OSSEC.
Suricata Kurulumu ve Temel Konfigürasyon
Suricata açık kaynaklı bir NIDS/NIPS çözümüdür. Yüksek performanslı paket işleme (packet processing) ve çoklu çekirdek desteği sayesinde üretim ağlarında sık kullanılır.
Ön Koşullar
- Distro: Ubuntu, Debian, CentOS/AlmaLinux veya benzeri.
- Donanım: Yüksek ağ trafiği için yeterli CPU çekirdeği ve hızlı disk.
- Network Tap: SPAN/Mirror port veya hub/vtap ile trafiği yakalamak.
Ubuntu Örnek Kurulum Komutları
sudo apt update
sudo apt install -y suricata
# Varsayılan IDS modunda çalıştır
sudo systemctl enable --now suricata
Kurulum sonrası /etc/suricata/suricata.yaml dosyasını düzenleyin ve af-packet / pfring veya neth gibi yakalama methodunu seçin.
IDS Kuralları (Rules) ve Update
Suricata çoğunlukla Emerging Threats gibi kural setleriyle kullanılır. Kural güncellemesi için örnek:
sudo suricata-update
sudo systemctl restart suricata
Ayrıca özel kural eklemek için /etc/suricata/rules/local.rules kullanın. Örnek basit kural:
alert http any any -> any any (msg:"Test HTTP GET"; content:"GET"; sid:1000001; rev:1;)
OSSEC Kurulumu ve Agent Yönetimi
OSSEC (Host-based Intrusion Detection System - HIDS) dosya bütünlüğü, log analizi ve rootkit tespit özellikleriyle bilinir. Merkezi bir OSSEC sunucusu ve agent mimarisi vardır.
OSSEC Sunucu (Manager) Kurulumu Örnek - Ubuntu
wget -q -O - https://updates.atomicorp.com/installers/atomic | sudo bash
# veya kaynak koddan kurulumu tercih edebilirsiniz
# kaynak paketleri ve bağımlılıkları kurduktan sonra
sudo ./install.sh
Kurulum sırasında server seçeneğini işaretleyin. Agent ekleme örneği:
# Sunucuda
/var/ossec/bin/manage_agents
# Agent olustur, key al ve agent'e kurulum komutunu verin
# Ajan tarafta
sudo ./install.sh (agent olarak kurulum yapın ve key girin)
OSSEC Kuralları ve E-posta/Alert
OSSEC, loglardan ürettiği uyarıları e-posta veya webhook ile gönderebilir. Konfigürasyon dosyaları /var/ossec/etc/ossec.conf içindedir.
Log Yönetimi ve Entegrasyon (ELK / Grafana)
IDS/IPS ve HIDS uyarıları tek başına yeterli değildir; merkezi loglama ve korelasyon (correlation) önemlidir. En yaygın mimari ELK (Elasticsearch, Logstash, Kibana) veya Grafana + Loki şeklindedir.
Basit Veri Akışı
- Suricata: Evebox veya Eve JSON formatı ile Elasticsearch'e gönderilebilir.
- OSSEC: Syslog veya direkt Elasticsearch çıkışı ile entegre edilebilir.
Örnek: Suricata -> Filebeat -> Elasticsearch
# filebeat.yml örnek input
filebeat.inputs:
- type: log
paths:
- /var/log/suricata/eve.json
# ardından filebeat output'u elasticsearch'e yönlendirin
Örnek Kurulum: Ubuntu Sunucu (Suricata + OSSEC)
Bu bölümde, tek bir Ubuntu sunucuda Suricata'yı NIDS olarak izleme modunda çalıştırırken, OSSEC agent ile dosya bütünlüğü kontrolü yapmayı göstereceğiz. Prod ortamı için Suricata'yı ayrı bir monitoring sunucusunda veya SPAN portunda çalıştırmak tercih edilir.
- Güncelleme:
sudo apt update && sudo apt upgrade -y - Suricata Kur:
sudo apt install -y suricata suricata-dbg - OSSEC Agent Kur:
wget https://raw.githubusercontent.com/ossec/ossec-hids/master/install.sh sudo bash install.sh (agent seçenekleriyle) - Log Entegrasyonu: Filebeat ile
/var/log/suricata/eve.jsongönderimi. - Alert Playbook: Suricata ürettiğinde OSSEC veya firewall üzerinden otomatik IP engelleme.
Örnek Kurulum: CentOS/AlmaLinux Sunucu
CentOS/AlmaLinux üzerinde paket yöneticisine göre EPEL repo eklenip Suricata kurulumu yapılabilir. Özet adımlar:
sudo dnf install -y epel-release
sudo dnf install -y suricata
sudo systemctl enable --now suricata
OSSEC için benzer şekilde kaynak veya hazır paketlerden kurulum yapılır. Agent-server key exchange adımlarına dikkat edin.
Suricata vs OSSEC Karşılaştırma
| Özellik | Suricata | OSSEC |
|---|---|---|
| Tip | Network IDS/IPS (Ağ Tabanlı) | Host IDS (Sunucu Tabanlı) |
| Temel Görev | Paket analizi, protokol incelemesi | Dosya bütünlüğü, log analizi, rootkit tespiti |
| Önleme | Evet (IPS modunda paket düşürme/engelleme) | Sınırlı (lokal tepkiler, script çalıştırma) |
| Performans | Yüksek ağ trafiğinde çok çekirdekli optimizasyon | Düşük CPU ihtiyacı, I/O bağlıdır |
Tepki ve Otomatik Önleme Stratejileri
Uyarıları sadece görmek yerine, olaylara hızla yanıt vermek önemlidir. Otomatik önleme senaryoları örnekleri:
- Suricata -> Firewall: Kritik uyarılarda
nftveyaiptablesile IP engelleme. - OSSEC -> Script: Dosya bütünlüğü ihlalinde betik çalıştırma (ör. process kill, backup başlatma).
- SIEM Korelasyonu: Çoklu uyarı kombinasyonunda manuel müdahale çağırma.
Örnek: Suricata uyarısını iptables ile engelleme
# /etc/suricata/disable_ip.sh
#!/bin/bash
IP="$1"
iptables -I INPUT -s "$IP" -j DROP
# cron veya suricata alert handler içinden çağırın
Örnek: OSSEC active-response
OSSEC, active-response ile belirli kurallar tetiklendiğinde script çalıştırabilir. Konfigürasyonda active-response bölümüne eklenti yapın.
Pratik Kullanım Senaryoları
- Web Sunucusu Koruması: Suricata ile SQLi/XSS imza tespiti; OSSEC ile
wp-config.phpdeğişiklikleri izleme. - Mail Sunucusu: SMTP brute-force tespiti ve otomatik IP kara listeleme.
- Altyapı İzolasyonu: Kritik veritabanı sunucularını sadece gerekli portlara izin verecek şekilde NS/ACL ile sınırlandırın ve HIDS ile dosya bütünlüğünü izleyin.
Corelux Hizmetleri ile Entegrasyon
Üretim ortamı için yüksek erişilebilirlik (HA) ve ayrık izleme altyapısı önerilir. Corelux tarafından sunulan altyapı seçenekleri:
- Kiralık Sunucu: Özel donanım ihtiyacı olan izleme veya sensor sunucuları için Kiralık Sunucu.
- Sanal Sunucu (VPS/VDS): İzleme, ELK ve OSSEC Manager için Türkiye VPS Sunucu veya Türkiye VDS Sunucu.
- SSL ve Yedekleme: Uyarı-iletim ve güvenli API bağlantıları için SSL Sertifikası ve olay sonrası veri koruması için Yedekleme Hizmeti.
Sıkça Sorulan Sorular
1) IDS/IPS kurmak için hangi sunucu tipini tercih etmeliyim?
Cevap: Ağ trafiği izleme için yüksek bant genişliği ve çok çekirdekli CPU'ya sahip bir dedicated (kiralık) sunucu veya mirror/SPAN portuna erişimi olan bir sanal ağ ortamı tercih edilmelidir. Corelux'ta bu ihtiyaçlar için Kiralık Sunucu veya Türkiye VDS Sunucu seçenekleri değerlendirilebilir.
2) Suricata mı yoksa Snort mu tercih etmeliyim?
Cevap: Her iki çözüm de güçlüdür; Suricata çok çekirdekli performans, JSON çıktı ve modern protokol desteği nedeniyle yüksek trafikli ortamlarda avantaj sağlar. Seçim ihtiyaçlarınıza ve mevcut kural ekosistemine göre değişir.
3) OSSEC ile dosya bütünlüğünü nasıl izlerim?
Cevap: OSSEC'te /var/ossec/etc/ossec.conf üzerinden izlenecek dizinleri belirtin. Değişiklik algılandığında OSSEC uyarı üretir ve aktif yanıt (active-response) ile önlem alabilirsiniz.
4) Yanlış pozitif (false positive) nasıl azaltılır?
Cevap: Kural tuning (ince ayar) ve beyaz listeleme (whitelisting) ile sık kullanılan uygulama davranışlarını gözardı edin. Ayrıca SIEM korelasyonu ile çeşitli uyarıları eşleştirerek daha güvenilir alarmlar oluşturun.
5) Performans etkisini azaltmak için ne yapmalıyım?
Cevap: Suricata için çok çekirdekli mod, paket yakalama optimizasyonu (af-packet, pfring) ve gereksiz kuralların devre dışı bırakılması etkili yöntemlerdir. OSSEC için izlenen dosya sayısını sınırlayın ve I/O optimizasyonu uygulayın.
Sonuç
Sunucu güvenliğini güçlendirmek için ağ tabanlı (Suricata) ve host tabanlı (OSSEC) çözümleri birlikte kullanmak en etkili yaklaşımdır. Bu rehberde kurulum, kural yönetimi, log entegrasyonu ve otomatik önleme örnekleri sunduk. Üretim ortamı için Corelux'un Kiralık Sunucu veya Türkiye VPS Sunucu hizmetleriyle yüksek erişilebilirlik (HA) ve performans sağlayabilirsiniz.
Eğer profesyonel kurulum, kural tuning veya merkezi loglama entegrasyonu isterseniz, Corelux Hizmetler sayfasından ihtiyaçlarınıza uygun hizmetleri inceleyin.
Yazar
Boran BAR