Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-01-29 14:41:43

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

Pierwszy atak

Witam,

Myślałem że jestem w stanie zorganizować sobie zabezpieczenia , niestety wszystkie moje marzenia i informacje poległy od wczoraj od 19:00.
Jestem zmęczony i sfrustrowany , tak nacierają mi na apache że co 10 minut pada cały serwer kończy się 3GB ramu i 9GB swap. Nie mam pomysłów.
Gogluje szukam doinstalowuje, zmniejsza się ruch na 1 do 2h i potem wraca wszystko do normy ataki lecą jak cholera. Moje doświadczenie w takim przypadku okazało się marne.

Doinstalowałem do apache2 moduły mod-evasive, mod-security, mod-spamhaus, qos - a oni dalej zabijać to wszystko :(
Doinstalowałem coś takiego jak fail2ban dodałem apache-ddos i co zszedłem do 1GB zużytego ramu, i 1GB swap i  nadal walą. Logi mi się uginają.

Nigdy jakoś nie miałem problemów więc wygenerowane zabezpieczenie iptables wystarczało, ale dziś okazało się gówno warte.

Proszę zlitujcie się pomóżcie LAMEROWI bo już nawet sam się tak nazywam co robić, jak drani wyciąć. Myślę poważnie o SNORT ale nie wiem czy załatwi mi sprawę. Strona do jutra musi działać bo mnie wywalą :(

Walą z czego się da podłączyłem listę MS_DNS sbl-xbl.spamhaus.org ale zanim ona załapie to skromne 10000 tyś zapytań poleci :(

jak robię sobie takiego netstat to mam

Kod:

#netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
      1 108.62.75.52
      1 142.4.116.18
      1 142.4.117.24
      1 192.168.2.244
      1 192.74.238.24
      1 199.192.152.159
      1 199.192.153.133
      1 199.192.154.220
      1 199.36.72.170
      1 208.115.197.3
      1 208.115.226.100
      1 208.115.234.210
      1 208.115.241.98
      1 208.115.245.83
      1 46.105.52.125
      1 63.143.49.174
      1 63.143.53.74
      1 64.31.12.22
      1 64.31.20.19
      1 64.31.46.230
      1 64.31.9.235
      1 67.198.140.34
      1 67.198.150.242
      1 67.198.158.26
      1 67.198.159.50
      1 69.162.108.21
      1 69.162.108.29
      1 69.162.64.51
      1 69.162.68.39
      1 69.162.84.231
      1 69.162.88.110
      1 69.162.89.11
      1 69.162.93.8
      1 69.162.95.230
      1 74.63.214.254
      1 74.63.215.217
      1 74.63.251.100
      1 94.76.204.103
      2 192.154.105.38
      2 192.168.2.245
      3 199.192.153.3
      9 0.0.0.0
     32

Stąd wnioskuję że to atak dos lub ddos. Czytam cały czas ale zmęczenie daje już znać o sobie. Dzięki za pomoc

Redelek

Ostatnio edytowany przez redelek (2013-01-29 14:42:30)


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#2  2013-01-29 14:53:48

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Pierwszy atak

Najpierw wsadź przed Apacha Lighttpd albo Nginxa, jako rev-proxy.
To wyeliminuje problem ataku slowloris, który jest groźniejszy niż dos.
Potem pobaw się firewallem, connlimit, hashlimt, do tego ustaw tcp_syncockies w sysctl.
Jakbyś wsadził Nginxa, to on ma opcje limitowania liczby połączeń i rate-limit per kilent (może być 2 linią bezpieczeństwa za firewallem).
To może trochę złagodzić dolegliwość takich ataków.
Natomiast na samym serwerze i tam możesz łapać nadmiarowe połączenia na końcu rurki, zamiast na początku.

Radziłbym pogadać z ISP, o limicie udp i icmp na jego routerach brzegowych (tam to należy limitować), natomiast tcp jest protokołem połączeniowym, możesz go limitować u siebie, w miarę skutecznie.
Pierwsza i najtańsza linia obrony to firewall, który powinien obciąć liczbę żądań do poziomu bezpiecznego dla Apacha, potem prawidłowo skonfigurowany serwer, bez dziur i bezsensownych podatności (tu radzę Nginxa lub Lighttpd w roli rev-proxy), i na końcu postaw poczciwego Apache Prefork, który będzie schowany za rev-proxy i zabezpieczony innymi zabawkami.

To moim zdaniem najsensowniejsze rozwiązanie tej sytuacji.
I taka kombinacja może naprawdę niejedno wytrzymać.

Pozdrawiam
;-)

Ostatnio edytowany przez Jacekalex (2013-01-29 14:57:03)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2013-01-29 15:13:49

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

Re: Pierwszy atak

ooo matko no to niezła kombinacja alpejska, ale jak widać moja do d...py się nadaje. Oki zaraz zobaczę co i jak.
A może jest jakiś sposób tak żeby ta strona jakoś "kulawo" ale działała, bo obecnie to co 10 min ginie

Pozdrawiam
redelek


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#4  2013-01-29 15:30:25

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Pierwszy atak

Jak kombinacja alpejska?
Kilka regułek do firewalla, to kombinacja alpejska?

Rev-proxy też postawisz dość szybko, a dodanie limitów do gotowego konfigu w Nginxie, to kilka minut.
Zwłaszcza, że o ile pamiętam, już trochę znasz Nginxa.
Dowód rzeczowy:
http://forum.dug.net.pl/viewtopic.php?id=17253

A tutaj przykłady, jak to się je:
http://wiki.nginx.org/HttpProxyModule
http://www.cyberciti.biz/faq/howto-linux-unix-setup-nginx-ssl-proxy/
http://wiki.nginx.org/HttpLimitZoneModule
http://wiki.nginx.org/HttpLimitReqModule
http://kbeezie.com/nginx-protection/

Radziłbym też zainteresować się projektem sblam.
Ja taką listę zazwyczaj pakuję do ipseta.
O ile się nie mylę, na Dugu też lista sblamu jest w użyciu.

Razem masz może z godzinkę czy dwie bardzo "ciężkiej" roboty. :D

Pozdrawiam
;-)

Ostatnio edytowany przez Jacekalex (2013-01-29 15:41:36)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2013-01-29 15:51:52

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

Re: Pierwszy atak

Jak mi się uda przeżyć, to napiszę do ciebie na prv podasz mi adres do wysłania PIWA
Dzięks

Redelek


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#6  2013-01-29 18:46:02

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

Re: Pierwszy atak

cyt: "Ja taką listę zazwyczaj pakuję do ipseta." standardowo go w systemie nie ma, albo ślepy jestem bo jak chcę coś dodać to wywala mi taki błąd

Kod:

ipset v2.5.0: Error from kernel: Protocol not available

Ostatnio edytowany przez redelek (2013-01-29 18:46:26)


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#7  2013-01-29 20:13:58

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Pierwszy atak

Kod:

#!/bin/bash
#Użycie:
/usr/sbin/ipset create sblamdrop hash:ip 2>/dev/null ;
#iptables -t raw -I PREROUTING -i eth0 -p tcp --dport 80  -m set --match-set sblamdrop src -j DROP    

PLIK="/var/hasiok/blacklist.txt"

cd /var/hasiok

wget -N http://sblam.com/blacklist.txt || exit 1;

function lista {

    DropList="$PLIK"

if [ -s "$DropList" ]; then
     /usr/sbin/ipset flush sblamdrop 2>/dev/null
else     
    echo "Unable to find drop list file $DropList .  Perhaps do:" >&2
    echo "wget http://sblam.com/blacklist.txt -O $DropList"
    echo "exiting." >&2
    exit 1
fi;

cat "$DropList" \
 | egrep  '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b' \
 | while read OneNetBlock ; do
    sleep 0.005; /usr/sbin/ipset add sblamdrop "$OneNetBlock";
done;
}

modsecs=$(date --utc --reference=$PLIK +%s)
nowsecs=$(date +%s)
delta=$(($nowsecs-$modsecs))
echo "Plik $filename został zmieniony  $delta sekund temu!"
czasmod="43200"

if [[ "$delta" -lt "$czasmod" ]]; 
then
  echo "Jest nowa lista sblamu ;)";
    lista;
else
  echo "Nie mam nic do roboty ;P";
fi

exit 0;

Kod:

ipset -t list
Name: PEERBLOCK
Type: hash:net
Header: family inet hashsize 131072 maxelem 262144 
Size in memory: 5878616
References: 2

Name: sblamdrop
Type: hash:ip
Header: family inet hashsize 8192 maxelem 65536 
Size in memory: 290472
References: 0

Name: spamhaus
Type: hash:net
Header: family inet hashsize 1024 maxelem 65536 
Size in memory: 28856
References: 0

Jajo:

Kod:

Linux 3.7.5-gr1 x86_64

Moduły ipseta (są w źródłach "vaniliowych"):

Kod:

grep -i ip_set /boot/config-$(uname -r)
CONFIG_IP_SET=y
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=y
CONFIG_IP_SET_BITMAP_IPMAC=y
CONFIG_IP_SET_BITMAP_PORT=y
CONFIG_IP_SET_HASH_IP=y
CONFIG_IP_SET_HASH_IPPORT=y
CONFIG_IP_SET_HASH_IPPORTIP=y
CONFIG_IP_SET_HASH_IPPORTNET=y
CONFIG_IP_SET_HASH_NET=y
CONFIG_IP_SET_HASH_NETPORT=y
CONFIG_IP_SET_HASH_NETIFACE=y
CONFIG_IP_SET_LIST_SET=y

Wersja Ipseta:

Kod:

net-firewall/ipset-6.8

SOA#1

U mnie tak to chodzi bez problemu.
Zawsze ;)

