Cloudflare kendi içerisinde Bot Fight özelliği devrede olsada, bazı botları durduramıyor, kökten çözüm için bazı ayarlar önereceğim.
Geçen gün 10 dakika içerisinde 71.000'in üzerinde istek geldi, siteyi botlar tarıyordu. Bot fight açık olsa bile onu aşabilen yöntemler mevcut. Siteyi taramaya devam ediyordu.
saldırganın dedi/vps/vds/host barındırdığı servisi bloke ederek sorunu kökünden çözdüm.
Saldıran kişiyi Cloudflare üzerinden anlık nasıl yakaladım ve nasıl engelledim bununla ilgili bilgi vereceğim.
Eğer benim gibi yurtdışı siteniz varsa global DC servis sağlayıcılarını kafadan bloke ederek başlayabilirsiniz.
SERVER4YOU,Hetzner,OVH,DigitalOcean,Contabo gibi. Yazının sonunda listesini vereceğim.
Tabiki önce genel ayarları yapmalıyız. Sitemize gelen isteklerin log'unu tutmamız gerekiyor.
-------------------------------------------------------
"Firewall / Firewall Rules" sekmesine gidin.
"Create a Firewall rule" ile bir firewall kuralı oluşturalım.
Kutucukları aşağıdaki gibi dolduralım.
Rule name : ALL HTTP
Field: URI
Operator: Contains
Value: /
Choose an action : Allow
Ve Deploy ile kuralı yayınlayın.
"Firewall / Overview" sekmesinde bir süre sonra, cloudflare üzerinde sitenize gelen istekleri anlık görebileceksiniz.
Ne zaman girmiş hangi sayfaya gitmiş, IP, ASN numarası, DC vs.
Artık bot ve normal isteklerinizin LOG'unu tutuyoruz ve anlık görebiliyoruz.
Eğer sitenize üstüste çok fazla istek geliyorsa, google bot vs. değilse, cloudflare bot fight moduna geçecektir. Ama bloke etmez, onu aşan botlarda varsa çok rahat sitenizi kopyalamaya devam ederler.
İstatistikleri düzenli takip edin, şüpheli istekleri gördüğünüzde, üzerine tıkladığınızda size gelen isteklerin detaylı log'unu verir.
Gelen isteklerin üzerine tıklarsanız, detaylı log'a erişirsiniz.
Örneğin, bana gelen bir istek;
Burada
DIGITALOCEAN'ın bir ziyaretçi değil bir datacenter olduğunu zaten biliyorum. Yani
DIGITALOCEAN'dan gelen tüm isteklerin aslında, zararlı bir istek olduğunu biliyorum.
MOZ hariç, SEMRUSH gibi botlar da kendi ASN numarasını kullanıyor. MOZ adı farklı =>
AS23033 WOW diye geçiyor.
Path /sito/wp-includes/wlwmanifest.xml ASN: AS14061 DIGITALOCEAN-ASN
ASN numarasını alıp servisi komple bloke edeceğiz ve artık
DIGITALOCEAN datacenter'ındaki tüm istekleri bloke etmiş olacağız.
----------------------------------------------------
"Firewall / Tools" sekmesine gidin.
"IP Access Rules" sayfasındaki;
"Enter IP ... or ASN" yazan kutucuğa
DIGITALOCEAN ASN numarasını girin. Sırasıyla kutucukları aşağıdaki gibi seçin
AS14061
Block
All website accounts
DIGITALOCEAN
ADD butonuna tıklayın ve Artık
DIGITALOCEAN den gelen isteklerin hepsini bloke ettiniz.
Bu şekilde ASN, ülke veya ip/ip bloklarını buradan engel koyabilir ve izin verebilirsiniz.
ASN ile bloke ettiğinizde ip değiştirse bile engel devam eder. Çünkü saldırgan halen
DIGITALOCEAN kullanıyor, biz
DIGITALOCEAN'dan gelen tüm istekleri bloke ettik.
-----------------------------------------------------------------
Sizin gözünüzden kaçan şüpheli istekleri ise şu şekilde bulabilirsiniz.
"Firewall / Overview" sekmesine gidin.
Add Filter tıklayın.
Açılan pencereden sondaki selectbox'ı seçin ve "Managed Challenge" seçin ve filtreleyin. bot fighta düşen istekleri görebilirsiniz.
"Block" seçerekte sizin blokladıklarınızı görebilirsiniz.
Bu şekilde hem sunucunuza daha az istek gelecek, hem de içeriğinizi mümkün olduğunca koruma altına almış olacaksınız.
Bazı DC ASN numaraları;
AS203020 HOSTROYALE
AS53667 PONYNET
AS60404 LITESERVER
AS49505 SELECTEL
AS9794 DNET-ID-AP Indonesia
AS55045 TEKTONIC
AS9260 MULTINET-AS-AP Multinet Pakistan
AS30083 SERVER4YOU
AS24940 Hetzner
AS16276 OVH
AS4134 ChinaNet
AS14061 DigitalOcean
AS51167 Contabo
bu konunun altına bu şekilde ASN listeleri, IP vb. block edilmesi gerekenleri ekleyebilirsiniz. Birbirimize yardımcı olalım.