Re: atak na serwer www - apache 1.3.x
bieniu gras <bieniu@gras.poznan.pl> wrote:
> Witaj Artur,
>
> W Twoim liście datowanym 9 lutego 2006 (18:45:36) można przeczytać:
>
>>>> Z tego co Bieniu pisał wyżej największym problemem był limit
>>>> połaczeń
>>>> w
>>>> ramach jednego apacza. Poza tym apacz zuzywa mniej zasobow
>>>> niz squid...
>>>
>>> ale mysle o squidzie ktory by tylko blokowal te 3 wywolania hmmm
>>>
>
>> Witam
>
>> A ja jednak pomyślałbym jednak nad iptables - wydaje mi sie jednak, że
>>
>> filtr utworzony w ten sposób zeżre najmniej zasobów:
>
>> iptables -t filter -A INPUT -p tcp --dport 80 - m string --string "GET
>>
>> /jakiś_syf" -j REJECT
>
> to rozwiazanie wydawac by sie moglo jest ok ale
>
> iptables -t filter -I INPUT -p tcp --dport 80 -m string --string "GET
> /my_foto.zip" -j REJECT
> iptables -t filter -I INPUT -p tcp --dport 80 -m string --string "GET
> /q.jpg" -j REJECT
> iptables -t filter -I INPUT -p tcp --dport 80 -m string --string "GET
> /ddd.jpg" -j REJECT
>
> tyle tylko ze niestety dochodza zapytania do apacha i dopiero wtedy sa
> blokowane czyli to nie wchodzi w gre - musi byc cos przed apachem
Fakt - nie pomyślałem, że to otworzy połączenie do apacha, ale przećwicz to
w praktyce - czy po zwiększeniu conn_limit i spare_servers, apache nie
poradzi sobie z otwieranymi połączeniami. W tym przypadku serwer nie będzie
obsługiwał żadnych zapytań, bo te po prostu do niego nie dotrą, więc jeśli
będzie miał odpalonych wystarczająco dużo procesów potomnych, gotowych do
obsługi żądania - wydaje mi się, że sobie poradzi. Powinno to wyglądać
mniej więcej tak:
ofiara firewall apache (a raczej jego gniazdo)
SYN -> ACCEPT -> ok-start
<- ACCEPT <- SYN, ACK
ACK -> ACCEPT
GET /syf -> REJECT
<- port unreachable
FIN,ACK -> ACCEPT -> skoro nie chcesz, to konczymy zabawe
happy end <- ACCEPT <- ACK
Zdaje sobię sprawę, że nie jest to rozwiązanie idealne, ale nie zawsze
warto dla trzech wróbelków, wytaczać całej dywizji ciężkiej artylerii...
--
Pozdrawiam
Artur Jankowski
ITservice
Reply to: