Kedim Bana DDoS Saldırısını Haber Verdi
(dannyguo.com)- Resmî bir on-call rotasyonu olmayan dönemde, sabah 3'te kedinin uyuyan kişiyi uyandırması sayesinde AWS CloudWatch uyarısı ve web sitesindeki kesinti hemen fark edildi
- Yük dengeleyicideki unhealthy targets uyarısından sonra site açılmıyordu ve birçok ülkeyle ilişkili çok sayıda IP'den yoğun istek geliyordu
- Ürün yalnızca ABD'deki kullanıcılara sunulduğu için uluslararası trafik anormaldi ve eldeki belirtiler bunun bir DDoS saldırısı olduğunu gösteriyordu
- Sunucuda IP'leri tek tek engellemek verimsiz olabilirdi, ancak önceden ayarlanmış AWS WAF ülke engelleme kuralı sayesinde yaklaşık 1 saat boyunca yüz binlerce istek engellendi
- Saldırının başladığı sıralarda müşteri destek gelen kutusuna, Apache açığını kullanarak siteyi durdurduklarını ve Bitcoin ile 5.000 dolar isteyen bir tehdit e-postası gelmişti; şirket yanıt vermedi
Sabah 3'te ortaya çıkan kesinti
- O sırada startup'ta resmî bir on-call rotasyonu yoktu ve ekip acil durum bildirimlerini birlikte takip eden bir düzenle çalışıyordu
- Sabah 3 civarında kedi saçlarını yalayarak kişiyi uyandırdı; telefona bakınca birkaç dakika önce AWS CloudWatch uyarısının geldiği görüldü
- Uyarının nedeni yük dengeleyicideki unhealthy targets idi ve web sitesi gerçekten de yüklenmiyordu
- İzleme panosunda, birçok ülkeyle ilişkili çok sayıda IP adresinden gelen yoğun istekler görülüyordu
- Ürün yalnızca ABD'deki kullanıcılara sunulduğu için uluslararası trafik normalden farklıydı ve eldeki belirtilere göre bunun bir DDoS saldırısı olduğu düşünüldü
AWS WAF ile engellenen istek seli
- İlk akla gelen önlem, sunucu seviyesinde IP adreslerini engellemekti; ancak saldırgan daha fazla kaynak IP kullanabiliyorsa bu zahmetli olabilir ve etkisi de sınırlı kalabilirdi
- Önceden yapılandırılmış AWS Web Application Firewall kullanılarak, anlık kesinti müdahalesi için diğer ülkelerden gelen istekleri engelleyen bir kural eklendi
- Kural uygulandıktan sonra yaklaşık 1 saat boyunca yüz binlerce istek engellendi ve web sitesi yeniden çalışmaya başladı
- İstek seli de durunca o anki kesinti giderildi
Saldırıdan hemen sonra gelen tehdit e-postası
- O sabah, saldırının başladığı sıralarda müşteri destek gelen kutusuna ulaşan e-posta incelendi
- Gönderen, web sitesinde bir güvenlik açığı bulup Apache'ı çökerttiğini iddia ediyordu, ancak şirket Apache kullanmıyordu
- Web sitesinin tüm trafiğini durdurduğunu ve bunu birkaç ay boyunca sürdürebileceğini söyleyerek, Bitcoin ile 5.000 dolar gönderilirse bir “solution file” vereceğini talep ediyordu
- Şirket yanıt vermedi
- Telefon gece Rahatsız Etmeyin modundaydı; bu yüzden AWS bildirimlerinin titreşim ya da sesi kediyi önce uyandırmış açıklaması doğru değildi
- Anlatıcı, kedinin sabaha kadar bekleyemeyecek bir şeyi somehow fark ettiğini düşünüyor ve bunun PagerDuty alarmından çok daha az rahatsız edici bir uyanma şekli olduğunu söylüyor
1 yorum
Hacker News yorumları
Her zamanki gibi içeriden gelen tehdidi gözden kaçırmak kolay. Dil bilgisi şüpheli bir tehdit e-postası mı? Bitcoin fidye talebi mi? Peki ya saldırının arkasında aslında bir kedinin olabileceğini hiç düşündün mü?
Kansas'ta pek deprem olmaz ama ilk ve tek hissettiğim depremi hâlâ hatırlıyorum
Derin uykudayken Siyam kedim patisiyle yüzüme vurarak beni uyandırdı; yatağın ucunda oturup normalden farklı biçimde agresifçe hırlıyordu
30 saniye bile geçmeden sallanmaya başladı. Nasıl anladı bilmiyorum ama epey şaşırtıcıydı; 2020'de aramızdan ayrıldı, hâlâ özlüyorum
Son NYC depreminde de insanlar sarsıntıyı hissetmeden önce köpeklerin uluduğu videolar vardı; bence oldukça yaygın bir durum
Birkaç hafta önce Taipei'de 7,4 büyüklüğündeki depremi yaşadığımda tek düşündüğüm, söz verdiğim gibi köpeğime dönmem gerektiğiydi. Ben çıkmadan önce köpeğim huzursuzdu; benim gideceğimi mi hissetti, yoksa gitmekte olduğum depremi mi algıladı bilmiyorum
Kayalarda P dalgaları ve S dalgaları olmak üzere iki tür ses vardır. P dalgası basınç dalgasıdır ve daha hızlıdır; S dalgası ise sağa sola salınır ve biraz daha yavaştır. Kedi, insanların hissettiği depremden biraz önce ulaşan P dalgasının hışırtı sesine uyanmış olma ihtimali yüksek
İki tür dalga olduğu ve P dalgasının önce ulaştığı https://manoa.hawaii.edu/exploringourfluidearth/physical/oce... adresinden doğrulanabilir
Telefon sessizdeydi ama ekran sürekli yanıp sönmüş olabilir. Benimki de o modda böyle davranıyor
İlk işimde, izleme panosunda bir arıza patlamadan önce bunu önceden fark eden biri vardı. Kendisi de neye baktığını açıklayamıyor ya da anlayamıyordu, başkaları da aynısını yapamıyordu; ama bir şeylerin garip olduğunu söylediğinde genelde kısa süre sonra uyarı gelirdi
Bir şantiye şefinin, yer altındaki ya da duvar içindeki boruları olağanüstü iyi bulduğu için işçilerin saygısını kazandığına dair bir yazı okumuştum. Başta bunun psişik bir güç olduğuna inanmaya başlamış ama sonra tipik desenleri ve ara sıra görülen sezgisel olmayan ipuçlarını bilinçsizce öğrendiği sonucuna varmış. Örneğin bir binanın duvarındaki havalandırma kanalını görüp yer altında kanalizasyon borusu olma ihtimalini fark etmek gibi
“Bu oyun birazdan çökecek, kaydetmeliyim” diye oldukça isabetli şekilde anladığım noktaya gelmiştim. Kaydedip 10 saniye sonra yeniden başlatınca gerçekten çöküyordu; hâlâ nasıl anladığımı bilmiyorum
5.000 dolar epey prenslere layık bir miktarmış. 2016'da bizim şirkete de böyle bir talep gelmişti
DDoS yedik ve görmezden gelmeye karar verdik ama ne olur ne olmaz biraz BTC araştırmıştık. Sonra DDoS savunması uygulamaya 5.000 dolardan çok daha fazlasını harcadık, ama şantajcılara para vermemek buna değer
Hiçbir e-postaya yanıt vermedik. Saldırganlar da epey aptaldı; yalnızca bağlantısı iyi bir yerde duran web sunucusuna saldırdılar
Asıl para kazandıran hizmet Caribbean'daydı ve yalnızca 1,5 Mbps T1 ile 0,5 Mbps uydu yedeği vardı. Orayı çok daha kolay ve uzun süre doyurabilirlerdi; o zaman saatlik gelir kaybı yaklaşık 1 milyon dolar olurdu
Bir saldırgana 5 bin dolar vermek, savunma kurmaktan daha ucuz görünebilir; ama savunma kurarsan gelecekte daha az saldırıya uğrama ihtimalin artar. Ve dediğin gibi, suçlulara para vermemenin kendisi de değerlidir
“Yanıt vermedim ama geriye dönüp bakınca biraz dalga geçmek eğlenceli olabilirdi” kısmına gelirsek, yanıtsız kalmak tek geçerli yanıttır
Dalga geçersen daha da göze batıp başka saldırıların hedefi olabilirsin. Bundan ne kazanacaksın ki?
Yine de hayal etmesi eğlenceliydi; özellikle yazıda bağlantısı verilen şu videoyu izledikten sonra: https://www.youtube.com/watch?v=dWzz3NeDz3E
Eskiden aileden biri, bulaşık makinesinden su sızdığını kedi alarmı sayesinde fark etmişti
Sonuçta kedi ya onu kurtarmaya çalışıyordu ya da öldürmeye; ikisinden biri
Dışarıda uyuyan biri karga sesiyle uyanıyor; tam o sırada büyük bir kedigiller üyesi, muhtemelen bir kaplan, gizlice yaklaşıyor
Bir karakter karganın o kişiyi uyarmaya çalıştığını düşünüyor, bir diğeri ise kuşun yemekten kalan artıkları yemek için uyuyan kişiyi kaplana haber verdiğini düşünüyor
“Berbat gramer” demek, tam da ChatGPT öncesi döneme yakışır
Biraz daha ciddi konuşursak, DDoS saldırılarını sonsuza dek engellemenin bir yolu bir gün çıkar mı? Her tehdit kötü ama DDoS en sıradan saldırı türü gibi geliyor. Özel bir beceri ya da bilgi gerekmiyor; bir script çalıştırmak ya da bunu hizmet olarak senin yerine yapacak birine para ödemek yeterli
IP adresleri, IPv6 ise alt ağlar, sıradan kullanıcılar için sınırlı kaynaklardır; bant genişliği de öyle. Çoğu amplifikasyon saldırısı IP spoofing gerektirir, bu da sıradan bağlantılarda çoğu zaman mümkün değildir
Hacim tabanlı bir saldırıysa daha fazla bant genişliği olan taraf kazanır. Saldırgan burada amplifikasyon kullanabilir. Yük tabanlı ya da uygulama katmanı saldırısıysa, saldırgan IP’lerini güvenlik duvarı seviyesinde engelleyerek çözülebilir. Bu örnekte zaten WAF/Cloudfront olduğu için saf hacim saldırısından çok uygulama katmanı saldırısına yakın
Engellenecek saldırgan IP’lerini bulmak; maliyeti kaynak IP bazında doğru atfetmek, meşru kullanıcı etkinliğinin sağladığı faydayı da kaynak IP bazında doğru atfetmek ve sonra maliyeti faydasını açık ara aşan IP’leri ya da aralıkları engellemek meselesidir
Söylemesi kolay, yapması değil. Maliyet; açık bağlantıların belleği tüketmesi, TLS handshake, web sunucusunun ayrıştırması pahalı istekler, pahalı veritabanı sorgularını tetikleyen istekler, giriş/çıkış bant genişliği gibi birçok biçimde ortaya çıkar. Bu yüzden çoğu kişi öne Cloudflare ya da buradaki gibi Cloudfront koyar ve bu örnekte olduğu gibi manuel kurallarla etrafından dolaşır
Protokol katmanında DDoS’a dayanıklı hale getirmenin bir yolu olsa harika olurdu ama bunun mümkün olup olmadığından emin değilim
Bir de hacim tabanlı DDoS var. Bunu herkesten daha fazla bant genişliğine sahipsen engelleyebilirsin, ama oldukça zordur ve seni de potansiyel bir saldırgana dönüştürebilir
Buradaki yenilik, trafik filtrelerini BGP ile yayma biçimidir. Null routing, minimum uygulanabilir ürün sayılır. Bu IP saldırı altında, o tarafa giden trafiği mümkün olduğunca çabuk çöpe atın, gibi. Daha hassas sistemler de gördüm; UDP’yi atmak, parçalanmış paketleri atmak, UDP/TCP’de belirli portların gelen/giden paketlerini atmak gibi
Bu sistemlerin çoğu, özel rotaların doğrudan peering ötesine yayılmaması için tasarlanmıştır; ancak bazı durumlarda yayılması tercih edilebilir
Müşterilerimin çoğu Mexico’daysa ve Canada DDoS yapıp benimle Canada arasındaki hattı dolduruyorsa bu büyük bir sorun olmayabilir. Tabii Mexico tarafındaki tüketici router’ları o Canada darboğazına yardım etmeye kalkışmadığı sürece
Kedi mama kabını bildirimlere bağladığını sandım
Her hâlükârda sevimli. Kedinin adı neydi?
Adı Bamboo’ydu. Ne yazık ki kanserden kaybettik. Onu sahiplendikten sonra yaptığı ilk şeylerden biri bambu saksımı yemeye çalışmak olduğu için adını öyle koymuştum
Kablosuz kedi mama kabı internete bağımlıydı; mama gelmeyince kedi gidip yöneticisine şikâyet etti
Şu kitap aklıma geldi: Dogs that Know When their Owners are Coming Home https://www.sheldrake.org/books-by-rupert-sheldrake/dogs-tha...
Token bucket ile DDoS’u engellemek o kadar kolay ki, genelde kedinin beni uyandırması gereken tek zaman Discord’umun baskına uğradığı anlar oluyor
Güvenlik duvarında ya da ingress tarafında, uygulama sunucusuna ulaşmadan önce aşırı yük oluşturan paketleri atmaya daha yakın görünüyor
Bağlantı isteği miktarı ya da benzersiz IP adresi sayısı yeterince büyük olan bir saldırı, hizmeti yine de aşırı yükleyebilir
Token bucket genellikle genel dayanıklılık stratejisinin bir parçasıdır; tüm hizmet engelleme sorunlarını çözen sihirli bir çözüm değildir