Ana içeriğe geç

İstek İşleme Süresini Sınırlama

Wallarm düğümü, tek bir gelen isteğin işlenmesine sınırlı zaman harcar ve zaman sınırı aşılırsa, isteği resource overlimit (overlimit_res) saldırısı olarak işaretler. Tek bir isteğin işlenmesine ayrılan zaman sınırını ve sınır aşıldığında düğümün davranışını özelleştirebilirsiniz.

İstek işleme süresini sınırlamak, Wallarm düğümlerini hedefleyen atlatma saldırılarını engeller. Bazı durumlarda overlimit_res olarak işaretlenen istekler, Wallarm düğümü modüllerine ayrılan kaynakların yetersiz olduğunu ve bunun da uzun istek işlemeye yol açtığını gösterebilir.

Resource overlimit saldırılarına yanıt verme

Düğüm sürümü 5.1.0'dan itibaren, yapılandırılan işleme süresi sınırlarını aşan tüm istekler, Attacks bölümünde overlimit_res anahtar kelimesi altında listelenir. Aşağıdaki bilgiler, bu isteklere yanıt olarak varsayılan düğüm davranışının uygun olup olmadığını veya ayarlama gerekip gerekmediğini belirlemenize yardımcı olacaktır:

  • Bu uç nokta büyük verilerle (dosyalar vb.) mi çalışıyor ve bu nedenle daha fazla zamana mı ihtiyaç duyuyor?

    • Eğer evet ise, zaman sınırını özellikle bu uç nokta için artırın. Bu, isteğin işlenmemiş kısmını azaltacak ve böylece orada gizlenmiş saldırı riskini düşürecektir.
    • Eğer hayır ise, uç nokta saldırı altında olabilir; korumasını ve bu uç noktayla ilgili etkinlikleri API Discovery, API Sessions ve Attacks içinde araştırın. Korumayı burada açıklandığı gibi ayarlayın.
  • Bu uç nokta, çok sayıda başka uç noktayla birlikte overlimit_res sorunu yaşıyor mu? Eğer evet ise, istek işleme süresini azaltacak Wallarm düğümü modülleri için daha fazla kaynak ayırmayı düşünün veya genel yapılandırmanın doğruluğunu kontrol edin.

  • Bu uç nokta kullanıcı deneyimini ve memnuniyetini doğrudan etkiliyor mu?

    • Eğer evet ise, varsayılan engellememe davranışını değiştirmeyin. Meşru trafik kesinlikle engellenmeyecek ve yine de sorunlarla ilgili bilgileri Attacks içinde overlimit_res olarak alacaksınız.
    • Eğer hayır ise, özellikle bu uç nokta için yanıtı Block olarak değiştirmeyi değerlendirin.

Uç noktalarda overlimit_res saldırılarının varlığı genellikle normaldir ancak beklenen sınırlar içinde kalmalıdır. Yüksek hacimler, yukarıda açıklanan analiz ve eylemleri gerçekleştirmenin faydalı olabileceğini gösterir.

Genel yapılandırma

Wallarm Console → SettingsGeneralLimit request processing time içinde, istek işleme süresi sınırı için genel yapılandırmayı kontrol edebilirsiniz. Bu yapılandırma, belirli uç nokta yapılandırması ile geçersiz kılınmadıkça tüm uç noktaları etkiler.

Varsayılan olarak şunlardır:

  • Tek bir gelen isteğin işlenmesi için 1.000 milisaniye.

  • Aşıma verilen yanıt Interrupt Wallarm processing and bypass olup bu, Wallarm'ın:

    • İstek işlemeyi durdurduğu,
    • İsteği overlimit_res saldırısı olarak işaretleyip Attacks içinde gösterdiği anlamına gelir. İşlenen istek kısmı başka saldırı türleri içeriyorsa, ilgili türlerin saldırıları da görüntülenecektir.
    • Orijinal isteğin uygulamaya ulaşmasına izin verdiği (korumanın atlatılması) anlamına gelir.

