DDOS Günlükleri: WordPress Botlarının XMLRPC Saldırısıyla Başa Çıkmak
Yayınlanan: 2019-04-08İki gün önce, Nettsted Limited olarak bir müşterimizin web sitesinde zorluklarla karşılaştık. Müşterilerimize normalde teknik destek sağlamıyoruz ama maalesef müşterimizin barındırma hizmeti ona herhangi bir destek sağlamıyor. Kendisine yardım etme sorumluluğunu hissettiğimiz için Botnet saldırılarına karşı önlem almaya karar verdik. Saldırı sırasında botların garip davranışlarıyla karşılaştık. Bu sayfada saat saat neler olduğundan ve müşterimizin web sitesini korumak için ne gibi işlemler yaptığımızdan bahsedeceğim.
DDOS Saldırısının Başlangıcı: Saldırgan Kendini Tanımlıyor
Nettsted Limited'in sahibi olduğum için, müşterilerimize destek olmak için günde 16-18 saat çalışıyorum. Dünyanın her yerinden farklı müşterilerimiz var, bu yüzden farklı zaman dilimlerinde uyanık olmam gerekiyor. Aylar sonra önce bir film izlemek istedim ve ailemle eğlendim. Maalesef bu, kariyerimin en kötü günlerinden biriydi. Filmden sonra dinlenmeye karar verdik. Ancak görünmeyen bir şey beni dürttü ve “hey! işine bak ve sonra uyu” dedi. Ve evet… İşte 5 saatlik yokluğumda olanlar:
- Müşterilerimden biri SEO eklentisini kaldırdı, web sitesinin tüm açıklamalarını ve başlıklarını sildi. Ayrıca sitenin link yapısını da bozdu.
- Diğer istemci, kurduğumuz SEO ile ilgili bazı eklentileri kaldırdı. Önbellek ayarları değiştirildi ve bir şekilde tüm .js ve .css dosyaları bozuldu.
- Müvekkilimden biri DDOS saldırısına uğradı ve web sitesinin nasıl parçalandığını izliyordu.
WhatsApp ve Skype'a katıldığımda o 5 saat boyunca çok sayıda şikayet gördüm. Cümlelerin %30'u sadece "Neredesin?!" idi.
Müvekkilim bana WhatsApp üzerinden bir mesaj aldığını söyledi. Saldırgan kendini telefon numarasıyla tanımladı ve müvekkilime kendisine saldıracağını söyledi. Bu kulağa gerçekten aptalca geliyor ama gerçekten yaptı… İşe döndüğümde saldırı çoktan başlamıştı.
Gün 1-) Saldırılara Karşı İlk Eylemin Yapılması
Bunlar aldığımız saldırıdan bazı günlükler:
103.9.156.249 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.1; ; verifying pingback from 93.174.93.163"
199.223.214.148 - - [07/Apr/2019:01:19:03 +0100] "GET / HTTP/1.0" 200 13194 "-" "WordPress/3.3.1; http://www.mentalic.gr"
216.240.176.141 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.0;
104.236.33.158 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.1; http://pmsearchpartners.com; verifying pingback from 93.174.93.163"
149.210.236.96 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/3.9.27; http://imageconsultant.mu/; verifying pingback from 149.210.236.96"
185.87.249.33 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1;
158.69.26.84 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/3.9.2; http://teensystudios.com; verifying pingback from 93.174.93.163"
103.233.76.243 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.26; http://help.worldmart.in; verifying pingback from 93.174.93.163"
203.175.180.254 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.1; http://www.cybertechriskcenter.com; verifying pingback from 93.174.93.163"
199.223.214.148 - - [07/Apr/2019:01:19:03 +0100] "GET / HTTP/1.0" 200 13194 "-" "WordPress/3.3.1; http://www.mentalic.gr"
68.71.60.249 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.26; http://www.itunesalternative.org; verifying pingback from 93.174.93.163"
66.55.132.6 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/3.8.16;
163.172.103.45 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-"
Günlüklerde, saldırının WordPress kullanıcı aracılarından geldiğini görebilirsiniz. Ancak bu saldırıların bazıları da ajanlar olmadan geliyordu. Yönlendirilen tüm web sitelerini kontrol ettim ve hepsi eski ve terk edilmiş web siteleriydi. Tüm günlüklerde neredeyse aynı olan bir IP var ve 2 tane daha vardı. 93.174.93.163 bir Hollanda IP'siydi ama sanırım bize botnet saldırısını hazırlayan sunucu/hostingdi. Diğer 2 IP de Hollanda IP'siydi.
Saldırılarla ilgili çok fazla "yan pingback doğrulama" bildirimi olduğundan, saldırmak için pingback ve xmlrpc.php kullandığını düşündüm.
Saldırılara ilk tepkim, xmlrpc.php adını değiştirmek, ardından onu tamamen kaldırmak ve WordPress ayarlarından pingback'leri kaldırmak oldu .

