Amazon EC2'ye bir DDOS saldırısını nasıl önleyebilirim?


46

Kullandığım sunuculardan biri Amazon EC2 bulutunda barındırılıyor. Birkaç ayda bir, bu cihaza bir DDOS krizi geçiriyoruz. Bu, sunucuyu inanılmaz şekilde yavaşlatır. Yaklaşık 30 dakika ve bazen tekrar başlattıktan sonra her şey normale döndü.

Amazon'da güvenlik grupları ve güvenlik duvarı var, ancak bir saldırıyı hafifletmek veya önlemek için EC2 sunucusunda başka ne yapmalıyım?

Öğrendiğim benzer sorulardan:

  • Talep oranını / dakikayı (veya saniye olarak) belirli bir IP adresinden IP tabloları gibi bir şeyle (veya belki de UFW?) Sınırlandırın
  • Böyle bir saldırıda hayatta kalabilmek için yeterli kaynağa sahip - veya -
  • Web uygulamasını muhtemelen elastik olacak / elastik bir yük dengeleyicisine sahip olacak ve bu kadar yüksek bir talebi karşılayacak şekilde hızlıca yükseltebilir)
  • MySql kullanıyorsanız, mySql bağlantılarını sıralı şekilde çalışacak şekilde ayarlayın, böylece yavaş sorgular sistemi tıkamaz

Başka neyi özlüyorum? Belirli araçlar ve yapılandırma seçenekleri (burada Linux kullanarak) ve / veya Amazon EC2'ye özgü herhangi bir şey hakkındaki bilgileri çok isterim.

ps: DDOS'un izlenmesi ile ilgili notlar da memnuniyetle karşılanacaktı - belki nagios ile? ;)


Bunu önlemek neredeyse imkansızdır ancak güvenlik açığınızı kesinlikle azaltabilirsiniz.
Belmin Fernandez

1
Çok doğru. Ve kırılganlığın azaldığını tartışan cevaplardan memnun olurum :)
cwd

Nasıl önleneceğini bilmek için, saldırının doğası hakkında daha fazla bilgi sahibi olmak gerekir. Bir sele taşkın mıydı? Vurulması pahalı bir web sayfası var mıydı? başka bir hizmet miydi?
yahni

Bir web sayfası olduğunu düşünüyorum ama emin değilim. Bunları izlemeyle ve araştıran ipuçları da memnuniyetle karşılarım. Erişim kayıtlarının bazıları zaten silindi; başka ne aramalıyım?
cwd

ve aslında, eğer bir yeniden başlatma sorunu düzeltirse, o zaman ne olabileceğini bilmiyorum, belki de sunucunuzda bir yerde bir kaynak sızıntısı var. Bir yeniden başlatma kesinlikle bir DDoS'u kendi başına durduramaz. Bunun bir DDoS olduğunu nereden biliyorsun?
güveç

Yanıtlar:


36

Bir DDOS (hatta bir DOS) özünde kaynak tükenmesidir. Darboğazları ortadan kaldıramayacaksınız, çünkü onları daha da uzaklaştırabiliyorsunuz.

AWS'de şanslısınız, çünkü ağ bileşeni çok güçlü - yukarı akış bağlantısının doymuş olduğunu öğrenmek çok şaşırtıcı olurdu. Bununla birlikte, CPU ve ayrıca disk G / Ç, taşması çok daha kolaydır.

En iyi eylem yolu, bazı izlemeye (SAR gibi yerel, Nagios ve / veya ScoutApp ile uzaktan) ve bazı uzaktan kayıt tesislerine (Syslog-ng) başlamaktır. Bu tür bir kurulumla, hangi kaynakların doygun hale geldiğini belirleyebileceksiniz (Syn sel nedeniyle ağ soketi; kötü SQL sorguları veya tarayıcıları nedeniyle CPU; EBS birimlerinde (daha sonra günlükleri incelemek için) günlük bölümünüzün (uzaktan günlüğe kaydetme özelliğini etkinleştirmediyseniz) bulundurmayı unutmayın.

Saldırı web sayfalarından gelirse, erişim günlüğü (veya eşdeğeri) çok yararlı olabilir.


Sen "yük dayalı" bölümüne göz atmak isteyebilirsiniz serverfault.com/a/531942/87017
Pacerier

24

EC2 örneklerinizi ayrıca Elastik Yük Dengeleyicisinin arkasına koyarak ve yalnızca ELB örneğinden gelen trafiği kabul ederek daha da izole edebilirsiniz. Bu, DDOS ataklarını yönetmek için Amazon’a daha fazla ilgi gösteriyor.

Hala herkese açık SSH'ye sahip olacağınızı farz ediyorum, bu yüzden o portu bazı statik IP'lere kilitleyemediğiniz sürece hala içeride bir miktar hileli trafik geldiğini göreceksiniz. DDOS isabetlerini daha da azaltmak için SSHd portunu daha karanlık bir şeyle (yani 22'den başka bir şeyle) değiştirebilirsiniz (çoğu bot sadece bilinen portları kontrol eder).

Ayrıca, günlükleri izleyebilen ve belirli IP'leri engellemek için ip tablolarınızı geçici olarak değiştirebilen fail2ban'dan da bahsedeceğim (örneğin, SSH'ye tek bir IP adresinden SSH girişimi başarısız 6 girişimde bulunduysa, bu IP'yi 30 için engelleyebilir. dakikalar ya da öylesine). (Ürdün'ün derince yorumladığı gibi) fail2ban'ın proxy trafiğini engellemek için uygun olmadığını (örneğin, bir ELB'den gelen) muhtemelen orijinal uzak IP'yi değil proxy'nin IP'sini engelleyeceğini unutmayın.

Ben kullanmadım, ancak Apache mod_evasive de araştırmaya değer olabilir; ancak, IP tabanlı engelleme söz konusu olduğunda fail2ban ile aynı zayıflığa sahip olabilir.


+1 teşekkür ederim. aslında ssh
kapattım

1
Bir ELB'nin arkasındaysanız fail2ban'ın işe yaramayacağına dikkat edin - çünkü genellikle iptables'da bir IP'yi engelleyerek çalışır. Fakat IP her zaman ELB'nizle aynı olacak. Bunu kurulumuma fail2ban eklemeye çalıştıktan sonra anladım. Kullanıcı yalnızca ELB üzerinden erişiyorsa çalışmaz.
Jordan Reiter

5

Apache kullanıyorsanız, mod_security kullanmanızı öneririz . Çoğu satıcı tarafından paketlenmiş olan çekirdek kurallar harika bir iş çıkarır.

Diğer bir sertleştirme adımı, talepleri web sunucusu seviyesinde sınırlamaktır. Nginx ., Apache gelen istekleri kısabilir ve sınırlayabilir.


harika - bu harika seçenekler teşekkürler gibi görünüyorsun!
cwd

2

IP'lerin AWS'den ve diğerlerinden çıkan gerçek zamanlı kötü aktiviteyi engellemek için kullandığım çözüm şudur: LFD Engelleme Listeleri için yapılandırmadaki CSF Güvenlik Duvarımda, burada bulunan bir listeyi kullanıyorum - http://myip.ms/browse/blacklist/ Blacklist_IP_Blacklist_IP_Addresses_Live_Database_Real zamanlı

CSF Güvenlik Duvarı için Kara Listeyi İndirin » http://myip.ms/files/blacklist/csf/latest_blacklist.txt

Artık aşırı iğrenç AWS trafiği yok.


1
Bu soruya cevap vermiyor.
kasperd

2

Güvenlik Ön Satış Mühendisi olarak bir içerik dağıtım ağı için çalışırken önyargılıyım.

Bununla birlikte, bir içerik dağıtım ağında bir Ddos azaltma çözümünün kullanılması, başlangıçta kaynakların hiçbir zaman tükenmemesini sağlar. Bir F5 yük dengeleyicisini sitenizin önüne koymakla benzer, ancak dünyadaki binlerce yere yayılmıştır.

İyi bir cdn, menşei aws firewall'a yüklediğiniz beyaz listeyle gizlemenizi sağlar. Böylece saldırganlar Amazon'da keşiflerini gerçekleştirdiğinde, her şey engellendiğinden IP adresiniz boşalır.

Bu nedenle, trafik saldırgana mümkün olduğunca yakın bir düğüme çarptığında Ddos saldırıları engellenir. Bu, Ddos saldırılarını korumaya çalıştığınız varlıktan uzakta tutmanızı sağlar.

İyi bir cdn sağlık kontrolü yapabilir ve diğer yerlere yük devretme trafiği yapabilir; örneğin, kıçta başka bir ego, Azure, raf alanı, yumuşak katman, fiziksel bir dc vb. RUDY, slowpost, slowloris gibi sqli, xss, rfi, lfi vb.

Varsayılan olarak cdn, gözyaşı, icmp saldırıları, synflood'lar vb. Gibi ağ katmanı saldırılarını da engeller. Bir cdn, Ddos saldırılarını hafifletebilir çünkü trey'in istekleri kabul etme, kötü trafiği filtreleme ve iyi trafikten geçirme kapasitesine sahiptir. Böylece ntp, DNS, ssdp, chargen ve snmp volumetrik saldırıları gibi saldırıları engelleyebilir.

Bugüne kadar gördüğüm en büyük saldırı Temmuz 2014'te 321gbps oldu. Bu saldırı sırasında 20gbps'de bir DNS protokolü saldırısı da oldu. Bu nedenle, DNS altyapısının çok sayıda talebe dayanacak kadar dayanıklı olmasını sağlamalısınız.

Sağladığınız açıklamadan itibaren, saldırganın tüm iş parçacıklarının web sunucusunda, uygulama sunucusunda veya güvenlik duvarında tükenmesi için çok fazla iş parçacığı açtığı bir tükenme saldırısına maruz kalmışsınız gibi görünüyor. Bir slowpost, slowloris veya RUDY gibi bir şeye benzer.

Uygulama katmanı tükenme saldırılarına karşı engellemek için bir web uygulaması güvenlik duvarı (WAF) edinmeniz gerekir. Tipik bir ağ güvenlik duvarı (amazonlar güvenlik duvarı ve yeni nesil güvenlik duvarları dahil) onu engelleyemez. Gönderilen iş güvenlik duvarları bu günlerde, bugünlerde yapılan saldırıların sadece% 30'unu engelleyebiliyor (Kasım 2014).



0

Config server güvenlik duvarı EC2'deki yazılım tabanlı VM'lerde DDoS azaltma için gördüğüm en iyisidir. Sistem günlüğü özelliğini birleştirirseniz, yük dengeli bir ortama karşı koruma sağlayabilir.

http://configserver.com/cp/csf.html


Sunucu Arızasına Hoşgeldiniz! Bu soruyu teorik olarak cevaplayabilse de , cevabın temel kısımlarını buraya dahil etmek ve referans için bağlantıyı sağlamak tercih edilir.
Scott Pack
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.