Ana içeriğe geç

Wallarm Kod Paketi ile Akamai EdgeWorkers

Akamai EdgeWorkers, platformun kenarında özel mantık çalıştırmaya ve hafif JavaScript işlevlerini dağıtmaya imkan veren güçlü bir edge computing platformudur. API'leri ve trafiği Akamai EdgeWorkers üzerinde çalışan müşteriler için Wallarm, altyapılarınızı korumak amacıyla Akamai EdgeWorkers üzerinde dağıtılabilecek bir kod paketi sunar.

Çözüm, Wallarm node'unun harici olarak dağıtılmasını ve özel kod ya da politikaların belirli platforma enjekte edilmesini içerir. Bu, trafiğin analiz ve potansiyel tehditlere karşı koruma sağlamak amacıyla harici Wallarm node'una yönlendirilmesini sağlar. Wallarm'ın konektörleri olarak adlandırılan bu yapı, Azion Edge, Akamai Edge, Mulesoft, Apigee ve AWS Lambda gibi platformlar ile harici Wallarm node arasında hayati bir bağlantı görevi görür. Bu yaklaşım, sorunsuz entegrasyon, güvenli trafik analizi, risk azaltma ve genel platform güvenliği sağlar.

Kullanım Senaryoları

Desteklenen tüm Wallarm dağıtım seçenekleri arasında, bu çözüm aşağıdaki kullanım senaryoları için önerilmektedir:

  • Akamai EdgeWorkers üzerinde çalışan API'lerin veya trafiğin korunması.

  • Kapsamlı saldırı gözlemi, raporlama ve kötü niyetli isteklerin anında engellenmesini sağlayan bir güvenlik çözümü gereksinimi.

Sınırlamalar

Çözüm, yalnızca gelen isteklere çalıştığından dolayı bazı sınırlamalara sahiptir:

  • Pasif algılama yöntemi ile açıklık tespiti düzgün çalışmaz. Çözüm, test ettiği açıklıklara özgü kötü niyetli isteklere sunucunun verdiği yanıtlara dayanarak bir API'nin açık olup olmadığını belirler.

  • Wallarm API Discovery, çözümün yanıt analizi yapmasına dayanması nedeniyle trafiğinize dayalı API envanterini keşfedemez.

  • Zorla taramaya karşı koruma mevcut değildir, çünkü bu durum yanıt kodu analizini gerektirir.

Ayrıca, EdgeWorkers ürün sınırlamaları ve http-request kaynaklı sınırlamalar da vardır:

  • Desteklenen tek trafik iletim yöntemi gelişmiş TLS’dir.

  • Maksimum yanıt başlık boyutu 8000 bayttır.

  • Maksimum gövde boyutu 1 MB'dır.

  • Desteklenmeyen HTTP yöntemleri: CONNECT, TRACE, OPTIONS (desteklenen yöntemler: GET, POST, HEAD, PUT, PATCH, DELETE).

  • Desteklenmeyen başlıklar: connection, keep-alive, proxy-authenticate, proxy-authorization, te, trailers, transfer-encoding, host, content-length, vary, accept-encoding, content-encoding, upgrade.

Gereksinimler

Dağıtıma devam edebilmek için aşağıdaki gereksinimlerin karşılandığından emin olun:

  • Akamai EdgeWorkers teknolojilerinin anlaşılması

  • Akamai EdgeWorkers üzerinden akan API'ler veya trafik.

Dağıtım

Akamai EdgeWorkers üzerinde API'lerinizi Wallarm ile korumak için aşağıdaki adımları izleyin:

  1. Mevcut dağıtım seçeneklerinden biriyle bir Wallarm node'u dağıtın.

  2. Wallarm kod paketini elde edin ve bunu Akamai EdgeWorkers üzerinde çalıştırın.

1. Bir Wallarm node'u dağıtın

