ASN gerçekte nedir
İnternet tek bir ağ değildir. On binlerce ağdan oluşur; her birini, trafiğin nasıl girip çıkacağına karar veren biri işletir. Bu ağların her biri bir numara taşır — Otonom Sistem Numarası — ve her genel IP adresi, her an bunlardan tam olarak birine aittir.
İşe yarayan birim o numaradır. Bir hosting firmasının birbiriyle alakasız görünen aralıklara yayılmış yüz binlerce adresi olabilir, ama hepsi tek bir ASN'in ya da birkaçının altındadır. Bir mobil operatör de aboneleri için aynısını yapar. Yani "bu istek gerçekte nereden geliyor" diye sorduğunuzda adres size hangi makineyi, ASN ise o makineyi internete kimin koyduğunu söyler.
Değerin tamamı bu ayrımda. Kötüye kullanan bir istemci adresini kolayca değiştirir — bulut panelinde bir düğmedir ve özenle kurduğunuz IP listesi bir saat içinde bayatlar. ASN değiştirmek ise tedarikçi değiştirmek demektir.
Bir isteğin arkasındaki ağı bulmak
Loglarınızdaki bir adresten başlayıp onu bir ağa çevirirsiniz. En hızlı yol tek bir whois sorgusudur.
Bir adres, bir sorgu, bir ağ
# Team Cymru whois servisi: adres -> ASN, ağ adı, ülke
whois -h whois.cymru.com " -v 203.0.113.10"
Harekete geçmeden önce yanıtı okumak
Sorgu size ASN'i, onu elinde tutan kuruluşu ve kayıtlı olduğu ülkeyi verir. bgp.he.net aynı bilgiyi tarayıcıda, üstüne o ağın duyurduğu bütün aralıklarla birlikte gösterir; bir şeyi engellemeden önce bir göz atmaya değer, çünkü kuruluş büyük bir ev interneti sağlayıcısıysa adres alanının büyüklüğü bunu anında belli eder.
Sorguyu bir adres için değil, birkaç adres için yapın. Bir örüntü, ancak aynı ASN tekrar tekrar çıktığında örüntü sayılır. Elli sorunlu adres elli farklı ağa düşüyorsa engelleyebileceğiniz bir sağlayıcıya değil, bir botnet'e bakıyorsunuz demektir; orada hiçbir liste yerine bir rate limit ya da bir WAF kuralı işinizi görür.
Trafiğin ne istediğine de bakın. Her gece bütün ürün kataloğunuzu çeken tek bir ağ kazıyıcıdır. Müşteri başına tek bir URL isteyen aynı ağ ise birinin entegrasyonudur ve onu engellemek sessiz bir iyileşme değil, bir telefon getirir.
IP, ASN, ülke: üç ayrı soru
Bunlar aynı aracın üç farklı şiddeti değildir. Farklı şeylere yanıt verirler ve yanlış olanı seçmek, engelin kötüye kullanımdan daha pahalıya patlamasının yoludur.
IP engeli "bu makine sorunlu" sorusuna yanıt verir. Kesindir ve doğası gereği geçicidir: belirli bir saldırgan host için, süren bir saldırı sırasında ya da örüntünün ne olduğunu hâlâ çözmeye çalışırken kullanın.
ASN engeli "bu ağdan bana meşru hiçbir şey gelmiyor" sorusuna yanıt verir. Hosting ve bulut sağlayıcıları için bu çoğu zaman doğrudur — müşterileriniz internet servis sağlayıcıları ve mobil operatörler üzerinden gezinirken kazıyıcılar, zafiyet tarayıcıları ve kimlik doldurma script'leri kiralık sunucularda çalışır. Arkalarındaki ağı engellemek, adres değiştirmelerine rağmen ayakta kalır; IP engelinin yapamadığı tek şey de budur.
Ülke engeli "bu pazara hizmet vermiyoruz" sorusuna yanıt verir. Üçünün en künt olanıdır ve teknik bir gözlemi değil ticari bir kuralı ifade eden tek engeldir: iki ülkeye kargo yapan bir mağaza, tek ülkeyle sınırlı bir lisansla çalışan bir servis. Tek başına güvenlik önlemi olarak zayıftır, çünkü bir saldırgan saniyeler içinde izin verdiğiniz başka bir ülkedeki sunucuya geçer, yurt dışına çıkan gerçek müşteriniz ise geçemez.
Sağlam kalan sezgi şu: ülkeyi ticari nedenle, ASN'i davranışsal nedenle, IP'yi ise hangisine baktığınıza henüz karar veremediğiniz sürece engelleyin.
Edge listeyle ne yapıyor
İki liste de edge'de uygulanır; ucuz olmasının sebebi budur. Edge, ziyaretçinin adresini yerel bir veritabanından ülke ve ASN'e çözer — MaxMind GeoLite2, edge sunucularımızda otomatik olarak tazelenir; yani istek yolunda ağ üzerinden bir sorgu yoktur ve sizin güncel tutacağınız bir şey de yoktur.
Adres listeyle eşleşirse istek olduğu yerde, üzerinde Referans No taşıyan markalı bir 403 sayfasıyla yanıtlanır. Origin'iniz bağlantıyı hiç görmez: meşgul edilen bir worker, çalışan bir veritabanı sorgusu, sunucunuzdan çıkan bir bant genişliği yoktur. Edge'de engellemekle uygulamanızın içinde engellemek arasındaki fark budur ve engelin tam da önemli olduğu anda, yük altında ayakta kalmasının sebebi de budur.
Sayfadaki Referans No göründüğünden daha önemlidir. Biri size sitenize erişemediğini söylediğinde, o numara isteğini loglarda tam olarak bulup "ağınız engel listesinde" diye yanıt vermenizi sağlar; bir öğleden sonrayı tahmin yürüterek geçirmenizi değil.
Panelden ayarlamak
Panelde Yayınlama Kuralları → Güvenlik Varsayılanları bölümünü açın — /management/cdn/advanced-management. Orada yan yana iki yönetici durur: Ülke Kara Liste Yöneticisi ve ASN Kara Liste Yöneticisi.
Ülke için listeden seçip kaydedin. Ağ için ASN'i düz sayı olarak girin: AS12735 değil, 12735; birden fazla ağı virgülle ayırarak tek listeye yazın (12735, 47331). Liste en fazla 200 kayıt tutar ve 0 bilerek reddedilir — aşağıdaki uyarılara bakın.
Sonra doğrulamayı kendi bağlantınızdan değil, gerçekten engellenen ağdan gelen bir şeyle yapın: o buluttaki bir sunucu, bir proxy ya da o operatörü kullanan bir arkadaşınız. Doğru sonuç, oradan markalı 403 sayfası ve başka her yerden sıradan bir 200'dür. Engelleme, çalışmadığını sanmanıza yol açacak kadar sessizdir; çünkü kendi isteğiniz neredeyse hiçbir zaman az önce engellediğiniz ağdan gelmez.
API ile yapmak
İki liste de bearer token ile REST API üzerinden yönetilebilir; listeyi sürüm kontrolünde tutmak ya da kendi kötüye kullanım tespitinize bağlamak istiyorsanız aradığınız şey budur. Güncelleme çağrısı listeyi gönderdiğiniz şeyle birebir değiştirir; yani önce okuyun ve yalnızca ekleyeceğinizi değil, listenin tamamını gönderin.
Önce mevcut listeyi okuyun, sonra değiştirin
# listede şu an ne var
curl -s -H "Authorization: Bearer $TOKEN" \
https://cdn.com.tr/api/accounts/<hesap-uuid>/asn_blacklist
# listeyi tam olarak bu iki ağla değiştir
curl -s -X POST -H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"listType":"blacklist","asns":[12735,47331]}' \
https://cdn.com.tr/api/accounts/<hesap-uuid>/asn_blacklist_update
Bunun iyi fikir olup olmadığını belirleyen uyarılar
Ev ve mobil internet sağlayıcıları milyonlarca insandır. Tek bir mobil operatörün ASN'i bir ülkedeki telefonların büyük bir bölümünü kapsayabilir. Onu engellemek bir saldırganı değil, bir pazar dilimini engeller — ve gelen destek taleplerinde "ASN" kelimesi geçmez.
CDN'ler, VPN'ler ve kurumsal proxy'ler gerçek kaynağı gizler. İstek başka bir CDN ya da bir VPN üzerinden geliyorsa gördüğünüz ASN o aracıya aittir. Onu engellemek o hizmeti kullanan herkesi dışarıda bırakır: mahremiyetine düşkün müşteriler ve şirket VPN'indeki uzaktan çalışanlar dahil.
Hosting ASN'leri istediğiniz trafiği de taşır. Ödeme webhook'ları, uptime izleyicileri, sohbet uygulamalarının bağlantı önizlemeleri, iş ortağı entegrasyonları ve arama motoru botları hep kiralık sunucularda çalışır. Bir bulut sağlayıcısını toptan engellemeden önce kendi entegrasyonlarınızdan hangilerinin orada yaşadığını öğrenin.
ASN 0 engellenemez. Veritabanı, adresi bilinen hiçbir ağa denk düşmediğinde bunu döndürür; yani bir ağ bile değildir — onu engellemek "tanımlayamadığımız her şeyi" engellemek olurdu. Oraya düşen trafiğin bir listeyle değil, davranışla ele alınması gerekir: bir rate limit ya da bir WAF kuralı.
Ağlar el değiştirir. ASN, arkasındaki kuruluşun kalıcı tanımı değildir. İki yıldır kimsenin gözden geçirmediği bir liste, artık anlamadığınız bir listedir.
Makul bir tırmanma sırası
Kötüye kullanan bir şey çıktığında sorunun şekline uyan en ucuz önleme uzanın — ve önce şekli dürüstçe tarif edin: kaç adres, kaç ağ, ne hızda ve ne istiyorlar.
Aracı o tarif seçer. Az sayıda istemciden çok istek bir rate limit işidir. Sayısı ne olursa olsun kötü niyetli görünen istekler bir WAF kuralıdır. Her yerden aynı anda gelen devasa hacim DDoS emilimi ister. Yalnızca tek ve tanımlanabilir bir ağdan gelen istikrarlı, kasıtlı trafik bir ASN engelidir — hizmet vermemeye karar verdiğiniz bir pazar ise ülke engelidir.
Sonra engeli işe yarayan en dar haliyle koyun, neden eklediğinizi yazın ve bir hafta sonra size neye mal olduğuna bakın. Yanında gerekçesi yazmayan kayıt, iki yıl sonra kimsenin kaldırmaya cesaret edemediği kayıttır; ve her engel listesi eninde sonunda onlardan biriktirir.
Sık sorulan sorular
Bir IP adresinin ASN'ini nasıl bulurum?
Adresi Team Cymru whois servisine sorun ya da tarayıcıda bgp.he.net üzerinden bakın. İkisi de size ASN'i, onu elinde tutan kuruluşu ve duyurduğu aralıkları verir. Tek adres yerine birkaç adrese bakın — tek sorgu size bir makinenin nerede olduğunu söyler, engellemeye değer bir örüntü olup olmadığını değil.
Ülke engellemek iyi bir güvenlik önlemi mi?
Tek başına değil. Ticari bir kuralı ifade eder — bu pazara hizmet vermiyoruz — ve bunu iyi yapar. Savunma olaraksa zayıftır: saldırgan izin verdiğiniz bir yerde sunucu kiralayıp dakikalar içinde geri döner, tatildeki müşteriniz ise kapıda kalır ve kendini anlatacak bir yol bulamaz.
ASN engeli kararlı bir saldırganı durdurur mu?
Sorunu bitirmez, maliyetini yükseltir. Ucuz kiralık sunucularda çalışan kazıyıcılara, tarayıcılara ve kimlik doldurma script'lerine karşı çok etkilidir, çünkü taşınmak yeni bir sağlayıcı bulmak demektir. Ev bağlantılarındaki bir botnet'e karşı ise hiçbir işe yaramaz — o istekler binlerce sıradan servis sağlayıcıdan gelir ve onları yalnızca davranış ayırt eder.
Engellenen ziyaretçi tam olarak ne görür?
Edge tarafından sunulan, Referans No taşıyan markalı bir 403 sayfası. Zaman aşımı ya da tarayıcı hatası değildir; yani yanlışlıkla engellenen biri size ne gördüğünü tam olarak söyleyebilir ve o Referans No sizi doğrudan loglardaki isteğine götürür.
Bilinmeyen ağları ya da ASN 0'ı engelleyebilir miyim?
Hayır. ASN 0, veritabanının adresi tanıdığı hiçbir ağa oturtamadığında bildirdiği değerdir; yani engelleyebileceğiniz bir kuruluş değil, veride bir boşluktur. Oraya düşen istekler rate limiting ya da WAF kuralının işidir: bunlar istemcinin nereden geldiğine değil ne yaptığına bakar.
Yanlışlıkla Google'ı ya da ödeme sağlayıcımı engeller miyim?
Evet, ve ASN listesinin en sık zarar verme biçimi budur. Arama botları, uptime izleyicileri, ödeme webhook'ları ve sohbet uygulamalarının bağlantı önizlemeleri hep bulut ağlarından çıkar. Bir hosting sağlayıcısını engellemeden önce kendi entegrasyonlarınızdan hangisinin orada çalıştığını kontrol edin — kaydettikten sonra da sessizce çağırmayı bırakan entegrasyona dikkat edin.