Ana içeriğe geç

Düğüm Dağıtımından Sonra Wallarm Sağlık Kontrolü

Bu belge, yeni bir filtreleme düğümü dağıtımından sonra Wallarm’ın doğru çalıştığından emin olmak için bir kontrol listesi sunar. Bu prosedürü mevcut herhangi bir düğümün sağlık durumunu test etmek için de kullanabilirsiniz.

Sağlık kontrolü sonuçları

Beklenen sonuç ile gerçek sonuç arasındaki fark, düğümün işleyişinde bir sorun işareti olabilir. Bu tür farklılıklara özel dikkat göstermeniz ve gerekirse yardım için Wallarm destek ekibi ile iletişime geçmeniz önerilir.

Düğüm Cloud'a kayıtlı

Kontrol etmek için:

  1. Wallarm Console → ConfigurationNodes'u açın.

  2. Yalnızca aktif düğümleri görmek için filtre uygulayın.

  3. Listenizde düğümünüzü bulun. Ayrıntıları görmek için tıklayın.

Düğüm saldırıları kaydeder

Kontrol etmek için:

  1. Send the request with test Path Traversal attack to a protected resource address:

    curl http://localhost/etc/passwd
    

    If traffic is configured to be proxied to example.com, include the -H "Host: example.com" header in the request.

  2. Open Wallarm Console → Attacks section in the US Cloud or EU Cloud and make sure the attack is displayed in the list.

    Attacks in the interface

  3. Optionally, [test][link-wallarm-health-check] other aspects of the node functioning.

Düğüm tüm trafiği kaydeder

Trafiğinizin tam görünürlüğünü sağlamak için, Wallarm’ın API Sessions özelliği tüm istekleri – kötü amaçlı ve meşru – adım adım kullanıcı oturumları biçiminde görüntüler.

Kontrol etmek için:

  1. Düğümünüz tarafından korunan kaynağa bir istek gönderin:

    curl http://<resource_URL>
    

    Veya bir bash betiği ile birkaç istek gönderin:

    for (( i=0 ; $i<10 ; i++ )) ;
    do 
       curl http://<resource_URL> ;
    done
    

    Bu örnek 10 istek içindir.

  2. EventsAPI Sessions'ı açın.

  3. İsteklerinizin ve daha önce gönderdiğiniz saldırının bulunduğu oturumu bulun – hepsi tek bir oturumda.

Düğüm istatistik hizmeti çalışıyor

Filtreleme düğümünün çalışma istatistiklerini /wallarm-status URL’ine istek göndererek alabilirsiniz.

İstatistik hizmeti

İstatistik hizmeti ve nasıl yapılandırılacağı hakkında daha fazla bilgiyi buradan okuyabilirsiniz.

Kontrol etmek için:

  1. Düğümün kurulu olduğu makinede şu komutu çalıştırın:

    curl http://127.0.0.8/wallarm-status
    
  2. Çıktıyı kontrol edin. Şuna benzer olmalıdır:

    {
          "requests": 11,
          "streams": 0,
          "messages": 0,
          "attacks": 1,
          "blocked": 0,
          "blocked_by_acl": 0,
          "blocked_by_antibot": 0,
          "acl_allow_list": 0,
          "abnormal": 11,
          "tnt_errors": 0,
          "api_errors": 0,
          "requests_lost": 0,
          "overlimits_time": 0,
          "segfaults": 0,
          "memfaults": 0,
          "softmemfaults": 0,
          "proton_errors": 0,
          "time_detect": 0,
          "db_id": 199,
          "lom_id": 1726,
          "custom_ruleset_id": 1726,
          "custom_ruleset_ver": 56,
          "db_apply_time": 1750365841,
          "lom_apply_time": 1750365842,
          "custom_ruleset_apply_time": 1750365842,
          "proton_instances": {
                "total": 2,
                "success": 2,
                "fallback": 0,
                "failed": 0
          },
          "stalled_workers_count": 0,
          "stalled_workers": [],
          "ts_files": [
          {
                "id": 1726,
                "size": 11887,
                "mod_time": 1750365842,
                "fname": "/opt/wallarm/etc/wallarm/custom_ruleset"
          }
          ],
          "db_files": [
          {
                "id": 199,
                "size": 355930,
                "mod_time": 1750365841,
                "fname": "/opt/wallarm/etc/wallarm/proton.db"
          }
          ],
          "startid": 2594491974706159096,
          "compatibility": 4,
          "config_revision": 0,
          "rate_limit": {
          "shm_zone_size": 67108864,
          "buckets_count": 2,
          "entries": 0,
          "delayed": 0,
          "exceeded": 0,
          "expired": 0,
          "removed": 0,
          "no_free_nodes": 0
          },
          "timestamp": 1750371146.209885,
          "split": {
          "clients": [
                {
                "client_id": null,
                "requests": 11,
                "streams": 0,
                "messages": 0,
                "attacks": 1,
                "blocked": 0,
                "blocked_by_acl": 0,
                "blocked_by_antibot": 0,
                "overlimits_time": 0,
                "time_detect": 0,
                "applications": [
                {
                      "app_id": -1,
                      "requests": 11,
                      "streams": 0,
                      "messages": 0,
                      "attacks": 1,
                      "blocked": 0,
                      "blocked_by_acl": 0,
                      "blocked_by_antibot": 0,
                      "overlimits_time": 0,
                      "time_detect": 0
                }
                ]
                }
          ]
          }
    }
    

    Bu, filtreleme düğümü istatistik hizmetinin çalıştığı ve düzgün çalıştığı anlamına gelir.

