Slowloris Nedir?

Slowloris , tek bir makinenin başka bir makinenin web sunucusunu minimum bant genişliği ve alakasız hizmetler ve bağlantı noktaları üzerinde yan etkilerle kapatmasına izin veren bir tür hizmet reddi saldırı aracıdır.
Slowloris, hedef web sunucusuna birçok bağlantıyı açık tutmaya ve onları mümkün olduğunca uzun süre açık tutmaya çalışır. Bunu, hedef web sunucusuna bağlantılar açarak ve kısmi bir istek göndererek gerçekleştirir. Periyodik olarak, isteğe ekleyen, ancak asla tamamlamayan sonraki HTTP başlıklarını gönderir. Etkilenen sunucular bu bağlantıları açık tutacak, maksimum eşzamanlı bağlantı havuzlarını dolduracak ve sonunda istemcilerden gelen ek bağlantı girişimlerini reddedecektir.
Şu şekilde çalışır:
- Çok sayıda HTTP isteği yapmaya başlar.
- Bağlantıları açık tutmak için periyodik olarak (her ~15 saniyede bir) başlıklar gönderir.
- Sunucu bunu yapmadıkça bağlantıyı asla kapatmaz ve sunucu bir bağlantıyı kapatırsa, aynı şeyi yapmaya devam ederek yeni bir tane oluşturur.
- Bu, sunucuların iş parçacığı havuzunu tüketir ve sunucu diğer kişilere yanıt veremez.
Etkilenen Web sunucuları
Bu, saldırının yazarına göre aşağıdakileri içerir, ancak bunlarla sınırlı değildir.
- Apache 1.x
- Apache 2.x
- Dhttpd
- GoAhead Web sunucusu
Slowloris ,çok sayıda bağlantıyı iyi idare eden sunucular üzerinde daha az etkisi vardır. Örneğin, Hiawatha, IIS , lighttpd , Cherokee ve Cisco CSS dahil olmak üzere belirli sunucular tasarımları nedeniyle saldırılara karşı daha dirençlidir .
Slowloris Kullanımı
İlk olarak, github üzerinden, Slowloris uygulamasını indirip içine girelim.
git clone https://github.com/gkbrk/slowloris.git
cd slowloris
Uygulama python ile yazılmıştır. Hedef domain/ip adresini ve soket sayısını belirterek saldırıyı başlatabilirsiniz.
python3 slowloris.py example.com
Örneğin, ben kendi local sunucum üzerinde bir apache2 servisi ayağa kaldırıp, buna istek göndermeye başladım.
python3 slowloris.py 192.168.168.136 -s 500

Çok kısa bir süre içinde servis etkisiz hale geldiğini rahatlıkla görebildim.

Slowloris Saldırısını Azaltma
Bu tür bir saldırının etkisini azaltmanın yolları vardır. Genel olarak bunlar;
- Web sunucusunun izin vereceği maksimum istemci sayısını arttırmak
- Tek bir IP adresinden gelecek bağlantı sayısını sınırlamak
- Bir bağlantıda izin verilen minimum aktarım hızını kısıtlamak
- Bir istemcinin bağlı kalmasına izin verilen süreyi sınırlandırmak
- Bant Genişliği Arttırmak
- Sunucunun izin vereceği maksimum istemci sayısını arttırmak
- Reverse Proxy
- Load Balancer
- Firewall
- Anti-DDoS donanım ve yazılım kullanmak