Akamai için Wallarm Bağlayıcısı¶
API’lerini Akamai CDN özellikleri üzerinden sunan müşteriler için Wallarm, özel bir EdgeWorker kod paketi sağlar. Bu EdgeWorker’ı dağıttığınızda, istekler origin’e ulaşmadan önce denetim ve koruma için bir Wallarm node’una yönlendirilir. Bu yaklaşım, origin altyapısında değişiklik yapmadan API trafiğini doğrudan edge üzerinde güvence altına almanıza imkân tanır.
Wallarm’ı Akamai için bir bağlayıcı olarak kullanmak için, Wallarm node’unu harici olarak dağıtmanız ve trafiği analiz için Wallarm node’una yönlendirmek üzere Akamai’de Wallarm tarafından sağlanan kod paketini uygulamanız gerekir.
Akamai için Wallarm bağlayıcısı hem senkron (in-line) hem de asenkron (out‑of‑band) trafik analizini destekler:
Kullanım durumları¶
Bu çözüm, Akamai CDN üzerinden sunulan API’lerin güvence altına alınması için önerilir.
Sınırlamalar¶
Akamai için Wallarm bağlayıcısının bazı sınırlamaları vardır:
-
When deploying the Wallarm service with the
LoadBalancer
type using the Helm chart, a trusted SSL/TLS certificate is required for the domain. Self-signed certificates are not yet supported. -
Custom blocking page and blocking code configurations are not yet supported.
All blocked malicious traffic is returned with status code
403
and the default block page. -
Rate limiting by Wallarm rules is not supported.
Rate limiting cannot be enforced on the Wallarm side for this connector. If you need rate limiting, use the features built into your API gateway or cloud platform.
-
Multitenancy is not supported.
All protected APIs are managed under a single Wallarm account; separating protection across multiple accounts for different infrastructures or environments is not yet supported.
Buna ek olarak, aşağıdaki EdgeWorkers platform kısıtlamaları bağlayıcı tasarımını etkiler:
-
httpRequest alan adı kısıtı – Bir EdgeWorker’dan yapılan alt istekler, zaten Akamai tarafından sunulan bir alan adını (yani yapılandırılmış bir property) hedeflemelidir
-
Yalnızca HTTPS alt istekleri – Başka bir protokol belirtilirse, EdgeWorkers bunu otomatik olarak HTTPS’e dönüştürür
-
Olay modeli kısıtı – İstek ve yanıt gövdelerine yalnızca
responseProvider
olayı içinde erişilebilir
Bu kısıtlamalar nedeniyle, Wallarm EdgeWorker, aynı property’ye geri bir alt istek yapan bir responseProvider
fonksiyonu olarak uygulanmıştır. Bu alt istek, sonsuz döngüleri önleyen ve trafiğin Wallarm node’una yönlendirilmesine imkân tanıyan x-wlrm-checked
özel başlığını içerir.
Gereksinimler¶
Wallarm EdgeWorker’ı Akamai üzerinde dağıtmak için aşağıdaki gereksinimlerin karşılandığından emin olun:
-
Akamai teknolojilerine hâkimiyet
-
Sözleşmenizde Akamai EdgeWorkers’ın etkinleştirilmiş olması
-
Origin backend’in mevcut olması
- API servislerinizin erişilebilir bir origin sunucusunda çalışıyor olması
- Origin alan adının, bir CNAME kaydı üzerinden Akamai property ana bilgisayar adına çözünmesi
-
Korumalı origin’e trafiği iletecek şekilde yapılandırılmış Akamai property
- Property, Default Rule içinde Origin Server davranışını içermelidir
- Property, sunulan host için geçerli bir TLS sertifikasına sahip olmalıdır
-
Bir DNS bölgesi (ör.
customer.com
) üzerinde kontrol ve Wallarm Node property’si için adanmış bir alt alan adı (ör.node.customer.com
) ayırma hazırlığıProperty oluşturulduktan sonra Akamai bir Edge Hostname döndürecektir (ör.
node.customer.com.edgesuite.net
). DNS’inizde, seçtiğiniz alt alan adını bu Edge Hostname’e işaret eden bir CNAME kaydı oluşturmalısınız.
Dağıtım¶
1. Bir Wallarm node’u dağıtın¶
Wallarm node’u, dağıtmanız gereken Wallarm platformunun çekirdek bileşenidir. Gelen trafiği inceler, kötü niyetli aktiviteleri tespit eder ve tehditleri azaltacak şekilde yapılandırılabilir.
Akamai bağlayıcısı için node’u yalnızca kendi altyapınızda dağıtabilirsiniz.
Self-hosted node dağıtımı için bir yapıt (artifact) seçin ve ilgili talimatları izleyin:
-
Bare metal veya VM’lerdeki Linux altyapıları için All-in-one installer
-
Konteynerleştirilmiş dağıtımlar kullanan ortamlar için Docker image
-
Kubernetes kullanan altyapılar için Helm chart
Gerekli Node sürümü
Akamai bağlayıcısının yalnızca Native Node’un 0.16.3+ sürümü tarafından desteklendiğini lütfen unutmayın.
2. Wallarm kod paketini edinin ve EdgeWorker’lar oluşturun¶
Wallarm kod paketini Akamai EdgeWorkers üzerinde edinmek ve çalıştırmak için şu adımları izleyin:
-
Wallarm kod paketini edinmek için support@wallarm.com adresiyle iletişime geçin.
-
Akamai Control Center → EdgeWorkers → Create EdgeWorker ID öğesine gidin, ardından
wallarm-main
kod paketini içe aktarın.Bu, istekleri Wallarm node’u üzerinden yönlendiren ana EdgeWorker’dır.
-
Başka bir EdgeWorker ID oluşturun ve
wallarm-sp
paketini içe aktarın.Bu, spoofing önleme için önerilen EdgeWorker’dır. Bir property gerektirmez.
3. Wallarm Node property’sini oluşturun¶
-
Akamai Property Manager’da yeni bir property oluşturun:
- Property name / hostname: ayrılmış Node hostname’i (ör.
node.customer.com
). Bu hostname, kontrol ettiğiniz bir DNS bölgesine ait olmalıdır. - Property type:
Dynamic Site Accelerator
. - Origin type:
Web server
. - Origin Hostname: dağıttığınız Wallarm Node’un gerçek adresi.
- Property name / hostname: ayrılmış Node hostname’i (ör.
-
Property için TLS yapılandırın:
- Ya Akamai Managed Certificate seçin (Akamai,
node.customer.com
için bir sertifika düzenler ve yönetir) ya da - Gerekirse kendi sertifikanızı yükleyin.
- Ya Akamai Managed Certificate seçin (Akamai,
-
Property’yi kaydedin. Akamai aşağıdakine benzer bir Edge Hostname üretecektir:
-
DNS bölgenizde, Node hostname’inizi Edge Hostname’e işaret eden bir CNAME kaydı oluşturun, ör.:
-
Property’yi staging’de etkinleştirin, işlevselliği doğrulayın, ardından production’da etkinleştirin.
4. Origin property’de değişkenleri yapılandırın¶
Mevcut origin property’nizi açın → Edit New Version ve aşağıdaki değişkenleri yapılandırın:
Değişken | Açıklama | Gerekli mi? |
---|---|---|
PMUSER_WALLARM_NODE | wallarm-main EdgeWorker’ı için oluşturduğunuz property adı. | Evet |
PMUSER_WALLARM_HEADER_SECRET | Spoofing önleme için rastgele bir gizli değer, ör. aj8shd82hjd72hs9 . wallarm-main EdgeWorker, bir isteği aynı property’ye geri yönlendirdiğinde bu değeri içeren x-wlrm-checked başlığını ekler. wallarm-sp EdgeWorker bu başlığı doğrular: eşleşme yoksa istek engellenir. Bu, sonsuz döngüleri önler ve istemcilerin Wallarm kontrollerini atlamak için sahte bir başlık eklemesini engeller.Gizli tutun ve başka yerde yeniden kullanmayın. | Evet |
PMUSER_WALLARM_ASYNC | Trafik işleme modunu belirler: false , trafiği doğrudan Wallarm Node üzerinden işler (senkron), true ise trafiğin kopyasını orijinal akışı etkilemeden analiz eder (asenkron). Varsayılan: false . | Hayır |
PMUSER_WALLARM_INSPECT_REQ_BODY | İstek gövdelerinin analiz için Wallarm node’una gönderilip gönderilmeyeceğini kontrol eder. Varsayılan: true . | Hayır |
PMUSER_WALLARM_INSPECT_RSP_BODY | Yanıt gövdelerinin analiz için Wallarm node’una gönderilip gönderilmeyeceğini kontrol eder. Yanıt şeması keşfini ve gelişmiş saldırı ile zafiyet tespit kabiliyetlerini etkinleştirir. Varsayılan: true . | Hayır |
Bağlayıcı modunu ve gövde inceleme ayarlarını rota bazında veya dosya türüne göre Set Variable davranışını kullanarak ince ayar yapabilirsiniz.
5. Wallarm EdgeWorker kuralını ekleyin¶
Origin property’de yeni bir boş kural oluşturun:
-
Kriter:
-
Davranış: EdgeWorkers →
wallarm-main
EdgeWorker
Daha karmaşık kurulumlarda, bu koşulu yol kontrolleriyle birleştirerek (örneğin kuralı yalnızca /api/*
yollarına uygulayarak) yalnızca API trafiğinin Wallarm tarafından işlenmesini sağlayabilirsiniz.
6. Spoofing önleme kuralını ekleyin¶
Origin property’de başka bir yeni boş kural oluşturun:
-
Kriter:
-
Davranış: EdgeWorkers →
wallarm-sp
EdgeWorker
Bu kural, x-wlrm-checked
başlığının PMUSER_WALLARM_HEADER_SECRET
değerine eşit olmasını sağlar. Başka herhangi bir değer engellenir; bu, istemcilerin Wallarm kontrollerini atlamasını engeller.
Daha karmaşık kurulumlarda, bu koşulu yol kontrolleriyle birleştirerek (örneğin kuralı yalnızca /api/*
yollarına uygulayarak) yalnızca API trafiğinin Wallarm tarafından işlenmesini sağlayabilirsiniz.
7. Property’yi kaydedin ve etkinleştirin¶
-
Yeni origin property sürümünü kaydedin.
-
Doğrulamanın ardından production’da etkinleştirin.
Test¶
Dağıtılan EdgeWorker’ların işlevselliğini test etmek için şu adımları izleyin:
-
Akamai CDN’inize test Dizin Geçişi saldırısıyla bir istek gönderin:
-
Wallarm Console → Attacks bölümünü US Cloud veya EU Cloud içinde açın ve saldırının listede görüntülendiğinden emin olun.
Wallarm node modu engelleme olarak ayarlıysa, istek de engellenir.
Wallarm EdgeWorker’larını yükseltme¶
Dağıtılan Wallarm EdgeWorker’larını daha yeni bir sürüme yükseltmek için:
-
wallarm-main
için oluşturduğunuz EdgeWorker’a gidin. -
Create Version’a basın ve yeni
wallarm-main
kod paketini yükleyin. -
Doğrulamanın ardından production’da etkinleştirin.
-
Sürümü değiştiyse
wallarm-sp
kod paketi için de aynı adımları tekrarlayın.
EdgeWorker yükseltmeleri, özellikle majör sürüm güncellemelerinde, bir Wallarm node yükseltmesi gerektirebilir. Self-hosted Node sürüm notları için Native Node değişiklik günlüğüne bakın. Eskimeyi önlemek ve gelecekteki yükseltmeleri basitleştirmek için düzenli node güncellemeleri önerilir.