Düğüm günlükleri toplanıyor

Kontrol etmek için:

  1. Düğümün kurulu olduğu makinede /opt/wallarm/var/log/wallarm dizinine gidin.

  2. wcli-out.log içindeki verileri kontrol edin: brute force tespiti, saldırıların Cloud’a aktarımı ve düğümün Cloud ile senkronizasyon durumu dahil olmak üzere çoğu Wallarm hizmetinin günlükleri.

Diğer günlükler ve günlük yapılandırmasıyla ilgili ayrıntılar için buraya bakın.

Düğüm güvenlik açıklarını kaydeder

Wallarm, uygulama API’lerinizdeki güvenlik açıklarını tespit eder.

Kontrol etmek için:

  1. Kaynağınıza bir istek gönderin:

    curl <RECOURSE_URL> -H 'jwt: eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJjbGllbmRfaWQiOiIxIn0.' -H 'HOST: <TEST_HOST_NAME>'
    

    Ana makine için zaten bir weak JWT güvenlik açığınız varsa (herhangi bir durumda, kapalı olsa bile), yeni güvenlik açığının kaydedildiğini görmek için farklı bir TEST_HOST_NAME belirtmeniz gerekir.

  2. Zayıf JWT güvenlik açığının listelenip listelenmediğini kontrol etmek için Wallarm Console → EventsVulnerabilities'i açın.

IP listeleri çalışıyor

Wallarm’da, isteklerin geldiği IP adreslerini Allowlist, Denylist ve Graylist’e alarak uygulama API’lerinize erişimi kontrol edebilirsiniz. IP listelerinin temel mantığını burada öğrenin.

Kontrol etmek için:

  1. Wallarm Console → EventsAttacks'ı açın ve Düğüm saldırıları kaydeder kontrolü sırasında oluşturduğunuz saldırıyı bulun.

  2. Saldırının kaynak IP’sini kopyalayın.

  3. Security Controls → IP ListsAllowlist'e gidin ve kopyaladığınız kaynak IP’yi bu listeye ekleyin.

  4. Yeni IP list durumu filtreleme düğümüne yüklenene kadar bekleyin (yaklaşık 2 dakika).

  5. Aynı saldırıyı bu IP’den tekrar gönderin. Attacks içinde hiçbir şey görünmemelidir.

  6. IP’yi Allowlist'ten kaldırın.

  7. IP’yi Denylist'e ekleyin.

  8. Düğüm tüm trafiği kaydeder adımındaki gibi meşru istekler gönderin. Bu istekler (meşru olsalar bile) Attacks içinde engellenmiş olarak görünmelidir.

Kurallar çalışıyor

Wallarm’da, sistemin kötü amaçlı istekleri nasıl tespit ettiğini ve bu tür kötü amaçlı istekler tespit edildiğinde nasıl davrandığını değiştirmek için kurallar kullanabilirsiniz. Kuralları Wallarm Console üzerinden Cloud’da oluşturursunuz, özel kurallar kümenizi oluştururlar, ardından Cloud bunları filtreleme düğümüne gönderir ve çalışmaya başlarlar.

Kontrol etmek için:

  1. Aşağıdaki yöntemlerden birini kullanarak geçerli özel kurallar kümesi kimliğini (ID) ve tarihini kontrol edin:

    • Wallarm Console → ConfigurationNodes içinde, düğüm ayrıntılarınıza erişin ve custom_ruleset kimlik numarası ile kurulum zamanını not edin.
    • Düğüm istatistiklerinde custom_ruleset_id ve custom_ruleset_apply_time değerlerini not edin.
    • wcli-out.log düğüm günlüğünde, "lom" içeren son satırı not edin, o satırdaki version ve time değerlerine dikkat edin.
  2. Security ControlsRules’a gidin.

  3. Add ruleFine-tuning attack detectionIgnore certain attacks'i kullanın, isteğin uri bölümünde Path traversal'ı yok saymayı seçin ve ardından kuralı oluşturun.

  4. İlk adımdaki verilerin güncellendiğini kontrol edin (2-4 dakika sürebilir).

  5. Düğüm saldırıları kaydeder kontrolündeki saldırıyı tekrarlayın. Artık bu saldırı yok sayılmalı ve Attacks içinde görüntülenmemelidir.

  6. Kuralı silin.