Akamai EdgeWorkers üzerinde Wallarm kullanırken, trafik akışı in-line şeklindedir.

  1. In-line dağıtım için desteklenen Wallarm node dağıtım çözümlerinden veya artefaktlarından birini seçin ve sağlanan dağıtım talimatlarını izleyin.

  2. Dağıtılan node'u aşağıdaki şablonu kullanarak yapılandırın:

    server {
        listen 80;
    
        server_name _;
    
        access_log off;
        wallarm_mode off;
    
        location / {
            proxy_set_header Host $http_x_forwarded_host;
            proxy_pass http://unix:/tmp/wallarm-nginx.sock;
        }
    }
    
    server {
        listen 443 ssl;
    
        server_name yourdomain-for-wallarm-node.tld;
    
        ### SSL configuration here
    
        access_log off;
        wallarm_mode off;
    
        location / {
            proxy_set_header Host $http_x_forwarded_host;
            proxy_pass http://unix:/tmp/wallarm-nginx.sock;
        }
    }
    
    
    server {
        listen unix:/tmp/wallarm-nginx.sock;
    
        server_name _;
    
        wallarm_mode monitoring;
        #wallarm_mode block;
    
        real_ip_header X-EDGEWRK-REAL-IP;
        set_real_ip_from unix:;
    
        location / {
            echo_read_request_body;
        }
    }
    

    Lütfen aşağıdaki yapılandırmalara dikkat edin:

    • HTTPS trafiği için TLS/SSL sertifikaları: Wallarm node'unun güvenli HTTPS trafiğini işleyebilmesi için TLS/SSL sertifikalarını uygun şekilde yapılandırın. Belirli yapılandırma, seçilen dağıtım yöntemine bağlı olacaktır. Örneğin, NGINX kullanıyorsanız, rehberlik için bu makaleye bakabilirsiniz.
    • Wallarm çalışma modu yapılandırması.
  3. Dağıtım tamamlandıktan sonra, gelen istek yönlendirmesi için daha sonra ihtiyacınız olacak node örneği IP'sini not alın.

2. Wallarm kod paketini edinin ve Akamai EdgeWorkers üzerinde çalıştırın

Akamai EdgeWorkers üzerinde Wallarm kod paketini edinmek ve çalıştırmak için aşağıdaki adımları izleyin:

  1. Wallarm kod paketini edinmek için support@wallarm.com ile iletişime geçin.

  2. Akamai üzerindeki sözleşmenize EdgeWorkers ekleyin.

  3. Bir EdgeWorker ID oluşturun.

  4. Oluşturulan ID'yi açın, Create Version tuşuna basın ve Wallarm kod paketini yükleyin.

  5. Oluşturulan versiyonu, önce staging ortamında Activate edin.

  6. Her şeyin düzgün çalıştığını onayladıktan sonra, versiyon yayınlamasını production ortamında tekrarlayın.

  7. Akamai Property Manager'da, Wallarm'ı kurmak istediğiniz mevcut ya da yeni bir mülk seçin veya oluşturun.

  8. Yeni oluşturulan EdgeWorker ile yeni bir davranış oluşturun, örneğin adı Wallarm Edge olsun ve aşağıdaki kriterleri ekleyin:

    If 
    Request Header 
    X-EDGEWRK-REAL-IP 
    does not exist
    
  9. Wallarm Node adında başka bir davranış oluşturun, Origin Server olarak önceden dağıtılan node'unu işaret edin. Forward Host HeaderOrigin Hostname olarak değiştirin ve aşağıdaki kriterleri ekleyin:

    If 
    Request Header 
    X-EDGEWRK-REAL-IP 
    exist
    
  10. Yeni bir mülk değişkeni PMUSER_WALLARM_MODE ekleyin ve değerini monitoring (varsayılan) ya da block olarak belirleyin.

    Güvenlik ayarları için Hidden seçeneğini seçin.

  11. Yeni versiyonu kaydedin ve önce staging ortamına, ardından production'a dağıtın.

Test

Dağıtılan politikanın işlevselliğini test etmek için aşağıdaki adımları izleyin:

  1. API'nize test Path Traversal saldırısı içeren isteği gönderin:

    curl http://<YOUR_APP_IP_OR_DOMAIN>/etc/passwd
    
  2. Wallarm Console → Attacks bölümünü US Cloud veya EU Cloud üzerinden açın ve saldırının listede gösterildiğinden emin olun.

    Attacks in the interface

    Eğer Wallarm node modu blocking olarak ayarlandıysa, istek de engellenecektir.

Yardım Gerekli mi?

Akamai EdgeWorkers ile birlikte anlatılan Wallarm dağıtımı sırasında herhangi bir sorunla karşılaşırsanız veya yardım gerekirse, Wallarm support ekibiyle iletişime geçebilirsiniz. Onlar, uygulama süreci esnasında karşılaşabileceğiniz problemleri gidermek ve rehberlik sağlamak için hizmetinizdedir.