Sonuç : Saldırıları yavaşlatmadı bile.
İlk hareketlerden iyi bir sonuç alamadığım için WordPress'in xmlrpc.php dosyasını dosyalardan kaldırmaya karar verdim. Ancak yine de yardımcı olmadı.
Ancak, bir tür DDOS saldırılarına yardımcı olduğu kanıtlanmıştır. Bununla da karşı karşıyaysanız, siz de deneyebilirsiniz.
Gün 1-) İlk Müdahale: Yerel Olmanın Avantajından Yararlanın
Şimdi bana neden cloudflare kullanmadığımı söyleyeceksin. CF'nin kurulumu zaman alıyordu ve ad sunucusu değişiklikleri bazen gerçekten acı verici olabiliyor. Bu yüzden saldırıları yavaşlatmak istedim ama aynı zamanda web sitesi için cloudflare kurdum. Ad sunucularını değiştirdi. Saldırı ciddiydi ve G/Ç, bant genişliği vb. kullanımına ciddi zarar verdi. Farklı sunuculardan saldıran 2-3 kişi olduğuna inanıyorum. Müvekkilimin internet sitesi günlük 1000$ kazandırıyordu ve bu onun için ciddi bir problemdi. Site yaklaşık 6 saat kapalıydı.
Site yerel olduğu için bir htaccess kurmaya karar verdim. Danimarka'nın tüm ip adreslerine ihtiyacım vardı. Bir web sitesi yardımıyla tüm Danimarka IP'lerini bulmayı başardım. Web sitesini geçici olarak tüm yabancı trafiğe kapatırdım. Bir htaccess dosyası oluşturdum ve web sitesine gelen tüm yabancı trafiği engelledim .
Sonuç : Bu geçici olarak iyi bir sonuçtur. Tüm kötü niyetli botlar artık 403 sayfaya ulaşıyordu. Ancak kötü haber. Google botları da 403'ü vuruyordu. Bot trafiği ağırlıklı olarak ABD'den geldiği için USA veya Google bot IP'leri için herhangi bir kurulum yapmadım. Bu, ad sunucusu değişiklikleri gerçekleşene kadar geçici olduğu için sorun olmadı.
Tüm süreç boyunca müvekkilim ile telefonda konuşuyor ve onu sakinleştiriyordum. Durumdan dolayı oldukça kızgın ve üzgündü. Saldırganın mesajlarını aldığını söyledi. Telefon numarası vardı!
Gün 1-) Değişen Ad Sunucuları ve Cloudflare Ayarlarında Sorunlar
Yaklaşık 2 saat sonra htaccess'i kurdum, ad sunucuları değişti ve cloudflare'ı etkinleştirdim. .htaccess dosyasındaki reddetme/izin verme kuralları kaldırıldı. Ancak Cloudflare'in WAF ayarlarında bir sorun vardı. Müşterimden sunucu IP'sini değiştirmesini istedim ve o bunu yaptı. Bir süre sonra, eski IP bilgileri hala orada olduğu için cloudflare'ın DNS kayıtlarını değiştirirdim. Ancak, IP'yi satın aldıktan hemen sonra yaparsam, site tekrar kapanır. "Saldırı Modunda" web sitesinde zaten etkindi .
Sonuç : Cloudflare'ı etkinleştirdikten sonra tüm saldırılar durduruldu.
6-7 saatlik heyecandan sonra sandalyemden kalktım ve uyudum. Kazandığımızı düşündük ama henüz bitmedi.
Gün 2-) Geri Geldi! Botnet ile Cloudflare'a Geçildi!
Sabah IP'yi değiştirdik ve web sitesinin güvenli olduğunu düşündüğüm için saldırı modunu orta olarak değiştirdim. .htaccess üzerinde başka değişiklikler yaptım. Müşterim için PRO cloudflare satın aldım. Web sitesini daha güvenli hale getirmek için bazı WAF ayarları yapıyorum. Ancak bir süre sonra daha ciddi saldırılarla geri dönmeyi başardı ve ciddi miktarda saldırılar orijine çıktı. Cloudflare'ı atlıyordu.
Cloudflare'ın bazı WAF ayarları, WordPress bot saldırılarını, XMLRPC Saldırısını durdurma sözü veriyordu, ancak . Cloudflare'de tüm WAF ayarlarını varsayılan olarak kurmaya karar verdim.
Sonuç : Kullanıcı aracısı olmayan tüm bot saldırıları 403'e ulaşmaya başlar.
Sonuç, web sitesini bir süreliğine rahatlattı ve sunucu bir kez daha açıldı. Ancak çok fazla saldırı alıyorduk ve buna yakındı.
2. Gün) Cloudflare'de Ülke Engelleme
Sonunda bu saldırılardan kurtulmak için cloudflare'a daha fazla yatırım yapmamız gerektiğini düşündüm. Son değişikliklerim ile tehdidin neredeyse %50'sini kaldırdık. Ancak yine de diğer %50 vardı. Yerel bir web sitesi için ülke engelleme sorun olmaz. Ayrıca bot trafiğinin %50'sini düzelttiğimiz için ABD'den gelen saldırılar bizim için ciddi bir sorun olmayacaktı. Cloudflare girişimini satın aldık ve ABD ve Danimarka dışındaki tüm yabancı trafiği engelledik .
Sonuç : Bu, botnet trafiğinin %90'ını düzeltti.
Gün 3-) İntikam Soğuk Yenilen Bir Yemektir
Sunucumuz botnet trafiğinin yüzde 90'ı ile başa çıkmayı başardı. Yine de saldırılarını durdurmadılar. Sonra WordPress'te ilginç bir eklenti buldum. Ancak önce test etmem gerekiyordu. Aksi takdirde web sitesi çökebilir ve bu her şeyi mahveder. Bir programcı arkadaşımdan web sitelerimden birine saldırmasını istedim. Mükemmel çalışıyordu. Sonra saldırganı araştırırım. Kim olduğunu ve neden bize saldırdığını anlıyorum.
Önce saldırganla temasa geçtim. Saldırılarını durdurmasını istedim. Ancak bana birçok hakaret ve küfürle cevap verdi. Onu WhatsApp'tan engelledim ve ona cevap bile vermedim. Müvekkilim bu hizmet için daha fazla ödeme yapmamı istedi ama ben reddettim. Bunu bir gurur meselesi olarak görüyordum. Müvekkilimden izin istedim ve saldırı altında modunu kaldırdım. Eklentiyi kurdum.
Pis, kanlı, aşağılık robotlarını web sitesine geri göndermeye başladım. Web sitesi gözümün önünde çöktü. Baelor'un Eylül'ünün yıkımını izleyen Cersei'de hissettiklerim aynıydı. Sonra onlara diğer web sitesini gönderdim, sonra diğerini ve ardından diğerini… Saldırıyı durdurduklarında sistem de durmaktaydı. Ancak botlarla vurmaya başladıklarında, onları tüm web sitelerine yönlendiriyordu.