Ipset wymaga modułów w jaju i narzędzia przestrzeni użyszkodnika.

Pokaż wynik:

Kod:

ipset create tablica hash:ip

To by było na tyle
;-)

Ostatnio edytowany przez Jacekalex (2013-01-29 20:45:45)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#8  2013-01-29 22:13:07

  gindek - Zubr, bydle na etacie.

gindek
Zubr, bydle na etacie.
Skąd: Z puszczy.
Zarejestrowany: 2008-12-08

Re: Pierwszy atak

Tak rzuciłem okiem po tych IP, zastanowiło mnie że numerki sa bardzo blisko siebie (czesto pierwsze dwa oketyt takie same, i trzeci +-5 ), wystepuja wrecz w "gromadach", szybki rzut okiem do bazy whois ... no i okazuje sie ze sa to IP serwerów z chumr różnych firm hostingowych, wiec siła ataku nie dziwi bo kaliber maja duzy xd.

Pewnie ktos dobrał sie do shell na kilku kontach klientów i z nich atakuje.
Kupisz sobie troche czasu ubijajac te firmy hostingowe na regułach iptables.
Nie wylecisz z roboty i bedziesz miał czas zeby sie zabezpieczyć wg. rad jacka. ( btw. i'm impressed, masz moj szacunek ).



[edit]
Swoja droga mozna by pingnąć te firmy na maila, bo moze sie okazac wiekkszy wałek i jakis typek poprostu kupił sobie tam konta, skrajnie głupie się to wydaje, jednak jest możliwe. Poprosisz o dane konta z ktorych sie laczy z twoja maszyna, jak danych do konta nie ma (fake) to poprosisz chodziaz o info skad sie logował :-) (moze jakas konkurencja ).

