Skip to main content

LiteSpeed Aşırı Trafik Tespit ve Önlem

Plesk içindeki ticari LiteSpeed Web Server (LSWS) üzerinde ani trafik patlaması veya kötü niyetli istekleri tespit etme ve hızlı koruma adımları.

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).

Plesk üzerinden LiteSpeed panel erişimi ve istek görünümü

  • Plesk: Extensions > LiteSpeed (ticari LSWS eklentisi) içinden LiteSpeed WebAdmin (varsayılan 7080) aç.
  • WebAdmin > Dashboard / Real-Time Stats: Requests/sec, aktif bağlantılar, worker kuyruğu, 5xx artışlarını gözle.
  • Plesk domain logları: Websites & Domains > <domain> > Logs → request sayısı ve 5xx’leri filtreleyip gör; gerekirse indirip goaccess ile özet çıkar.

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