MuleSoft Flex Gateway için Wallarm Connector¶
Bu kılavuz, Wallarm connector kullanarak MuleSoft Flex Gateway tarafından yönetilen Mule ve Mule olmayan API'larınızı nasıl güvence altına alacağınızı açıklar.
Flex Gateway için Wallarm'ı bir connector olarak kullanmak için, Wallarm node'u harici olarak dağıtmanız ve trafiği analiz için Wallarm node'una yönlendirmek amacıyla MuleSoft içinde Wallarm tarafından sağlanan policy'yi uygulamanız gerekir.
Flex Gateway için Wallarm connector, hem eşzamanlı (in-line) hem de eşzamansız (out‑of‑band) trafik analizini destekler:
Kullanım senaryoları¶
Bu çözüm, Flex Gateway tarafından yönetilen API'ların güvenliğini sağlamak için önerilen çözümdür.
Sınırlamalar¶
-
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.
Gereksinimler¶
Dağıtıma devam etmek için aşağıdaki gereksinimleri karşıladığınızdan emin olun:
-
MuleSoft platformunu anlama.
-
Uygulamanız ve API'niz Flex Gateway üzerinde ilişkilendirilmiş ve çalışır durumda.
Kısmi istekler notu
Policy engelleme modunda çalışan connector için, upstream'inizin kısmi istekleri güvenli şekilde işleyebildiğinden emin olun. Bunun nedeni
proxy wasm
policy'lerinin akış doğasıdır - tam doğrulama tamamlanmadan önce bazı gövde verileri upstream'e ulaşabilir. Daha fazla bilgi -
MuleSoft kullanıcınızın MuleSoft Anypoint Platform hesabına artifact yükleme yetkisi olması.
-
Wallarm Console'da US Cloud veya EU Cloud için Administrator hesabına erişim.
-
Ana sisteminizde yüklü Node.js 16.0.0+ ve
npm
7+. -
Ana sisteminizde yüklü
make
. -
Ana sisteminizde yüklü Anypoint CLI 4.x.
-
Ana sisteminizde yüklü PDK CLI ön koşulları.
-
Ana sisteminizde yüklü ve çalışan Docker.
-
Native Node 0.16.0 veya üzeri.
Dağıtım¶
1. Bir Wallarm node dağıtın¶
Wallarm node, dağıtmanız gereken Wallarm platformunun temel bileşenidir. Gelen trafiği inceler, kötü amaçlı etkinlikleri tespit eder ve tehditleri azaltacak şekilde yapılandırılabilir.
Flex Gateway connector için node'u yalnızca kendi altyapınızda dağıtabilirsiniz.
Kendi kendine barındırılan node dağıtımı için bir yapıt seçin ve ekli talimatları izleyin:
-
Bare metal veya VM'lerde Linux altyapıları için All-in-one installer
-
Container tabanlı dağıtımları kullanan ortamlar için Docker image
-
Kubernetes kullanan altyapılar için Helm chart
Gerekli Node sürümü
Lütfen MuleSoft Flex Gateway connector'ünün yalnızca Native Node'un 0.16.0+ sürümü tarafından desteklendiğini unutmayın.
2. Wallarm policy'sini MuleSoft Exchange'e edinin ve yükleyin¶
Wallarm policy'sini edinmek ve MuleSoft Exchange'e yüklemek için şu adımları izleyin:
-
Kod paketini almak için sales@wallarm.com ile iletişime geçin.
-
Policy'yi yayınlamak için kullanacağınız makinenin gerekli tüm gereksinimleri karşıladığından emin olun.
-
Policy arşivini çıkarın.
-
MuleSoft Anypoint Platform → Access Management → Business Groups → kuruluşunuzu seçin → business group ID değerini kopyalayın.
-
Çıkardığınız policy dizininde →
Cargo.toml
→[package.metadata.anypoint]
→group_id
alanına kopyaladığınız grup ID'sini girin: -
Policy ile çalıştığınız aynı terminal oturumunda Anypoint CLI ile kimlik doğrulayın:
-
Policy'yi derleyin ve yayınlayın:
Özel policy'niz artık MuleSoft Anypoint Platform Exchange'de kullanılabilir.
3. Wallarm policy'sini API'nize ekleyin¶
Wallarm policy'yi tek bir API'ya veya tüm API'lara ekleyebilirsiniz.
-
Policy'yi tek bir API'ya uygulamak için Anypoint Platform → API Manager → istenen API'yı seçin → Policies → Add policy yolunu izleyin.
-
Policy'yi tüm API'lara uygulamak için Anypoint Platform → API Manager → Automated Policies → Add automated policy yolunu izleyin.
-
Exchange'den Wallarm policy'yi seçin.
-
wallarm_node
parametresindehttp://
veyahttps://
dahil Wallarm node URL'sini belirtin. -
Gerekirse, diğer parametreleri değiştirin.
-
Policy'yi uygulayın.
Yapılandırma seçenekleri¶
Flex Gateway için Wallarm policy ayarlarında aşağıdaki parametreleri belirtebilirsiniz:
Parametre | Açıklama | Gerekli mi? |
---|---|---|
wallarm_node | Wallarm Node örneğinizin adresini ayarlar. | Evet |
real_ip_header | Proxy veya yük dengeleyici arkasındayken orijinal istemci IP adresini belirlemek için hangi başlığın kullanılacağını belirtir. Varsayılan: X-Forwarded-For . | Evet |
wallarm_mode | Trafik işleme modunu belirler: sync , trafiği doğrudan Wallarm Node üzerinden işler, async ise trafiğin kopyasını orijinal akışı etkilemeden analiz eder. Varsayılan: sync . | Evet |
fallback_action | Wallarm node kapalıyken istek işleme davranışını tanımlar. pass (tüm istekler geçirilir) veya block (tüm istekler 403 kodu ile engellenir) olabilir. Varsayılan: pass . | Evet |
parse_responses | Yanıt gövdelerinin analiz edilip edilmeyeceğini kontrol eder. Yanıt şeması keşfini ve gelişmiş saldırı ve zafiyet tespit yeteneklerini etkinleştirir. Varsayılan: true . | Evet |
response_body_limit | Wallarm node'una gönderilen yanıt gövdesinin boyutunu sınırlar. Varsayılan: 4096 bayt. | Hayır |
Test¶
Dağıtılan policy'nin işlevselliğini test etmek için şu adımları izleyin:
-
API'nize test amaçlı Path Traversal saldırısı içeren isteği gönderin:
-
Wallarm Console → US Cloud veya EU Cloud içindeki Attacks bölümünü açın ve saldırının listede görüntülendiğinden emin olun.
Wallarm node modu engelleme olarak ayarlanmışsa ve trafik in-line akıyorsa, istek de engellenecektir.
Sorun giderme¶
Çözüm beklenildiği gibi çalışmıyorsa, MuleSoft Anypoint Platform → Runtime Manager → uygulamanız → Logs yolunu izleyerek API'nizin günlüklerine bakın.
Ayrıca API Manager içinde API'nize gidip Policies sekmesinde uygulanan policy'leri inceleyerek policy'nin API'ya uygulanıp uygulanmadığını doğrulayabilirsiniz. Otomatik policy'ler için, kapsanan API'ları ve hariç tutulma nedenlerini görmek amacıyla See covered APIs seçeneğini kullanabilirsiniz.
Policy'yi yükseltme¶
Dağıtılmış Wallarm policy'yi daha yeni bir sürüme yükseltmek için:
-
Güncellenmiş Wallarm policy'yi indirin ve Adım 2'de açıklandığı gibi MuleSoft Exchange'e yükleyin.
-
Yeni sürüm Exchange'de göründüğünde, API Manager → API'niz → Policies → Wallarm policy → Edit configuration → Advanced options yolunu izleyin ve açılır menüden yeni policy sürümünü seçin.
-
Yeni sürüm ek parametreler getiriyorsa, gerekli değerleri sağlayın.
-
Değişiklikleri kaydedin.
Wallarm policy otomatik policy olarak uygulanıyorsa, doğrudan yükseltmeler mümkün olmayabilir. Bu gibi durumlarda mevcut policy'yi kaldırın ve yeni sürümü manuel olarak yeniden uygulayın.
Policy yükseltmeleri, özellikle büyük sürüm güncellemeleri için bir Wallarm node yükseltmesi gerektirebilir. Kendi kendine barındırılan Node sürüm notları için Native Node değişiklik günlüğüne bakın. Gelecekteki yükseltmeleri basitleştirmek ve kullanımdan kaldırmayı önlemek için düzenli node güncellemeleri önerilir.
Policy'yi kaldırma¶
Wallarm policy'yi kaldırmak için, otomatik policy listesinde veya tek bir API'ya uygulanmış policy'lerin listesinde Remove policy seçeneğini kullanın.