Sunucum DDOS saldırıları altında ve bunu yapan IP'yi engellemek istiyorum, saldırganın IP'sini belirlemek için hangi günlükleri aramalıyım?
Sunucum DDOS saldırıları altında ve bunu yapan IP'yi engellemek istiyorum, saldırganın IP'sini belirlemek için hangi günlükleri aramalıyım?
Yanıtlar:
tail -n 10000 yourweblog.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more
En iyi IP adreslerine bir göz atın. Herhangi biri diğerlerinden öne çıkarsa, bunlar güvenlik duvarına olanlar olacaktır.
netstat -n|grep :80|cut -c 45-|cut -f 1 -d ':'|sort|uniq -c|sort -nr|more
Bu, bağlantı noktası 80'e bağlanan herhangi bir IP olup olmadığını görmek için şu anda etkin olan bağlantılara bakacaktır. IP adresi 45. sütunda başlamayabileceğinden, cut -c 45'i değiştirmeniz gerekebilir. web sunucunuz, bu da onu alır.
Bunlardan hiçbirinin norm dışı aşırı IP göstermemesi ihtimaline karşı, size saldıran bir botnetiniz olduğunu ve ne yaptıklarını görmek için günlüklerde belirli desenleri aramanız gerektiğini varsaymanız gerekir. Wordpress sitelerine karşı yaygın bir saldırı:
GET /index.php? HTTP/1.0
Web sitenizin erişim günlüklerine bakarsanız, aşağıdakilere benzer bir şey yapabilirsiniz:
cut -f 2 -d '"' yourweblog.log|cut -f 2 -d ' '|sort|uniq -c|sort -nr|more
size en sık kullanılan URL'leri gösterir. Sitenin tamamını yüklemek yerine belirli bir komut dosyasını kullandıklarını görebilirsiniz.
cut -f 4 -d '"' yourweblog.log|sort|uniq -c|sort -nr|more
sık kullanılan UserAgent'ları görmenizi sağlar. Saldırılarında tek bir UserAgent kullanıyor olabilirler.
İşin püf noktası, normal trafiğinizde bulunmayan saldırı trafiğiyle ortak bir şey bulmak ve ardından iptables, mod_rewrite veya webhost'unuzla yukarı akış yoluyla filtrelemektir. Slowloris ile vuruluyorsanız, Apache 2.2.15 şimdi Slowloris'e karşı daha iyi koruma sağlamak için bazı ayarları yapılandırmanıza izin veren reqtimeout modülüne sahiptir.
Burada bazı iyi ipuçları. Bunu da eklerdim:
netstat -an | grep ESTABLISHED | awk '\''{print $5}'\'' | awk -F: '\''{print $1}'\'' | sort | uniq -c | awk '\''{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'\''
Bunu bir takma ad altına yerleştirin (nn, örneğin). Bu size daha yerleşik bağlantıları olan ips'in "grafiksel" bir perspektifini verecektir.
Bu yardımcı olur umarım.
Bu işe yaramadı olanlar için ben Ubuntu altında benim için çalışır böylece sözdizimi sabit var:
netstat -an|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|awk '{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'
DOS saldırılarını kontrol etmek için favori günlük dosyalarım / var / log / secure (Redhat / Centos / Fedora .... altında) ve /var/log/auth.log (ubuntu, debian ... altında). Çoğu zaman sözlüğe dayalı saldırılar olmak üzere, saldırganın kaynak IP'sinden başarısız oturum açma girişimleri görürsünüz.
sunucumu korumak için basit bir betik Fail2Ban kullanıyorum
/ var / log / pwdfail veya / var / log / apache / error_log gibi günlük dosyalarını tarar ve çok fazla şifre hatası yapan IP'yi yasaklar. IP adresini reddetmek için güvenlik duvarı kurallarını günceller.
Hangi dağıtım?
Bence günlük /var/log/apache2/access.log altında Ubuntu ile ... Muhtemelen Debian.
Updatedb dosyasını sudo olarak çalıştırın, ardından komut satırından access.log dosyasını bulun.
DÜZENLEME: Sanırım bu sadece sayfalar isteyerek veya doğrudan bağlantı noktası 80 üzerinden size isabet ederse olacak. Başka bağlantı noktalarına isabet ederse, orada ihtiyacınız olan bilgileri görmeyeceksiniz. ve bu işlem için bağlantı günlüklerine göz atın.
Dağıtılmış bir DOS altındaysanız, kesinlikle engellenecek birden fazla IP var ve IP'ler sahte olabilir, ISS'nize mfinni'nin dediği gibi sormanız daha iyidir . Ayrıca bu sunucunuza karşı bir DOS daha fazla olabilir ama gerçek saldırı tespit edilmesini gizlemek için bir yem olabilir, bu yüzden maruz kalan tüm hizmetlerin güncel yazılım tarafından çalıştırıldığını kontrol edin. Ayrıca ilginizi çekebilir mod_dosevasive for apache.
Öncelikle DOS türünü belirlemelisiniz. Bazı saldırılar çok gizli ancak etkilidir (slowloris), bazıları o kadar ağırdır ki bir ISS'yi aşağı indirebilir (ICMP, ISS kaynağınızdan daha yüksek bir bant genişliğinden kaynaklanır).
DOS türünü belirledikten sonra, ISS'nizi arayın ve trafiği filtreleyip filtreleyemeyeceklerini sorun.
ICMP taşkınlarını o kadar ağır gördüm ki, akış yukarı ISP'den hedef IP'yi bir BGP topluluğu aracılığıyla filtrelemesini istemek zorunda kaldık.