Skip to main content

LiteSpeed Aşırı Trafik Tespit ve Önlem

LiteSpeed/OpenLiteSpeed üzerinde ani trafik patlaması veya kötü niyetli istekleri tespit etme ve hızlı koruma adımları. Plesk dışı senaryo varsayılır.

Hızlı kontrol listesi

  • Doğru host/ortam (prod/preprod/test) ve doğru site alan adı?
  • Access log yolu biliniyor mu? (genelde /usr/local/lsws/logs/access.log veya sanal host logu)
  • Trafik kaynağı: tek IP/ASN mi, belirli URI/UA mı, yoksa dağıtık mı?
  • LSCache açık mı? (statik/HTML cache varsa yük çok düşer)

Anlık durum ve log analizi

# Son satırlar
sudo tail -n 200 /usr/local/lsws/logs/access.log

# IP dağılımı (en çok istek atanlar)
sudo awk '{print $1}' /usr/local/lsws/logs/access.log | sort | uniq -c | sort -nr | head

# URI dağılımı (en çok vurulan path'ler)
sudo awk '{print $7}' /usr/local/lsws/logs/access.log | sort | uniq -c | sort -nr | head

# User-Agent dağılımı
sudo awk -F\" '{print $6}' /usr/local/lsws/logs/access.log | sort | uniq -c | sort -nr | head

# 5xx hata oranı
sudo awk '{print $9}' /usr/local/lsws/logs/access.log | grep -E "^5" | wc -l

# Aktif bağlantılar (80/443)
sudo ss -Htn '( sport = :80 or sport = :443 )' | wc -l
sudo ss -tn state established '( sport = :80 or sport = :443 )' | wc -l

İstek patlamasını teyit etmek için gerçek zamanlı araç: goaccess /usr/local/lsws/logs/access.log (konsolda hızlı özet).

Kaynak tespiti (IP/URI/UA)

  • Tek/az IP yoğunluğu: IP bazlı rate-limit veya geçici ban uygulayabilirsin.
  • Belirli URI (örn. /xmlrpc.php, /wp-login.php) vuruluyorsa hedefli kural yaz.
  • Şüpheli UA (boş UA, scanner/pycurl) için UA bazlı throttle.

Kısıtlama ve koruma

  • Per-Client Throttling (LiteSpeed Admin UI): Configuration -> Server -> Security -> Per Client Throttling
    • Static Req (Soft/Hard Limit) ve Dyn Req (Soft/Hard Limit) değerlerini geçici olarak düşür. Örn: Soft 20, Hard 40, Blocked Code 403.
  • Access Control (Deny/Allow): Configuration -> Server -> Security -> Access Control
    • Tek IP/ASN için Deny Liste ekle (CIDR desteklenir).
  • mod_security/WAF: Kural setin varsa saldırı pattern'ını eşle (örn. çok sık POST login). Gerektiğinde kuralı geçici olarak “block” moduna al.
  • reCAPTCHA/403 sayfası: Bot trafiğini ayırmak için RewriteRule ile belirli URI'lara Captcha/403 uygulayabilirsin.
  • LSCache: Statik/HTML sayfalar için LSCache etkin ve varyantları doğru mu? Dinamik sayfada cache yoksa kısa süreli TTL eklemek yükü azaltır.

PHP/LSAPI etkisi (arka uç)

# lsphp süreç sayısı ve kaynak tüketimi
ps -eo pid,comm,%cpu,%mem,args | grep lsphp | head

# TCP backlog/queue sinyali (503/timeout varsa)
sudo ss -ltn '( sport = :80 or sport = :443 )' | head

Notlar:

  • LiteSpeed External App (LSAPI) için Max Connections ve Connection Limit değerleri Admin UI'dan kontrol edilebilir; aşırı yüksek değer CPU’yu doyurabilir, aşırı düşük değer 503’e yol açar.
  • PHP tarafında yavaş uç noktalar varsa kısa vadede rate-limit, orta vadede cache veya sorgu optimizasyonu uygulayın.

Örnek hızlı akış

  1. Access log’dan IP/URI dağılımını çıkar (awk komutları).
  2. Tek IP/UA yoğun ise Access Control veya Per-Client Throttle ile kısıtla.
  3. URI spesifikse hedefli kural (deny/403) ekle; WAF kuralı uygula.
  4. LSCache yoksa statik içerik için aç, dinamikte kısa TTL ver.
  5. Sonuç: bağlantı sayısı ve 5xx oranını yeniden ölç; gerekirse limitleri gevşet/ayarla.

İlgili dokümanlar