Официальный сайт студ.городка НГТУ
Software » Есть ли способ бороться syn flood на удалённом vds? 

#1  10.02.09 09:09

Есть ли способ бороться syn flood на удалённом vds?

преамбула: достался ресурс, оказался проблемный что просто плакать хочется. сначала был шаред хостинг и дос, хостер сразу попросил удалится с хостинга. взял дешёвый vds, с помощью mod_evasive и iptables избавился от доса, благо он был не большой. и вот теперь, судя по описанию в интернете, началась syn flood атака.

стоит запустить апач, начинают дублироваться демоны httpd и буквально за минуту
cat /proc/net/ip_conntrack | wc -l
3556

кусок netstat -ptu

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 w-research.ru:http          ::ffff:119.42.68.4:21852    TIME_WAIT   -
tcp        0    284 w-research.ru:ssh           ::ffff:87.241.:neveroffline ESTABLISHED 1994/0
tcp        0      0 w-research.ru:ssh           ::ffff:87.241.195:firepower ESTABLISHED 2040/1
tcp        0      0 w-research.ru:http          ::ffff:119.42.68.4:20086    TIME_WAIT   -
tcp        0      0 w-research.ru:http          ::ffff:119.42.70.84:22050   TIME_WAIT   -
tcp        0      0 w-research.ru:http          ::ffff:119.42.68.4:20089    TIME_WAIT   -
tcp        0      0 w-research.ru:http          ::ffff:119.42.68.4:20090    TIME_WAIT   -
tcp        0      0 w-research.ru:http          ::ffff:119.42.68.4:20068    TIME_WAIT   -
tcp        0      0 w-research.ru:http          ::ffff:119.42.68.4:20069    TIME_WAIT   -
tcp        0      0 w-research.ru:http          ::ffff:119.42.68.4:20067    TIME_WAIT   -
tcp        0  12421 w-research.ru:http          ::ffff:90.15:sns-dispatcher LAST_ACK    -
tcp        0      0 w-research.ru:http          ::ffff:119.42.70.84:20052   TIME_WAIT   -
tcp        0      0 w-research.ru:http          203-144-218-206.stati:45591 TIME_WAIT   -
tcp        0      1 w-research.ru:http          ppp-58-9-99-10.revip2.:item FIN_WAIT1   -
tcp        0      0 w-research.ru:http          ::ffff:119.42.68.4:21556    TIME_WAIT   -
tcp        0      0 w-research.ru:http          ::ffff:119.42.68.4:21821    TIME_WAIT   -
tcp        0      0 w-research.ru:http          ::ffff:119.42.70.84:20072   TIME_WAIT   -
tcp        0      0 w-research.ru:http          ::ffff:119.42.70.84:20073   TIME_WAIT   -
tcp        0      0 w-research.ru:http          ::ffff:119.42.70.84:20091   TIME_WAIT   -
tcp        0      0 w-research.ru:http          203-144-218-206.stati:59585 TIME_WAIT   -
tcp        0  12421 w-research.ru:http          ::ffff:90.151.194.:ii-admin LAST_ACK    -
tcp        0    501 w-research.ru:http          wiera.ektf.hu:ncl           LAST_ACK    -
tcp        0    501 w-research.ru:http          wiera.ektf.hu:wusage        LAST_ACK    -
tcp        0    501 w-research.ru:http          wiera.ektf.hu:fmpro-fdal    LAST_ACK    -
tcp        0    501 w-research.ru:http          wiera.ektf.hu:orbiter       LAST_ACK    -
tcp        0      0 w-research.ru:http          203-144-218-206.stati:50853 TIME_WAIT   -
tcp        0    501 w-research.ru:http          wiera.ektf.hu:cvspserver    LAST_ACK    -
tcp        0    501 w-research.ru:http          wiera.ektf.h:opequus-server LAST_ACK    -
tcp        0  12421 w-research.ru:http          ::ffff:90.151.194.75:4talk  LAST_ACK    -
tcp        0  12421 w-research.ru:http          ::ffff:90.151.194.:whosells LAST_ACK    -

Заметил что вчера STATE был SYN_RECV, сегодня же LAST_ACK

существует ли способ боротся с такого рода атакой на vds? если учесть что нельзя допустим пересобрать ядро для того что бы работало --limit в iptables

Offline

#2  10.02.09 09:11

Re: Есть ли способ бороться syn flood на удалённом vds?

sysctl -a |  grep tcp_syncookies
net.ipv4.tcp_syncookies = 1

но это не помогает

Offline

#3  10.02.09 09:19

Re: Есть ли способ бороться syn flood на удалённом vds?

и ещё способы ,которым я частично победил первый дос, может из этих способов можно что-нибудь выжать:
1. mod_evasive. в его конфиге указал DOSSystemCommand "/usr/bin/sudo /sbin/iptables -I INPUT 1 -s %s -j DROP" (когда айпи попадает в блеклист я его фаерволом добивал). попало штук 50 айпи.

2. mod_geoip. с помощью этого мода я дал доступ только для RU.

Offline

#4  10.02.09 09:46

Re: Есть ли способ бороться syn flood на удалённом vds?

uname -a
Linux site.ru 2.6.18-92.1.18.el5.028stab060.2 #1 SMP Tue Jan 13 12:18:59 MSK 2009 i686 i686 i386 GNU/Linux

httpd -v
Server version: Apache/2.2.3
Server built:   Nov 12 2008 10:41:27

iptables -V
iptables v1.3.5

Offline

#5  10.02.09 16:16

VS
Профиль

Re: Есть ли способ бороться syn flood на удалённом vds?

а таки поставить nginx в качестве фронт-энда перед апачем?
http://sysoev.ru/nginx/docs/example.html типа вот так... глядишь, этого хватит, а там и надоест.

вот ещё нарыл бородатых советов на лоре

имхо нужен модуль который умеет ограничивать TCP-SYN per ip address. теоретически можно сделать с помошью модулей recent + limit :

iptables -A INPUT -i $inetdev -m recent --name syn-flood --rcheck -j DROP
iptables -A INPUT -i $inetdev -p tcp --syn --dport 80 -j syn-flood

iptables -N syn-flood
iptables -A syn-flood -m limit --limit 10/second -j RETURN
iptables -A syn-flood -m recent --name syn-flood --set -j DROP

http://www.linux.org.ru/books/HOWTO/pac … WTO-7.html

Исправлено VS (10.02.09 16:36)

Offline

#6  10.02.09 21:16

Re: Есть ли способ бороться syn flood на удалённом vds?

Укроп написал(а):

iDrum, это тебе за скотч, понел!

Это не я бляяя...

Offline

#7  11.02.09 09:35

Re: Есть ли способ бороться syn flood на удалённом vds?

Укроп, :)
подскажите, вот висит соедниение
tcp        0      0 site.ru:http          ::ffff:119.42.68.4:20089    SYN_RECV   -

как его закрыть можно принудительно ?

Offline

#8  11.02.09 11:28

Re: Есть ли способ бороться syn flood на удалённом vds?

вот такая идейка появилась.
проверяем куки nginx'ом, если есть определёная печенька с определёным значением, то проксируем запрос на апач, если нет, то работает nginx выдавая страничку типо "Что бы получить доступ до ресурса нужно получить инвайт" и форму для ввода мыла и ввода кода инвайта. В письме отправляем код инвайта. Юзер вводит код, получает печеньку и редиректица на ресурс.

Offline

#9  11.02.09 12:48

Re: Есть ли способ бороться syn flood на удалённом vds?

и почему кстате при
sysctl -a | grep tcp_syncookies
net.ipv4.tcp_syncookies = 1

не помагает?

Offline

#10  11.02.09 14:39

VS
Профиль

Re: Есть ли способ бороться syn flood на удалённом vds?

Печенюшки обходятся
или в ядре не включены?

проверяем куки nginx'ом, если есть определёная печенька с определёным значением, то проксируем запрос на апач,

вот именно что-то вроде этого народ и мутит - апач работает только с нормальными запросами, а nginx чихпыхается с мусором.
А вот с мылами и кодами инвайта это перебор имхо. всё равно что не работает сайт.

Offline

#11  12.02.09 01:14

Wic
Профиль

Re: Есть ли способ бороться syn flood на удалённом vds?

iDrum, меня этим вопросом тоже загружали, но это не в моих силах)
то что VS писал в пятом посте не помогает?

Offline

#12  12.02.09 07:36

Re: Есть ли способ бороться syn flood на удалённом vds?

Wic, не помогает в силу того что vds же, там iptables не понимает recent :(...но с помощью nginx и всё тех же печенек можно сделать так, что бы апач работал только на пользователей форума...правда боты поисковые отсекаются

Offline

#13  15.02.09 16:00

Re: Есть ли способ бороться syn flood на удалённом vds?

не знал заранее что во freebsd всё проще и по дефолту.

Offline

#14  17.02.09 23:23

Wic
Профиль

Re: Есть ли способ бороться syn flood на удалённом vds?

iDrum, про что не знал?

Offline

#15  18.02.09 00:10

Re: Есть ли способ бороться syn flood на удалённом vds?

options TCP_DROP_SYNFIN
tcp_drop_synfin="YES"

Я так понимаю - он про это.

Offline

#16  18.02.09 16:09

Re: Есть ли способ бороться syn flood на удалённом vds?

и про это тоже

Offline

#17  18.02.09 16:15

Wic
Профиль

Re: Есть ли способ бороться syn flood на удалённом vds?

GreenDay, Написал, а потом вспомнил про эту функцию в ядре)
iDrum, а что еще?

Offline

#18  18.02.09 16:40

Re: Есть ли способ бороться syn flood на удалённом vds?

да ничо серьёзного, ньюб же, ну например во фряхе есть такая замечательная штука как pf, которая умеет читать из файла. что во фряхе можно шейпить трафик ipfwом, в линуксе тоже можна но нада доинсталивать модули

Offline

#19  18.02.09 16:51

Re: Есть ли способ бороться syn flood на удалённом vds?

iDrum, ну хз, ipfw менее удобен, чем iptables. Поэтому на новых машинах ставлю либо центос либо дебу.

Offline

#20  18.02.09 16:53

Re: Есть ли способ бороться syn flood на удалённом vds?

GreenDay, а чем неудобен?

Offline

#21  18.02.09 16:59

Re: Есть ли способ бороться syn flood на удалённом vds?

iDrum, ну хз, я с ним больше парился, чем с iptables. Вроде простой, а все же проблемы создавал.

Offline

#22  19.02.09 00:33

Wic
Профиль

Re: Есть ли способ бороться syn flood на удалённом vds?

ipfw очень хорошая вещь, только его настраивать очень не просто, возможностей много но их задейстовать так просто не получается

Offline

#23  20.02.09 09:30

Re: Есть ли способ бороться syn flood на удалённом vds?

У iptables намного больше возможностей, чем у ipfw

Offline

#24  21.02.09 02:00

Wic
Профиль

Re: Есть ли способ бороться syn flood на удалённом vds?

rmir, тогда что есть в одном чего нет в другом?)

Offline

#25  21.02.09 07:21

Re: Есть ли способ бороться syn flood на удалённом vds?

Кста, в линуксе тоже шейпить трафик легко) tc в помощь) И не надо особо ничего доставлять)

Исправлено Com[N-Line] (21.02.09 07:21)

Offline

#26  21.02.09 17:01

Wic
Профиль

Re: Есть ли способ бороться syn flood на удалённом vds?

Com[N-Line], во фряхе шейп в ipfw идет, только ядро перебрать придется)

Offline

#27  23.02.09 09:06

Re: Есть ли способ бороться syn flood на удалённом vds?

открываешь ядро линуха, настройки iptables и большей части в ipfw нет, есть только самое основное, что нужно всем.

Offline

#28  23.02.09 12:55

Wic
Профиль

Re: Есть ли способ бороться syn flood на удалённом vds?

rmir, как только со фряхой разберсь так сразу посмотрю что есть линух))
Да и еще моя фря 7.0 релиз сказазала что options TCP_DROP_SYNFIN такого она не знает и ядро с такой опцией компитлить не будет...у нее это стоит уже или ей что то еще надо?

Исправлено Wic (23.02.09 12:57)

Offline

#29  24.02.09 00:49

Re: Есть ли способ бороться syn flood на удалённом vds?

Wic, начиная с семерки(ну может еще и в 6.3), в ядро включили эту опцию по-умолчанию. Так что в rc.conf дописывай нужные строки и все будет работать.

Offline

#30  24.02.09 13:39

Wic
Профиль

Re: Есть ли способ бороться syn flood на удалённом vds?

GreenDay, сэнкс=)

Offline

Software » Есть ли способ бороться syn flood на удалённом vds? 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.600 сек.
Выполнено 14 запросов.