1. HTTP Trafik Analizi ve Sistem Günlükleri
HTTP trafiğini analiz etmek için Linux sunucuları üzerindeki sistem günlüklerini kullanabilirsiniz. Özellikle
/var/log/auth.log veya
/var/log/secure gibi günlük dosyaları, SSH ve HTTP trafiğine dair önemli bilgiler içerir. Aşağıdaki komut dizini,
netstat,
grep, ve
awk gibi komutları kullanarak günlük dosyalarını tarayarak, belirli IP adresleri veya kullanıcı adları arasında anormallikleri tespit edebilirsiniz:
netstat -pant | grep :80 | awk '{ print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
Bu komut dizini, 80 numaralı (HTTP) portu dinleyen IP adreslerini ve bu IP adreslerinin sayılarını listeleyecektir. Böylece, HTTP trafiğinde potansiyel olarak anormal veya fazla kullanılan IP adreslerini belirleyebilirsiniz.
TCP SYN bağlantıları oluşturan IP adreslerini ve bu IP adreslerinin sayılarını tespit
Bu komut dizini, TCP protokolü üzerinde 80 numaralı (HTTP) portu dinleyen, TCP SYN bağlantıları oluşturan IP adreslerini ve bu IP adreslerinin sayılarını tespit eder. Bu, sunucunuza gelen SYN bağlantılarına ilişkin bilgileri görüntülemenize yardımcı olur.
netstat -ntu grep :80 | grep SYN | awk '{print $4}' | cut -d: -f1 | sort | uniq -c | sort -n
İşlemleri adım adım açıklayalım:
netstat -ntu: Bu komut, TCP (nt) protokolünü kullanarak aktif bağlantıları listeler ve adresleri nümerik (IP adresleri ve port numaraları) olarak gösterir.
grep :80:
netstatçıktısında 80 numaralı (HTTP) portla ilgili satırları filtreler.
grep SYN:
grepkomutunun çıktısından sadece SYN (synchronization) durumu olan TCP bağlantılarını filtreler. SYN bağlantıları, yeni bir bağlantı isteğini ifade eder ve potansiyel olarak SYN taramaları gibi saldırı girişimlerini belirlemek için kullanışlıdır.
awk '{print $4}':
grepkomutunun çıktısından sadece dördüncü sütunu (IP adresleri ve port numaraları) alır.
cut -d: -f1:
awkkomutunun çıktısından sadece IP adreslerini alır ve “:” karakterine göre ayırır, böylece IP adreslerini alır.
sort: Alınan IP adreslerini sıralar, bu sayede aynı IP adreslerinin yan yana olması sağlanır.
uniq -c: Sıralanmış IP adreslerini ve sayılarını alır, yani her bir IP adresinin kaç kez tekrarlandığını sayar.
sort -n: IP adreslerinin sayısına göre sonuçları küçükten büyüğe sıralar, yani en çok SYN bağlantısı oluşturan IP adreslerini en üstte listeler.
Fail2Ban ve DenyHosts
Fail2Ban ve DenyHosts, tekrarlayan başarısız SSH giriş denemelerini izleyerek belirli IP adreslerini engelleyen araçlardır. Bu araçlar, otomatik olarak IP adreslerini belirli bir süre için engeller ve saldırganların sisteme erişimini kısıtlar. Bu şekilde, potansiyel saldırıları engellemek ve sisteminizin güvenliğini artırmak için etkili bir çözümdür.
Anomalileri İzleme ve IPS/IDS Kullanımı
Sistem kayıtlarını ve ağ trafiğini düzenli olarak izlemek, alışılmadık etkinlikleri ve düzensiz trafiği tespit etmek için önemlidir. İntrusion Prevention System (IPS) ve Intrusion Detection System (IDS) gibi güvenlik sistemleri, anormal trafiği ve saldırı girişimlerini izleyerek önlem almanıza yardımcı olur.
Güçlü Şifre Politikaları
Güçlü ve karmaşık şifre politikaları kullanarak, sistemdeki kullanıcıların güvenliğini sağlamak önemlidir. SSH erişimine izin verilen kullanıcıların güçlü şifreler kullanmasını sağlayarak, saldırı şansını azaltabilirsiniz.
Linux sistemlerde HTTP trafiğini izlemek ve potansiyel saldırıları tespit etmek, güvenlik açısından kritik bir adımdır. Yukarıda verilen komut dizini, sisteminizi güvende tutmak için temel bir adım olabilir. Ancak, sistem güvenliği konusunda sürekli olarak güncel kalmanız ve güvenlik önlemlerini düzenli olarak gözden geçirmeniz önemlidir.