Doğu-batı trafik çoğu kurumda en az görülen ama en çok risk taşıyan ağ yüzeyidir. Aynı veri merkezindeki servisler birbirleriyle konuştuğu için “iç trafik güvenlidir” varsayımı sessizce yerleşir. Oysa lateral movement, yanlış açılmış yönetim portları veya beklenmeyen bağımlılıklar çoğu zaman tam bu koridorda saklanır. Suricata, tüm ağı yeniden tasarlamadan bu akışı görünür kılmak için pratik bir başlangıç sağlar.
Hangi kullanım modeli hedefleniyor?
Bu rehberde inline engelleme değil, pasif profil çıkarma yaklaşımını ele alıyorum. Amaç:
- SPAN veya mirror port üzerinden kopyalanmış iç trafiği dinlemek
- EVE JSON çıktısıyla akış özeti toplamak
- En sık konuşan servis çiftlerini ve port dağılımını görmek
- Gerekirse daha sonra politika sıkılaştırmasına zemin hazırlamak
Bu model, özellikle zero-trust veya mikro segmentasyon öncesi mevcut davranışı anlamak için değerlidir.
Suricata kurulumu
Ubuntu tabanlı bir sensör düğümünde temel kurulum şöyle yapılabilir:
sudo apt update
sudo apt install -y suricata jq
sudo systemctl stop suricata
Sonrasında dinleme arayüzünü ve JSON çıktısını netleştirmek gerekir. Dağıtım paketine göre ana dosya genellikle /etc/suricata/suricata.yaml olur.
Kritik yapılandırma alanları
Profil çıkarma için aşağıdaki ayarlar yeterli bir temel sağlar:
af-packet:
- interface: ens224
cluster-id: 99
cluster-type: cluster_flow
defrag: yes
outputs:
- eve-log:
enabled: yes
filetype: regular
filename: /var/log/suricata/eve.json
types:
- flow
- dns
- http
- tls
flow çıktısı konuşan uçları ve hacmi, dns/http/tls çıktıları ise temel protokol bağlamını görmenizi sağlar. İlk aşamada agresif kural seti yüklemek yerine görünürlük odaklı kalmak daha doğrudur.
Servisi başlatma ve canlı kontrol
Yapılandırmadan sonra:
sudo suricata -T -c /etc/suricata/suricata.yaml
sudo systemctl enable --now suricata
sudo tail -f /var/log/suricata/eve.json
-T testi özellikle önemlidir; yanlış interface adı veya bozuk YAML nedeniyle servis sessizce başlamıyor olabilir.
Hızlı profil çıkarma sorguları
EVE JSON dosyasından en çok konuşan akışları çıkarmak için jq yeterlidir:
jq -r '
select(.event_type=="flow") |
[.src_ip, .dest_ip, .proto, .dest_port] | @tsv
' /var/log/suricata/eve.json | sort | uniq -c | sort -nr | head
Benzer biçimde beklenmeyen yönetim portlarını bulmak için:
jq -r '
select(.event_type=="flow") |
.dest_port
' /var/log/suricata/eve.json | sort -n | uniq -c | sort -nr | head -20
Bu sorgular tam güvenlik analizi yerine ilk davranış haritasını çıkarır. Özellikle belge dışı bağımlılıkları yakalamada çok işe yarar.
Operasyonel dikkat noktaları
- Mirror trafiği sensöre gerçekten geliyor mu, önce
tcpdumpile doğrulayın. - Yüksek hacimli omurga hatlarında disk büyümesi için log rotasyonu kurun.
- Zaman senkronizasyonu düzgün değilse akış korelasyonu bozulur.
- Aynı trafik birden fazla sensöre düşüyorsa sayım çarpılabilir.
Suricata sensörünü üretim sisteminin üzerine değil, ayrı bir gözlem noktasına koymak genellikle daha güvenlidir.
Sonraki adım ne olabilir?
Profil görünür olduktan sonra kurumun olgunluğuna göre şu adımlar değerlidir:
- Beklenmeyen akışlar için inceleme kuyruğu açmak
- Cilium, firewall veya ACL politikalarını bu gözleme göre daraltmak
- Kritik servis çiftleri için baseline çıkarmak
- Incident anında trafik sapmasını normal profille karşılaştırmak
Böylece Suricata sadece IDS aracı değil, kurumsal ağ observability bileşeni hâline gelir.
Sonuç
Suricata ile doğu-batı trafik profilleme, iç ağın karanlıkta kalan davranışını görünür kılmak için düşük sürtünmeli bir adımdır. Pasif izleme, net JSON çıktıları ve basit analiz komutlarıyla hangi servislerin ne yaptığına dair somut veri üretirsiniz. Bu da güvenlik sertleştirmesi, segmentasyon ve incident triage için çok daha sağlam bir temel sağlar.