Защита от DDOS - всего 2 строки

Andreyka
На сайте с 19.02.2005
Offline
822
#21

Про то как поступать с синами и зачем - я расскажу в следующий раз ;)

Не стоит плодить сущности без необходимости
N
На сайте с 06.05.2007
Offline
419
#22

myhand, если рассуждать, такой syn-пакет, при условии что оба сокета открыты nginx с опцией deferred, мог бы быть принят, обработан и на третьем по счету пакете образовался бы редирект а там и nginx принял бы соединение. Но что-то я попробовал - линукс так не умеет. По крайней мере решение в одну строчку точно нерабочее, а жаль. Может у меня слишком свежее ядро? суд по счетчикам, у меня на PREROUTING поступает всего один пакет на каждое соединение.

Самый логичный вариант - Андрейка использовал -m string для защиты от ботов и решил модифицировать не проверив. но лишь боты посылают данные сразу в первом пакете.

Кнопка вызова админа ()
M
На сайте с 16.09.2009
Offline
278
#23
netwind:
myhand, если рассуждать, такой syn-пакет, при условии что оба сокета открыты nginx с опцией deferred, мог бы быть принят, обработан и на третьем по счету пакете образовался бы редирект а там и nginx принял бы соединение. Но что-то я попробовал - линукс так не умеет. По крайней мере решение в одну строчку точно нерабочее, а жаль. Может у меня слишком свежее ядро? суд по счетчикам, у меня на PREROUTING поступает всего один пакет на каждое соединение.

да нет, не думаю что дело в этом, это фича.

у меня возникла мысль использовать -m recent. но

это тоже не работает, похоже:

http://community.livejournal.com/ru_linux/2092840.html

netwind:

Самый логичный вариант - Андрейка использовал -m string для защиты от ботов и решил модифицировать не проверив. но лишь боты посылают данные сразу в первом пакете.

первый пакет - с флагом syn, нет там данных

Andreyka:
Про то как поступать с синами и зачем - я расскажу в следующий раз ;)

речь была про то, что "в одну строчку" - это правило не работает. т.е. входящий

пакет с syn оно по вашему критерию - не завернет (нужны данные).

внимание, вопрос: "как же оно было на самом дела"?

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
Andreyka
На сайте с 19.02.2005
Offline
822
#24

На самом деле я фильтрую син и пропускаю трафф только от установленных коннектов еще до сервера

M
На сайте с 16.09.2009
Offline
278
#25
Andreyka:
На самом деле я фильтрую син и пропускаю трафф только от установленных коннектов еще до сервера

Было бы интересно увидеть полностью рабочее решение. Как видно из

треда - не только мне, например, пока - совершенно неочевидно как подобное решение

с -m string может работать _в_принципе_.

Просветите - буду благодарен.

Не сумеете - стоило б исправить статью ;)

N
На сайте с 06.05.2007
Offline
419
#26
myhand:
первый пакет - с флагом syn, нет там данных

ok. ну тогда он использовал это в INPUT или FORWARD, где проходит каждый пакет.

В любом случае, раз ни при каких условиях последующие пакеты соединения не попадают в цепочку PREROUTING, это решение не может работать вообще никак.

DLag
На сайте с 15.08.2007
Offline
201
#27

Специально для тех кто не верит в работоспособность этого решения поясню технологию.

Соединения пропускаются все.

Но те, которые без куки идут на дешевый nginx(80 порт), на котором лежит статичная страничка устанавливающая куку(можно даже с JS, а не в nginx).

Те что с кукой форвардятся уже на вебсервер отдающий сайт(8080 порт).

Методика неплохая, но если атака заказная это спасет на 5-10 минут пока атакующий заметит сие чудо.

От школьников пойдет.

Руководитель датацентра UkrNames (http://ukrnames.com/)
M
На сайте с 16.09.2009
Offline
278
#28
DLag:
Специально для тех кто не верит в работоспособность этого решения поясню технологию.
Соединения пропускаются все.
Но те, которые без куки идут на дешевый nginx(80 порт), на котором лежит статичная страничка устанавливающая куку(можно даже с JS, а не в nginx).
Те что с кукой форвардятся уже на вебсервер отдающий сайт(8080 порт).

Методика неплохая, но если атака заказная это спасет на 5-10 минут пока атакующий заметит сие чудо.
От школьников пойдет.

покажите как это сделать на уровне файервола. сумеете?

P
На сайте с 16.05.2008
Offline
47
#29

Если атака заказная -- могут и nginx положить. Если nginx выдерживает -- проще все перенести в кэш на основе статики/memcached.

DLag
На сайте с 15.08.2007
Offline
201
#30
myhand:
покажите как это сделать на уровне файервола. сумеете?

Суметь что?

Вам уже показали как это делается в статье.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий