Как да защитим Apache от счупване причинено от Slowloris

В предната публикация (Как да счупим Apache със Slowloris) обясних какво е Slowloris , за какво се ползва и  как работи т.е. как се чупи Apache с него. Както е всеизвестно най- лесно е да се счупи нещо(като се ползва готов инструмент разбира се), но също интересно е и да имаме добри превантимни мерки.

За защита на Apache от Slowloris и други подобни DoS атаки ще използваме един сравнително млад модул за Apache: qos (http://sourceforge.net/projects/mod-qos/) .

mod_qos е quality of service(QOS) модул за Apache. Той изпълнява механизми за контрол които могат да предоставят различни приоритети на различните заявки и да контролира достъпа до сървъра на базата на наличните ресурси

1. Ще инсталираме необходимите ни пакети за компилацията
apt-get install apache2-threaded-dev gcc

2. Изтегляме qos модула
cd /tmp/
wget http://freefr.dl.sourceforge.net/project/mod-qos/mod-qos/9.7/mod_qos-9.7.tar.gz

3. Ще го разархивираме и компилираме
tar zxvf mod_qos-9.7.tar.gz
cd mod_qos-9.7/apache2/
apxs2 -i -c mod_qos.c

Става ясно, че се е инсталирал във "/usr/lib/apache2/modules"

4. Сега ще направим конфигурация на модула
cd /etc/apache2/mods-available/
vim qos.load

LoadModule qos_module /usr/lib/apache2/modules/mod_qos.so

vim qos.conf

## QoS Settings
<IfModule mod_qos.c>
# handles connections from up to 100000 different IPs
QS_ClientEntries 100000
# will allow only 50 connections per IP
QS_SrvMaxConnPerIP 50
# maximum number of active TCP connections is limited to 256
MaxClients              256
# disables keep-alive when 70% of the TCP connections are occupied:
QS_SrvMaxConnClose      180
# minimum request/response speed (deny slow clients blocking the server, ie. slowloris keeping connections open without requesting anything):
QS_SrvMinDataRate       150 1200
# and limit request header and body (carefull, that limits uploads and post requests too):
# LimitRequestFields      30
# QS_LimitRequestBody     102400
</IfModule>

5. Сега зареждаме qos модула и рестартираме apache:

a2enmod qos
/etc/init.d/apache2 restart

Сега системата ни е защитена от Slowloris. За целта от предния урок може да тествате да я атакувате и ще се съгласите.

PS: Надявам се, че ще има благодарни адмнистратори които са го пропуснали в близките 6-7 месеца :(случва се на всеки затова го правя, за да се информираме взаимно)

VN:F [1.9.22_1171]
Rating: 5.0/5 (2 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)
Как да защитим Apache от счупване причинено от Slowloris, 5.0 out of 5 based on 2 ratings

9 thoughts on “Как да защитим Apache от счупване причинено от Slowloris”

  1. Най ме нерви гадната ти "СЕЛО" оптимизация 😀
    Не за друго, еми не е добре много хора да научават как се фикс-ва… смисъл такъв, че трябва да има терор 😛

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  2. haha :))

    VN:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  3. Полезно 🙂

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  4. хаха, тва е пълна дупка за апачето, има хиляди други варианти за конекшън защитата. Тая дупка ти отваря още 100 такива:) браво за тоя който го е измислил,,

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  5. А мерси ! Че зе да ми писва вече от нагли дечурлига …

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  6. за какво изобщо ще инсталират нови модули, които не са особено добре проверени и за какво ще пускат точно tcpdump като могат да видят с netstat кое IP отваря по толкова много конекции към apache и да го блокират за една секунда, без да се опасяват че ще счупят уеб сървъра?

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  7. Със netstat ще видиш едно, а с tcpdump можеш да видиш доста по детайлна информация за сорса на изпратените пакети или с други думи това е лично предпочитание. На които не му допада има толкова много тулки за тази цел 🙂

    VN:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  8. Да не би бутането на Slowloris да е единствения начин..

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  9. Браво! Много добра работа беше ми наистина полезно, че ми писна да ми събарят сайта!

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

Вашият коментар

Вашият email адрес няма да бъде публикуван Задължителните полета са отбелязани с *