Skip to content
Smarter by Design.Simpler for Business

Block ​

Block Aksiyonu Nedir? ​

Block aksiyonu, TR7 üzerinde çalışan vService'lere gelen isteklerin veya dönen yanıtların, tanımlanan koşullara göre kontrollü şekilde engellenmesini sağlar. Bu aksiyon, istek (request) veya yanıt (response) aşamasında devreye alınabilir.

Bloklanan istemciler, varsayılan olarak HTTP 403 (Forbidden) durum kodu ile yanıtlanır. İhtiyaca göre farklı HTTP durum kodları da kullanılabilir.

İstek TR7 Block403Forbidden

Block aksiyonu; yetkisiz erişimlerin engellenmesi, saldırı yüzeyinin daraltılması ve hassas servislerin korunması amacıyla yaygın olarak kullanılır.

Block Aksiyonunun Önemi ​

Trafik manipülasyonu kapsamında yapılan bloklama işlemleri, uygulama güvenliğinin ve trafik kontrolünün temel yapı taşlarından biridir. Uygun şekilde yapılandırılmış Bloklama aksiyonları sayesinde, zararlı veya istenmeyen istekler Kurum Servislerine ulaşmadan önce engellenir.

Bloklama aksiyonu;

  • Yetkisiz erişim girişimlerini engeller,
  • Hassas endpoint'lerin korunmasını sağlar,
  • Güvenlik ihlallerinin Kurum Servislerini etkilemesini önler,
  • Trafik üzerinde hızlı ve deterministik kontrol imkânı sunar,
  • WAF, DDOS ve trafik kuralları ile birlikte bütünsel bir güvenlik katmanı oluşturur.

Bu nedenle Bloklama aksiyonu, TR7 üzerinde uygulanan güvenlik ve trafik politikalarının en kritik aksiyonlarından biridir.

Kullanılabildiği vService Tipleri ​

HTTP
L7 TCP
Network

Çalışma Anı ​

İstek Anı (On Request)
Cevap Anı (On Response)

Nasıl Eklenir? ​

Yeni bir Block Aksiyonu, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlar izlenerek eklenebilir:

  1. Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
  2. Load Balancer → Actions → Add adımları takip edilir.
  3. Aksiyon için benzersiz ve açıklayıcı bir isim girilir.
  4. Action Type olarak Block seçilir.
  5. Aksiyona ait ilgili konfigürasyonlar yapılandırılır.
  6. Conditions sekmesinden aksiyonun hangi koşul/koşullarda devreye gireceği belirlenir.
  7. Add butonuna tıklanarak aksiyon eklenir.

Block Aksiyonu Ekleme Formu ​

Block Aksiyonu Ekleme FormuBlock Aksiyonu Ekleme Formu

INFO

Action Name ​

Oluşturulacak olan aksiyona benzersiz ve açıklayıcı bir isim girilir.

INFO

Action Type ​

Aksiyon tipi olarak Block seçilir.

INFO

Execution Level ​

Aksiyonun hangi aşamada çalıştırılacağını belirler.

  • On Request: Aksiyon, istek ilgili Kurum Servisine iletilmeden önce uygulanır. Bu seviye, istek üzerinde değişiklik yapılması veya Kurum Servisine ek bilgi iletilmesi gereken durumlarda kullanılır.
  • On Response: Aksiyon, yanıt istemciye iletilmeden önce uygulanır. Bu seviye, istemciye gönderilen yanıt üzerinde düzenleme veya ekleme yapılması gereken durumlarda kullanılır.

INFO

Hit Counter Varsayılan: Kapalı ​

Hit Counter, aksiyonun her çalışmasını sayar (aksiyonun kendi koşuluyla birlikte değerlendirilir; Deny gibi sonlandırıcı aksiyonlarda bile sayım kaybolmaz). Aksiyon bazlı hız ve toplamlar, vService panosundaki Action Hits sekmesinde ve canlı istatistik ekranında görüntülenir; listelerde ayrıca bir kolon olarak görünmez. Sayaç kümülatiftir; elle sıfırlama arayüzü yoktur: sayılan aksiyon kümesi değiştiğinde veya vService yeniden yüklendiğinde sıfırdan başlar, geçmiş ise panoda hız (hit/s) olarak korunur.

