Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Ochronienie VPS przed DDoS'ami


Rekomendowane odpowiedzi

Opublikowano

Witam o tuż znalazłem oto taki poradnik http://biznes-host.pl/dev/thread-15.html który zawiera jak Zapobiec atakom DDOS ;) I mam pytanko do tego czy nadal jest takiego typu cus aktualne bo post został wydany w 2012 i mam obawy co do prawidłowości działa ;) Więc jak macie jakies lepszego sposoby takiego typu jak to. To dajcie post'a. A jak to jest wszystko ok (w co wątpię) to też napiscie xD:D

 

Zapobieganie atakom DDOS - mod_evasive 

Artykuł przedstawia instalacje modułu apache mod_evasive. Moduł ten ogranicza zbyt wiele jednoczesnych żądań do jednego pliku oraz zapobiega atakom DOS i DDOS. Instalacja dla serwera Apache i systemu Debian.

Instalujemy mod_evasive z repozytorium:

Kod:
apt-get install libapache2-mod-evasive

Tworzymy katalog dla logów i ustawiamy grupę:

Kod:
mkdir -p /var/log/apache2/evasive
chown -R www-data:root /var/log/apache2/evasive

Dodajemy konfiguracje dla modułu na koncu pliku /etc/apache2/mods-available/mod-evasive.load

Kod:
nano /etc/apache2/mods-available/mod-evasive.load

Powinien on wyglądać tak:

Kod:
LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so

DOSHashTableSize 3097     # rozmiar tablicy z zapamiętanymi kluczami
DOSPageCount 5                # l. req do pojedynczej strony dla DOSPageInterval
DOSSiteCount 100              # l. req do całego serwisu dla DOSSiteInterval
DOSPageInterval 2              # przedział czasowy pojedynczej strony
DOSSiteInterval 2               # przedział czasowy całego serwisu
DOSBlockingPeriod 10       # czas blokady, w sekundach
DOSCloseSocket yes    # zamyka sockety po zablokowaniu wymuszając ponowne nawiązanie połączenia

Aby zmiany zostały zapisane musimy zrestartować Apache:

Kod:
/etc/init.d/apache2 restart

W paczce znajduje sie prosty skrypt test.pl który pozwala przetestować działanie modułu. Zmieniamy w nim adres 127.0.0.1 na ten na ktorym slucha Apache:

Kod:
#!/usr/bin/perl
# test.pl: small script to test mod_dosevasive's effectiveness
use IO::Socket;
use strict;
for(0..100) {
my($response);
my($SOCKET) = new IO::Socket::INET( Proto => "tcp",
PeerAddr=> "127.0.0.1:80");
if (! defined $SOCKET) { die $!; }
print $SOCKET "GET /?$_ HTTP/1.0\n\n";
$response = <$SOCKET>;
print $response;
close($SOCKET);
}

Testujemy działanie blokowania:

Kod:
rootbox mod_evasive # chmod +x ./test.pl
rootbox mod_evasive # ./test.pl
HTTP/1.1 200 OK
HTTP/1.1 200 OK
(...)
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden

Domyślnie i tak każde pytanie jest obsługiwane przez Apache (nawet te które zostają odrzucone).Możemy jednak wykorzystać iptables by w momecnie odrzucenia blokowane bylo IP.Przykładowo:

Kod:
DOSSystemCommand "/var/tools/evasive_fw.sh %s"

Kod:
#!/bin/bash
# drop na porcie 80
sudo /sbin/iptables -I INPUT -p tcp --syn --dport 80 -s $1 -j DROP
# utrwalamy konfigurację, zrzut do pliku którego używasz jako źródła reguł przy starcie iptables
/sbin/iptables-save > /var/lib/iptables/rules-save

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...