Ostatnio edytowany przez gindek (2013-01-29 22:19:52)


" Wojny przychodzą i odchodzą, a moi żołnierze są wieczni"


"Zbuduj mały, dziarski router z udostępnionych przez prowadzącego części od Kamaza?"

Offline

 

#9  2013-01-29 22:19:34

  qluk - Pan inż. Cyc

qluk
Pan inż. Cyc
Skąd: Katowice
Zarejestrowany: 2006-05-22

Re: Pierwszy atak

Ogólnie rozwiązanie Jacek dał dobre, a ważne jest to że router/fw to jednak stawiamy na osobnej maszynie. Tutaj lecisz po CPU Apachem, pewnie bazą, iptables, PHP, etc. To troche tak jakbyś chronił koh-i-noor warstwą utlenionego węgla oraz folią aluminiową zamiast wsadzić to w sejf.


gindek napisał(-a):

Swoja droga mozna by pingnąć te firmy na maila, bo moze sie okazac wiekkszy wałek i jakis typek poprostu kupił sobie tam konta, skrajnie głupie się to wydaje, jednak jest możliwe. Poprosisz o dane konta z ktorych sie laczy z twoja maszyna, jak danych do konta nie ma (fake) to poprosisz chodziaz o info skad sie logował :-) (moze jakas konkurencja ).

