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.logveya 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 ThrottlingStatic Req (Soft/Hard Limit)veDyn 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).
- Tek IP/ASN için
- 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
RewriteRuleile 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 ConnectionsveConnection Limitdeğ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ış
- Access log’dan IP/URI dağılımını çıkar (
awkkomutları). - Tek IP/UA yoğun ise Access Control veya Per-Client Throttle ile kısıtla.
- URI spesifikse hedefli kural (deny/403) ekle; WAF kuralı uygula.
- LSCache yoksa statik içerik için aç, dinamikte kısa TTL ver.
- Sonuç: bağlantı sayısı ve 5xx oranını yeniden ölç; gerekirse limitleri gevşet/ayarla.