ASN'e göre engelleme yapabilir miyim?
Kısa cevap
Evet. Source IP koşulunda Source IP Type = ASN seçilir ve AS numarası aranabilir listeden seçilir; koşul HTTP vService'te Block, L7 TCP vService'te TCP Connection Management aksiyonuna bağlanır. Bir koşul tek ASN seçer; birden fazla ASN için koşullar aksiyonun Conditions alanında or ile birleştirilir. Büyük bulut ve barındırma sağlayıcılarının bütün ağlarını tek seçimle hedeflemek için Network Type Group koşulu kullanılır.
Sorun: Belirli Bir Ağdan Gelen Trafik İstenmiyor
Kötüye kullanım belirli bir servis sağlayıcının ya da bulut platformunun ağlarından geliyorsa tek tek IP adresleri yerine o ağın otonom sistem numarası (ASN) üzerinden engelleme yapmak daha kalıcı bir çözümdür: sağlayıcı yeni adres bloğu kullansa da ASN aynı kalır. TR7 bir adresin ASN'ini cihazdaki IP veritabanından bulur; bir adresin ASN'i IP Lookup ile görülebilir.
Çözüm: İki Yöntem
İki yöntem aynı kuralı kurar; biri seçilir. Bot/DDoS koruması açık vService'ler için tablonun son satırına bakılır.
| Durumunuz | Uygun yöntem |
|---|---|
| Belirli bir ya da birkaç ASN'i engellemek | Yöntem 1: Source IP (ASN) koşulu + aksiyon |
| Komut satırından | Yöntem 2: WEB-CLI |
| vService'te Bot/DDoS koruması açık; sağlayıcı ağlarına limit ya da engel koymak istiyorum | Network Type Group Control → Tor çıkış düğümlerini, VPN/proxy adreslerini ve veri merkezi (bulut/hosting) IP'lerini nasıl tanır ve ayrı ele alırım? |
Yöntem 1: Source IP (ASN) Koşulu + Aksiyon Önerilen
- Nasıl çalışır İstemci IP'sinin ait olduğu ASN koşuldaki numarayla eşleşirse istek Kurum Servisine gitmeden aksiyonla karşılanır.
- Nerede açılırLoad Balancer → Conditions · Load Balancer → Actions · vService → Details → Actions
- Gereksinim Kurum Servisi tarafında değişiklik yoktur
- vService tipi HTTP · L7 TCP
Adım adım yapılandırma
Load Balancer → Conditions ekranında Add tıklanır (nasıl eklenir).
Condition Name girilir; Criteria = Source IP, Source IP Type = ASN seçilir. ASN alanı aranabilir bir listedir; seçenekler (numara) kuruluş biçimindedir ve numara ya da kuruluş adıyla aranır. Alan tek ASN alır ve varsayılan değeri 1'dir; hedef ASN mutlaka seçilir.
Sağlayıcının bütün ağları
Bir bulut ya da barındırma sağlayıcısının birden çok ASN'ini tek tek seçmek yerine Criteria = Network Type Group seçilip listeden bir ya da daha fazla sağlayıcı (ör. Amazon AWS, Hetzner) işaretlenir (bulut sağlayıcı senaryosu). Kalan adımlar aynıdır.
Add tıklanır. Birden fazla ASN için 1–3. adımlar her ASN için tekrarlanır (Add & Repeat formu açık tutar).
Load Balancer → Actions ekranında Add tıklanır (nasıl eklenir).
Action Name girilir. HTTP vService için Action Type = Block; Execution Level = On request, Deny Type = Standard, Status Code varsayılan 403. L7 TCP vService için Action type = TCP connection management ve Action = Reject ya da Silent drop. Conditions alanında ASN koşulları seçilir ve birden fazlaysa aynı grupta or ile birleştirilir. Etkiyi izlemek için Hit Counter açılabilir.
Add tıklanır; aksiyon listeye eklenir.
Load Balancer → Load Balancer vService List ekranında vService seçilip Edit tıklanır.
Save tıklanır; kural ayrı bir dağıtım adımı olmadan uygulanır. Cluster kurulumunda varsayılan auto-sync ile değişiklik eş cihaza da otomatik gönderilir; Manual Sync Mode açıksa eş cihaza elle gönderilir.
Doğrulama
Test edilecek adresin ASN'i Settings → General Settings → IP Intelligence & Reputation ekranındaki IP lookup sonuç kartında görülür.
Koşuldaki ASNBu ASN'e ait bir adresten istek gönderilir.
Komut: curl -sI https://www.example.com/
HTTP/1.1 403 ForbiddenYöntem 2: WEB-CLI
- Nasıl çalışır Yöntem 1'deki koşul, aksiyon ve bağlama WEB-CLI komutlarıyla yapılır.
- Nerede açılır WEB-CLI →
lb condition·lb action·lb service - Gereksinim WEB-CLI erişimi
- vService tipi HTTP (örnek Block aksiyonuyla)
Adım adım yapılandırma
ASN numarası AS öneki olmadan yazılır (koşul ölçütleri):
lb condition add criteria src_ip srcIpType asn asn 64500 --name asn-engel--cond alanı koşulun adını değil kimliğini alır. Kimlik listeden okunur:
lb condition list<koşul-kimliği> yerine 2. adımdaki kimlik yazılır; birden fazla ASN koşulu --cond '<kimlik-1> or <kimlik-2>' biçiminde birleştirilir:
lb action add type deny name asn-engeli --cond <koşul-kimliği>lb service show <vService>Çıktıdaki rules.0, rules.1 … satırları vService'te tanımlı aksiyonlardır.
--rules.N o sıradaki mevcut aksiyonun yerine geçer; yeni aksiyon ilk boş sıraya yazılır. vService'te hiç aksiyon yoksa sıra 0'dır; iki aksiyon varsa --rules.2 kullanılır:
lb service update id <vService> --rules.0 asn-engeliDoğrulama
vService kaydı yeniden görüntülenir.
Komut: lb service show <vService>
rules satırlarında asn-engeliSık Yapılan Hatalar
- TR7 CDN ya da proxy arkasındayken Trusted proxy tanımlamamak. Koşul proxy'nin adresinin ASN'ini değerlendirir; HTTP vService'te önce Trusted Proxy ile gerçek istemci IP'si çözülür.
- ASN alanının varsayılan değerini bırakmak. Alanın varsayılan değeri 1'dir; hedef ASN seçilmezse koşul yanlış ağa uygulanır.
- Büyük sağlayıcıları tek ASN ile hedeflemek. Bulut sağlayıcılarının birden fazla ASN'i vardır; sağlayıcının tamamı için Network Type Group koşulu kullanılır.
- Meşru kullanıcıları gözden kaçırmak. Kurumsal VPN çıkışları, izleme servisleri ve API istemcileri de veri merkezi ağlarından gelebilir; kuralın etkisi önce Hit Counter ile izlenir.
- WEB-CLI'da
--condalanına koşul adını yazmak ya da--rules.0ile mevcut aksiyonu ezmek.--condkoşulun kimliğini bekler;--rules.Niçin öncelb service showile ilk boş sıra bulunur.
Dokümantasyonda nasıl yapılır