İstek işleme süresini sınırla - Genel yapılandırma

Genel yapılandırmayı zaman sınırını ayarlayarak ve yanıtı değiştirerek değiştirebilirsiniz.

Korumanın atlatılması veya sistem belleğinin tükenmesi riski

  • Varsayılan düğüm davranışını yalnızca gerçekten gerekli olan, örneğin büyük dosyaların yüklendiği ve korumanın atlatılması ile zafiyet istismarının riske atılmadığı kesinlikle belirli yerlerde değiştirmeniz önerilir.
  • Yüksek zaman sınırı, bellek tükenmesine yol açabilir.

Yanıtı Block request olarak değiştirmek, Wallarm'ın:

  • İstek işlemeyi durdurduğu,

  • İsteği overlimit_res saldırısı olarak işaretleyip Attacks içinde gösterdiği. İşlenen istek kısmı başka saldırı türleri içeriyorsa, ilgili türlerin saldırıları da görüntülenecektir.

  • İsteği engellediği anlamına gelir. Meşru isteklerin engellenme riski olduğunu unutmayın. Varsayılan genel yapılandırmayı korumak ve yalnızca belirli uç noktalar için engellemeyi ayarlamak bu riski en aza indirir.

Engelleme için filtreleme modu gereklidir

Engellemenin yalnızca düğüm blocking filtreleme mode içinde olduğunda veya graylisted IP adreslerinden gelen istekler için safe blocking olduğunda çalışacağını unutmayın.

Belirli uç nokta yapılandırması

Varsayılan genel yapılandırma iyi test edilmiş ortalama bir yaklaşımdır ve değiştirilmesi asla önerilmez. Ancak, hem koruma sağlayan hem de meşru trafiği engellemeyen daha iyi bir dengeye ulaşabilirsiniz. Bunu, ortalamanın dışında işleme süresine sahip uç noktalar için zaman sınırını özellikle ayarlayarak ve hemen riskli olmadığı yerlerde yanıtı özellikle engellemeye çevirerek yapın.

Limit request processing time kuralı, belirli bir uç nokta için farklı ayarlayarak genel veya üst yapılandırmayı geçersiz kılmanızı sağlar. Şunları yapabilirsiniz:

  • Tek bir istek işlemeye özel bir sınır belirlemek

  • Sistem yanıtını değiştirmek (her birinin açıklamaları yukarıdadır)

İstek işleme süresi sınırı için belirli uç nokta yapılandırmasını ayarlamak için:

  1. Proceed to Wallarm Console:

    • RulesAdd rule or your branch → Add rule.
    • Attacks / Incidents → attack/incident → hit → Rule.
    • API Discovery (if enabled) → your endpoint → Create rule.
  2. Fine-tuning attack detectionLimit request processing time öğesini seçin.

  3. If request is içinde, kuralın uygulanacağı kapsamı açıklayın.

  4. Parametreleri ayarlayın.

Kural örneği

Varsayılan genel yapılandırmanızın 1.000 milisaniye ve yanıtın Interrupt Wallarm processing and bypass olduğunu ve https://example.com/upload için çok sayıda overlimit_res saldırınız olduğunu varsayalım. İnceleme, uç noktanın büyük dosya yükleme için kullanıldığını ve meşru isteklerin, işleme süresinin aşılması nedeniyle overlimit_res saldırıları olarak işaretlendiğini gösteriyor.

Gereksiz overlimit_res bildirimlerinin sayısını azaltmak ve isteğin işlenmemiş kısmında gizlenen kötü amaçlı yüklerin olasılığını düşürmek için, özellikle bu uç nokta için istek işlemeye ayrılan süreyi artırmamız gerekir.

Bunu yapmak için, ekran görüntüsünde gösterildiği gibi Limit request processing time kuralını ayarlayın.

“Register and display in the events” kural örneği