Nie dostanie takich danych. Ale najpierw Abuse, potem można zgłosić to na policji bo od pewnego czasu jest to ścigane.

Ostatnio edytowany przez qluk (2013-01-29 22:22:41)

Offline

 

#10  2013-01-30 02:45:11

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Pierwszy atak

Ja napisałem, co można zrobić w obrębie sytemu.
Router, to inna bajka, nie znam firmy hostingowej, czy oferującej serwery VPS/dedyki, gdzie dany serwerek może oberwać, i gdzie człowiek ma dostęp do firewalla ISP, żeby zmieniać sobie ustawienia po tej właściwszej stronie rurki.

Co prawda np OVH jest maks 32kbps ICMP i maks 50Mbps UDP na serwer, co trochę łagodzi dolegliwości różnych ataków, ale np serwer z rurką 100Mbit czy 1Gbit atakowany pakietami np UDP i tak obrywa, ile wlezie, bo te pakiety można dowolnie spoofować, pozwala na to specyfika protokołu BGP.

I sam serwer może to tylko przetrwać, nawet, jak wszystko grzecznie ubije na swoim fw, to rurka do niego i tak jest zatkana całkowicie.
Tutaj było coś podobnego, od strony nieświadomego atakującego.

Tcp jest o tyle prostszy, że pakiety SYN można filtrować i limitować, użyć syncookies, a większe porcje danych idą dopiero po zestawieniu połączenia.

Pozdrawiam
;-)

Ostatnio edytowany przez Jacekalex (2013-01-30 09:22:35)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#11  2013-01-30 07:14:41

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

Re: Pierwszy atak

Dzięki Panowie dzięki za pomoc i wsparcie. Udało się troszkę spowolnić to wszystko, na pewno zapoznam się z pomocą @Jacekalex i dokładnie to sobie przetestuję. Niestety wczoraj padłem ze zmęczenia:) Dziś o 10:00 na dywanik do szefa :( może się uda. Niestety do głównego routera nie mam dostępu i tak praktycznie poza tego hosta to nie mam dostępu , a niby tu pracuję. Muszę walczyć na pojedynczej maszynie :(
Dzięki dzięki za pomoc i informację

Redelek


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#12  2013-01-30 09:21:30

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Pierwszy atak

redelek napisał(-a):

cyt: "Ja taką listę zazwyczaj pakuję do ipseta." standardowo go w systemie nie ma, albo ślepy jestem bo jak chcę coś dodać to wywala mi taki błąd

Kod:

ipset v2.5.0: Error from kernel: Protocol not available

Ten ipset chyba jest trochę stary.
Jeśli masz jajo z backportów, np 3.2.x to potrzebujesz też nowszej wersji Ipseta, w Wheezym jest teraz  6.12.1-1.

U mnie wersja Ipseta 2.x przestała działać właśnie w okolicach jajka 3.x (chyba nawet 3.2), i musiałem  przeprowadzić się na nowszą.
Wersja 2.5 natomiast na pewno pasuje do jajka 2.6.32 - domyślnego w Squeeze.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)