INFO

Set Variable on Hit ​

Aksiyon her çalıştığında değeri atanacak bir değişken adı girilebilir (isteğe bağlı; varsayılan boş). Ad; harf, rakam ve alt çizgiden oluşabilir (en fazla 32 karakter). Aksiyon tetiklendiğinde değişken 1 değerine atanır ve aynı vService'teki diğer koşul ve aksiyonlarda %TR7VAR(ad) akıllı değişkeniyle okunarak zincirleme davranışlar kurulabilir.

INFO

Deny Type ​

Bloklama işleminin istemci tarafında nasıl uygulanacağı seçilir. Seçilen deny tipi, istemciye dönecek davranışı ve bağlantının sonlandırılma şeklini doğrudan etkiler.

  • Standard: İstek, tanımlanan koşul sağlandığı anda anında bloklanır ve istemciye seçilen HTTP durum kodu ile yanıt döndürülür. Bu yöntem, istemciye açık ve deterministik bir geri bildirim vererek erişimin reddedilmesini sağlar ve varsayılan bloklama yaklaşımı olarak en yaygın kullanılan deny tipidir.
  • Tarpit: İstemci bağlantısı bilinçli olarak açık tutulur ve yanıt üretimi geciktirilerek trafik yavaşlatılır. Bekletme süresi, vService'in timeout profilindeki Connect timeout değerinden gelir (varsayılan 20 saniye). Bu yöntem, otomatik tarama araçları, botlar ve brute-force denemelerini bağlantı süresi ve kaynak tüketimi üzerinden yıpratmak amacıyla kullanılır.
  • Silent Drop: İstemciye herhangi bir HTTP yanıtı döndürülmeden bağlantı sonlandırılır veya tamamen yok sayılır. Bu seçimde Status Code alanı gizlenir (yanıt üretilmediği için kod seçilmez). Bu yöntem, açıkça kötü niyetli olduğu tespit edilen bot, tarama ve saldırı trafiğinin sistem kaynaklarını minimum düzeyde etkileyecek şekilde engellenmesi amacıyla kullanılır.

Tarpit seçeneği yalnızca Execution Level olarak On Request seçiliyken listede yer alır; On Response seçildiğinde bu seçenek sunulmaz (önceden seçilmişse otomatik olarak Standard'a döner).

INFO

Status Code ​

Bloklama işlemi sırasında istemciye döndürülecek HTTP durum kodu bu alandan seçilir. Varsayılan olarak HTTP 403 (Forbidden) kullanılır.

Örnek 403 Bloklama SayfasıÖrnek 403 Bloklama Sayfası

Seçilen HTTP durum kodu, istemci tarafında engellemenin nasıl algılanacağını ve uygulamanın vereceği geri bildirimi doğrudan etkiler.

Yaygın kullanım senaryoları:

  • 403 – Forbidden: Yetkisiz veya erişimi kısıtlanmış bir kaynağa erişim denendiğini ifade eder. En yaygın kullanılan bloklama kodudur ve çoğu güvenlik senaryosu için önerilir.
  • 401 – Unauthorized: İstemcinin kimlik doğrulaması yapmadığını veya geçerli bir kimlik bilgisi sunmadığını belirtir. Bu kod seçildiğinde, istemciye erişimin kimlik doğrulama gerektirdiği mesajı verilmiş olur.
  • 404 – Not Found: İstenen kaynağın mevcut olmadığı izlenimi verilir. Hassas endpoint'lerin (yönetim panelleri, özel path'ler vb.) gizlenmesi amacıyla tercih edilebilir.
  • 429 – Too Many Requests: İstemcinin çok fazla istek gönderdiğini ifade eder. Rate limit, brute-force veya yoğunluk senaryolarında anlamlı bir geri bildirim sağlar.
  • 503 – Service Unavailable: Servisin geçici olarak kullanılamadığı izlenimi oluşturur. Bakım, geçici kısıtlama veya kontrollü servis durdurma senaryolarında kullanılabilir.

Doğru HTTP durum kodunun seçilmesi, hem güvenlik politikalarının doğru ifade edilmesini hem de istemci davranışının istenen yönde yönlendirilmesini sağlar.

WARNING

Bazı kodlar için (ör. 426, 451) motorun hazır hata sayfası bulunmaz; bu kodlarda istemciye biçimli bir hata sayfası yerine yalnızca kodu içeren düz metin bir yanıt döner.

INFO

Conditions ​

Bu alanda, ilgili aksiyonun hangi koşul veya koşullar sağlandığında devreye gireceği tanımlanır.

Bir veya birden fazla koşul eklenerek, and/or yapısı ile davranışın hedefli ve kontrollü şekilde uygulanması sağlanabilir.

Koşullar hakkında detaylı bilgi Conditions sayfasında yer alır.

WARNING

Bu alanda herhangi bir koşul tanımlanmazsa, ilgili aksiyon koşulsuz (Always) olarak çalışır. Bu durumda aksiyon, ilgili vService'e gelen tüm trafiğe uygulanır.

Canlı ortamlarda, koşul tanımlanmadan aksiyon kullanılması beklenmeyen durumlara (servis kesintilerine) yol açabilir. Bu nedenle aksiyon oluşturulurken mutlaka en az bir koşul tanımlanması önerilir.

INFO

Form Butonları ​

Add ​

Add butonuna tıklanarak aksiyon ekleme işlemi tamamlanır.

Add & Repeat ​

Add & Repeat butonu ile aksiyon ekleme işlemi tamamlanır ve farklı konfigürasyonlarla ilgili pencereden çıkılmadan yeni bir aksiyon daha eklenebilir.

Aksiyon EklendiAksiyon Eklendi

Operasyonel ve Güvenli Kullanım Önerileri ​

Block aksiyonu, TR7 üzerinde güçlü bir kontrol mekanizması sunar. Aşağıdaki öneriler, canlı ortamlarda güvenli ve kontrollü kullanım sağlar.

  • Execution Level Seçimini Senaryoya Göre Yapın. Backend'e ulaşmaması gereken istekler için On Request, yanıt içeriğine göre kontrol gereken durumlar için On Response tercih edilmelidir.
  • Deny Type Seçimini Bilinçli Yapın. Standart engellemeler için Standard, otomatik tarama ve bot aktiviteleri için Tarpit veya Silent Drop kullanımı değerlendirilebilir.
  • Status Code Seçimini Amaca Göre Belirleyin. Yetkisiz erişimler için 403, rate limit veya yoğunluk senaryolarında 429 gibi uygun durum kodları tercih edilmelidir.
  • Canlı Ortamda Değişiklik Öncesi "Used In" Bilgisini Kontrol Edin. Bir Block aksiyonunun hangi vService'lerde aktif olduğunu kontrol etmeden değişiklik yapılması, beklenmeyen servis kesintilerine neden olabilir.
  • Bloklama Kapsamını Net Tutun. Gereğinden geniş koşullar, meşru trafiğin engellenmesine yol açabilir. Koşullar mümkün olduğunca hedefli ve net tanımlanmalıdır.

Canlı Ortamlarda Yaygın Kullanım Senaryoları ​

Aşağıdaki örnekler, ilgili aksiyonun gerçek sistemlerde en sık karşılaşılan kullanım senaryolarında nasıl uygulandığını göstermektedir. Bu senaryolar, canlı ortamlarda yaygın olarak tercih edilen ve sahada edinilmiş deneyimlere dayanan pratikleri temel alır.

Senaryo 1: WordPress Admin Güvenliği ​

Problem: WordPress yönetim paneline internet üzerinden herkes erişebiliyor, bu ciddi bir güvenlik riski oluşturuyor.

Çözüm: Sadece ofis ağından (192.168.10.0/24) gelen isteklere izin ver, diğerlerini engelle.

Konfigürasyon:

  • Execution Level: On Request
  • Deny Type: Standard
  • Status Code: 403 Forbidden
  • Conditions:

Sonuç:

  • ✅ Ofis ağından (192.168.10.x) → WordPress admin panele erişim sağlanır.
  • ❌ Dış ağlardan (Internet) → HTTP 403 Forbidden yanıtı alınır.

Senaryo 2: Exchange Admin Panel Koruma ​

Problem: Exchange Control Panel'e (ECP) internet üzerinden herkes erişebiliyor, yetkisiz erişim riski var.

Çözüm: Sadece whitelist'te tanımlı IP adreslerinden erişim izni ver, diğer tüm istekleri engelle.

Konfigürasyon:

  • Execution Level: On Request
  • Deny Type: Standard
  • Status Code: 403 Forbidden
  • Conditions:

Sonuç:

  • ✅ Whitelist'teki IP'ler → Exchange Control Panel'e erişim sağlanır.
  • ❌ Whitelist dışındaki IP'ler → HTTP 403 Forbidden yanıtı alınır.

Senaryo 3: Genel Admin Path Koruma ​

Problem: Generic admin paneline internet üzerinden herkes erişebiliyor, bu ciddi bir güvenlik riski oluşturuyor.

Çözüm: Sadece ofis ağından (192.168.10.0/24) gelen isteklere izin ver, diğerlerini engelle.

Konfigürasyon:

  • Execution Level: On Request
  • Deny Type: Standard
  • Status Code: 403 Forbidden
  • Conditions:

Sonuç:

  • ✅ Ofis ağından (192.168.10.x) → Admin panele erişim sağlanır.
  • ❌ Dış ağlardan (Internet) → HTTP 403 Forbidden yanıtı alınır.

Senaryo 4: SQL Injection Scanner Engelleme ​

Problem: SQLMap gibi SQL injection test araçları sistemde zafiyet taraması yapıyor ve Kurum Servisine gereksiz yük bindiriyor.

Çözüm: User-Agent header'ından SQLMap'i tespit et ve Tarpit modu ile yavaşlatarak engelle.

Konfigürasyon:

  • Execution Level: On Request
  • Deny Type: Tarpit
  • Status Code: 403 Forbidden
  • Conditions: HTTP Header User-Agent CONTAINS sqlmap

Sonuç:

  • ✅ Meşru kullanıcılar (normal User-Agent) → Kurum Servisine iletilir.
  • ❌ SQLMap aracı → Bağlantı, timeout profilindeki Connect timeout süresi kadar (varsayılan 20 saniye) bekletilir ve HTTP 403 döndürülür.

Senaryo 5: Çoklu Scanner Tool Engelleme ​

Problem: Nikto, Nmap, Masscan gibi birden fazla vulnerability scanner aracı sistemde zafiyet taraması yapıyor.

Çözüm: Bilinen scanner araçlarını User-Agent header'ından tespit edip toplu olarak engelle.

Konfigürasyon:

  • Execution Level: On Request
  • Deny Type: Standard
  • Status Code: 403 Forbidden
  • Conditions:

Sonuç:

  • ✅ Meşru kullanıcılar (normal User-Agent) → Kurum Servisine iletilir.
  • ❌ Scanner araçları (Nikto/Nmap/Masscan) → HTTP 403 Forbidden yanıtı alınır.

Senaryo 6: Path Traversal Saldırı Engelleme ​

Problem: Saldırganlar path traversal (directory traversal) teknikleriyle üst dizinlere erişmeye çalışıyor ve hassas dosyalara ulaşmayı deniyor.

Çözüm: Path içinde traversal pattern'lerini tespit et ve hem normal hem URL-encoded formlarını engelle.

Konfigürasyon:

  • Execution Level: On Request
  • Deny Type: Standard
  • Status Code: 403 Forbidden
  • Conditions:
    • Path CONTAINS ../../
    • OR Path CONTAINS ..%2F

Sonuç:

  • ✅ Normal path'ler (traversal pattern yok) → Kurum Servisine iletilir.
  • ❌ Traversal girişimleri (../../ veya ..%2F) → HTTP 403 Forbidden yanıtı alınır.

Senaryo 7: Tek Domain Kontrolü ​

Problem: vService'e farklı Host header değerleriyle istekler geliyor, bu domain spoofing ve cache poisoning risklerine yol açıyor.

Çözüm: Sadece www.tr7.com domain'ine gelen isteklere izin ver, diğer Host header değerlerini engelle.

Konfigürasyon:

  • Execution Level: On Request
  • Deny Type: Standard
  • Status Code: 403 Forbidden
  • Conditions: HTTP Header Host NOT EQUALS www.tr7.com

Sonuç:

  • ✅ Host: www.tr7.com → Kurum Servisine iletilir.
  • ❌ Farklı Host header değerleri → HTTP 403 Forbidden yanıtı alınır.

Senaryo 8: IP-Based Host Header Engelleme ​

Problem: Saldırganlar Host header olarak IP adresi kullanarak cache poisoning ve host header injection saldırıları yapıyor.

Çözüm: Host header içinde IP adresi pattern'i tespit et ve bu tür istekleri engelle. Domain kullanımını zorunlu kıl.

Konfigürasyon:

  • Execution Level: On Request
  • Deny Type: Standard
  • Status Code: 403 Forbidden
  • Conditions: HTTP Header Host CONTAINS IP Pattern (regex ile tespit)

Sonuç:

  • ✅ Host: domain.com (domain formatı) → Kurum Servisine iletilir.
  • ❌ Host: 192.168.1.1 (IP formatı) → HTTP 403 Forbidden yanıtı alınır.

Senaryo 9: Domain Fronting Engelleme ​

Problem: Saldırganlar TLS SNI ile HTTP Host header arasında uyumsuzluk oluşturarak domain fronting saldırısı yapıyor ve filtreleme mekanizmalarını atlatmaya çalışıyor.

Çözüm: TLS SNI değeri ile HTTP Host header değerini karşılaştır, uyumsuzluk varsa engelle.

Konfigürasyon:

  • Execution Level: On Request
  • Deny Type: Standard
  • Status Code: 403 Forbidden
  • Conditions:

Sonuç:

  • ✅ SNI ve Host header uyumlu → Kurum Servisine iletilir.
  • ❌ SNI ve Host header uyumsuz (domain fronting) → HTTP 403 Forbidden yanıtı alınır.

Senaryo 10: Yüksek Riskli Ülke Engelleme ​

Problem: Belirli ülkelerden (Rusya, Çin, Kuzey Kore) gelen yüksek oranda saldırı trafiği tespit ediliyor ve sistemde güvenlik riski oluşturuyor.

Çözüm: GeoIP kullanarak bu ülkelerden gelen tüm istekleri engelle ve yasal sebeplerle erişilemez durum kodu döndür.

Konfigürasyon:

  • Execution Level: On Request
  • Deny Type: Standard
  • Status Code: 451 Unavailable For Legal Reasons
  • Conditions:

Sonuç:

  • ✅ Diğer ülkelerden gelen istekler → Kurum Servisine iletilir.
  • ❌ RU/CN/KP'den gelen istekler → HTTP 451 Unavailable For Legal Reasons yanıtı alınır (bu kodda biçimli hata sayfası yerine düz metin gövde döner).

Senaryo 11: Kritik Path'ler için Geo-Blocking ​

Problem: Admin paneline dünya genelinden erişim denemeleri yapılıyor, ancak sadece belirli ülkelerden erişim gerekiyor.

Çözüm: Admin paneline sadece Türkiye, ABD ve İngiltere'den erişim izni ver, diğer tüm ülkeleri engelle.

Konfigürasyon:

  • Execution Level: On Request
  • Deny Type: Standard
  • Status Code: 403 Forbidden
  • Conditions:

Sonuç:

  • ✅ TR/US/GB'den /admin isteği → Kurum Servisine iletilir.
  • ❌ Diğer ülkelerden /admin isteği → HTTP 403 Forbidden yanıtı alınır.

Senaryo 12: High-Risk Country List Kullanımı ​

Problem: Ödeme sayfalarına yüksek riskli ülkelerden gelen dolandırıcılık (fraud) girişimleri tespit ediliyor.

Çözüm: Ödeme sayfalarına sadece düşük riskli ülkelerden erişim izni ver, yüksek riskli ülkeleri engelle.

Konfigürasyon:

  • Execution Level: On Request
  • Deny Type: Standard
  • Status Code: 403 Forbidden
  • Conditions:
    • Source IP Country IN high_risk_country_list
    • AND Path CONTAINS /payment

Sonuç:

  • ✅ Düşük riskli ülkelerden /payment isteği → Kurum Servisine iletilir.
  • ❌ Yüksek riskli ülkelerden /payment isteği → HTTP 403 Forbidden yanıtı alınır.