Зависает pfSense при DDOS
-
Привет!
Может кто уже встречался с такой проблемой, у меня pfSense версии
2.1-RELEASE (amd64)
built on Wed Sep 11 18:17:48 EDT 2013
FreeBSD 8.3-RELEASE-p11Установлен он на железку Supermicro с 2мя процами E5-2620 и оперативной памятью в 32 гига.
Две встроенные сетевые карты объединены в lagg-интерфейс и на нем сделаны VLANы.На меня шла DDOS атака со скоростью в 1ГБ и при этом коробка c pfSense начинает дико "тормозить".
На КВМ там ничего не отвечает, по ssh туда просто не забраться, но если получается, то вижу следующую картинку:
State table size - забит полностью 100% 3271000/3271000 и если посмотреть на top, то
там процесс pf "выедает" 100% загруженности при этом LA растет нереально быстро.Потери из LAN до GW(pfsense) 50 и более процентов.
Можете подсказать, в чем может быть дело? Почему так происходит?
Если нужна еще какая нибудь инфа - скажите.
Заранее спасибо!
-
На меня шла DDOS атака со скоростью в 1ГБ и при этом коробка c pfSense начинает дико "тормозить".
Не уверен, но как вариант - использовать Snort.
http://hubpages.com/hub/How-to-Set-Up-an-Intrusion-Detection-System-Using-Snort-on-pfSense-20
http://www.wedebugyou.com/2012/11/how-to-prevent-and-mitigate-ddos-part1/
-
Если у Вас правильно настроен файрвол, то при внешней DDos атаке таблица States не может расти. Она растет только за счет установленных соединений. Значит либо у Вас внешний DDos на проброшенные порты, либо идут внутренние соединения за счет вирусов или ПО типа Агент-майл-ру. Смотрите, чем забит States, и боритесь с причинами.
-
Привет, спасибо за ответы.
Ситуация в том, что за pfSense белая сеть, то есть там нету NAT и соответственно DDOS шел на открытый IP по UDP.
На разные порты с разных машин.То есть ни о каких вирусах речи тут не идет (атака шла на адрес веб-сервера под linux).
Вопрос еще в том, почему pfsense просто зависал и даже на консоле ничего сделать было невозможно?
-
[Altero]Maximus
Вам с такими вопросами лучше сюда. -
@[Altero:
Maximus link=topic=77132.msg420306#msg420306 date=1400402923]
Ситуация в том, что за pfSense белая сеть, то есть там нету NAT и соответственно DDOS шел на открытый IP по UDP.
На разные порты с разных машин.То есть ни о каких вирусах речи тут не идет (атака шла на адрес веб-сервера под linux).
Такое надо резать на подступах, а не пропускать внутрь. Судя по росту количества states, у вас доступ из инета к этому серверу открыт на все порты и протоколы. А зачем?
В pf state generation происходит после фильтра. Запретите доступ к linux-серверу по UDP правилами, и таблица перестанет расти. -
@ [Altero]Maximus
Покажите правила fw на LAN, WAN.
Я ж давал ссылку на ids snort + pfsense :
http://hubpages.com/hub/How-to-Set-Up-an-Intrusion-Detection-System-Using-Snort-on-pfSense-20 -
Спасибо за ответ.
Правила очень простые, показывать нет смысла их.
Спасибо за ссылки, буду изучать.
-
@ [Altero]Maximus
Встроенные карты - не эта ?
kernel: re0: <realtek 8111="" 8168="" b="" c="" cp="" d="" dp="" e="" f="" pcie="" gigabit="" ethernet="">kernel: rgephy0:</realtek> -
Привет!
нет, сетевушки Intel:
igb0: <intel(r) 1000="" pro="" network="" connection="" version="" -="" 2.3.1="">port 0x8020-0x803f mem 0xdf920000-0xdf93ffff,0xdf944000-0xdf947fff irq 27 at device 0.0 on pci2
igb1: <intel(r) 1000="" pro="" network="" connection="" version="" -="" 2.3.1="">port 0x8000-0x801f mem 0xdf900000-0xdf91ffff,0xdf940000-0xdf943fff irq 30 at device 0.1 on pci2</intel(r)></intel(r)> -
тут отднозначно нужно резать сторонней софтиной либо тюнить.
у меня на 5639 (6ядер 2.16ГГц)количество states 1225000 при 12гигах рамы (3 канала, палки по 4гига)
сетевухи 2порта igb(1Gb) и 2порта ix(10Gb)
тут скорее всего проблема в агрегации. покойпай в эту сторону.
если бы у тебя были отдельные сетевушки, то они сами бы разруливали и нагрузку на проц не давали.
а в варианте с агрегацией (программно) у тебя используется проц, причём один.
и тут очень много но и если выползает. HT NUMA и тд. читай про них. и лезь в биос вырубать всяку бяку. NUMA дак вообще с 9 ветки FreeBSD начала поддерживаться и то криво и через одно место.
и на кой чёрт тебе два проца. одним процом спокойно можно до 10г разрулить, и памяти столько не нать, максимум 3 палки на проц ( для использования 3ёх канального режима и увеличения пропускной способности), особенно если у тебя тупой роутинг даже без нат.
и в варианте с 2 головами нужно кучу всего жестко привязывать к своим горшкам. -
@[Altero:
Maximus link=topic=77132.msg420246#msg420246 date=1400360168]
На меня шла DDOS атака со скоростью в 1ГБ и при этом коробка c pfSense начинает дико "тормозить".
На КВМ там ничего не отвечает, по ssh туда просто не забраться, но если получается, то вижу следующую картинку:
Потери из LAN до GW(pfsense) 50 и более процентов.Давай логично рассуждать:
1. Через КВМ не отвечает, т.к проц на всю катушку забит! Смотри чем.
2. По сетке не ответит тебе даже если бы проц не был забит - у тебя нет ограничений на входящий канал - исчерпаны все доступные на файрволле состояния.
После устранения проблемы с перегрузкой проца поставь лимитер на входящий из мира канал не более 98% (или сколько хочешь). Т.е. оставь себе зазор. Если ты из локалки не можешь зайти - из локалки поставь зазор. А свой адрес поставь в исключения лимитера. Так ты обеспечишь себе состояние pfSense "всегда доступен для админа!" -
Позвольте понекропостить.
mazurik_tc
По поводу Вашего п.2:
ддос ддосу рознь. Можно шмалять 1Гб icmp пакетов, а можно делать умные атаки на конкретный софт.
Я само лично использовал перловый скрипт, который каналом в 1 мегабит, путём атаки на порт apache2 убивал сервер на 2х ксеонах. Причём не апач вешал сервер, а процы начинали работать с гиганским количеством интерруптов. Такие дела…По поводу причины - я думаю настроен проброс диапазона портов, или порты WAN не закрыты снаружи.
По моему опыту если автора топика действительно тревожит ддос (и это именно ддос, а не сетевой шторм), то лучше для защиты использовать сторонние решения. Жаль что 100% защиты никто не может гарантировать (по объективным причинам).
-
Я само лично использовал перловый скрипт, который каналом в 1 мегабит, путём атаки на порт apache2 убивал сервер на 2х ксеонах. Причём не апач вешал сервер, а процы начинали работать с гиганским количеством интерруптов. Такие дела…
Offtop :
Видимо все же апач вешал ваши машины. Ибо каждое обращение к порту , на к-ом слушал веб-сервер - это открытие нового соединения (расход ОЗУ, CPU etc., а "кушает" он будь здоров ). Не зря же в кач-ве frontend и используют мелкий и шустрый nginx, к-ый потребляет намнооооого меньше ресурсов. А если его "докрутить" (ограничение кол-во соединений в ед-цу времени с одного адреса и т.д.) - вообще красота будет. Но естественно , что это не панацея.
-
конечно апач.
Я имел ввиду, что например тот же элементарный top проблему по программе не показывал. Апач потребляет свои 0,02% - а сервер при этом даже толком не пингвинится….. Так то да: нет апача - нет проблемы.
PS: машины были не мои )))))