Фильтрация пакетов, NAT, большой обьём трафик
-
Можно обычную 100 мбит на pci слот. Отпишитесь по итогам теста. Встроенную, думаю, пока не стоит трогать.
-
Можно обычную 100 мбит на pci слот. Отпишитесь по итогам теста. Встроенную, думаю, пока не стоит трогать.
Угу, у меня как раз гигабайтная TP-Link валяется, есть ещё интеловская, но она на работе, так что завтра с утра воткну TP, будем ждать DDOS атаки :)
-
Такая ситуация бывает обычно (на 100% пока сказать не могу) когда DDOS-ят на какой то из прокинутых портов первого канала, хотелось бы понять это узкое место NAT или что то ещё ?
Если да, то как лучше всего отфильтровать траффик до его попадания в NAT, он вообще фильтруется до NAT допустим через Float правила в Firewall-Rules ?!NAT делается перед фильтрацией, и изменить этого нельзя, такая архитектура. Блокировка пакета фильтром сама по себе не бесплатна, так как фильтр должен поддерживать свои внутренние структуры данных в интактном состоянии. NAT (Port forward) добавляет к этому еще работы. Проброшенный пакет будет блокироваться определенно дольше, но насколько, и в этом ли причина вашей проблемы, не скажу.
https://github.com/pfsense/FreeBSD-src/blob/RELENG_2_2/sys/netpfil/pf/pf.c (3570-3587)
if ((r->action == PF_DROP) && ((r->rule_flag & PFRULE_RETURNRST) || (r->rule_flag & PFRULE_RETURNICMP) || (r->rule_flag & PFRULE_RETURN))) { /* undo NAT changes, if they have taken place */ if (nr != NULL) { PF_ACPY(saddr, &sk->addr[pd->sidx], af); PF_ACPY(daddr, &sk->addr[pd->didx], af); if (pd->sport) *pd->sport = sk->port[pd->sidx]; if (pd->dport) *pd->dport = sk->port[pd->didx]; if (pd->proto_sum) *pd->proto_sum = bproto_sum; if (pd->ip_sum) *pd->ip_sum = bip_sum; m_copyback(m, off, hdrlen, pd->hdr.any); }
вот этот m_copyback может что-то дать на большом потоке
-
Такая ситуация бывает обычно (на 100% пока сказать не могу) когда DDOS-ят на какой то из прокинутых портов первого канала, хотелось бы понять это узкое место NAT или что то ещё ?
Если да, то как лучше всего отфильтровать траффик до его попадания в NAT, он вообще фильтруется до NAT допустим через Float правила в Firewall-Rules ?!NAT делается перед фильтрацией, и изменить этого нельзя, такая архитектура. Блокировка пакета фильтром сама по себе не бесплатна, так как фильтр должен поддерживать свои внутренние структуры данных в интактном состоянии. NAT (Port forward) добавляет к этому еще работы. Проброшенный пакет будет блокироваться определенно дольше, но насколько, и в этом ли причина вашей проблемы, не скажу.
https://github.com/pfsense/FreeBSD-src/blob/RELENG_2_2/sys/netpfil/pf/pf.c (3570-3587)
if ((r->action == PF_DROP) && ((r->rule_flag & PFRULE_RETURNRST) || (r->rule_flag & PFRULE_RETURNICMP) || (r->rule_flag & PFRULE_RETURN))) { /* undo NAT changes, if they have taken place */ if (nr != NULL) { PF_ACPY(saddr, &sk->addr[pd->sidx], af); PF_ACPY(daddr, &sk->addr[pd->didx], af); if (pd->sport) *pd->sport = sk->port[pd->sidx]; if (pd->dport) *pd->dport = sk->port[pd->didx]; if (pd->proto_sum) *pd->proto_sum = bproto_sum; if (pd->ip_sum) *pd->ip_sum = bip_sum; m_copyback(m, off, hdrlen, pd->hdr.any); }
вот этот m_copyback может что-то дать на большом потоке
Да про NAT я тоже где-то читал, потому сразу и уточнил что порты проброшены, а как интересно тогда это работает, там же ещё при создании правил NAT можно указать определённую фильтрацию, ну типа список IP-адресов, чтобы некоторые страны исключить, получается что в любом случае порт сначала пробрасывается, и только потом проверятся, а нужно ли для этого IP что либо делать, как то нелогично…
p.s.
Сетевуху установил, но пока что больших DDOS-атак не было, будем поглядеть, как говориться ... :) -
Как полет, кстати?
-
Как полет, кстати?
Сегодня в моё отсутствие был относительно небольшой DDOS на пол часа (21 миллион пакетов), вроде с другой сетевой на втором канале потерь нет, но это не показатель, нужно чтобы я был на месте во время атаки для её мониторинга, а то точно не ясно на сколько маштабной она была и каково было ей содержание…, так что пока что всё нормально...
-
Да про NAT я тоже где-то читал, потому сразу и уточнил что порты проброшены, а как интересно тогда это работает, там же ещё при создании правил NAT можно указать определённую фильтрацию, ну типа список IP-адресов, чтобы некоторые страны исключить
В NAT нет никакой фильтрации, все пакеты, не зависимо от того применено ли было к ним правило NAT или нет, отправляются в фильтр. "Список IP-адресов" - это те айпи, к которым будет применяться NAT. Остальные полетят в фильтр напрямую.
-
Да про NAT я тоже где-то читал, потому сразу и уточнил что порты проброшены, а как интересно тогда это работает, там же ещё при создании правил NAT можно указать определённую фильтрацию, ну типа список IP-адресов, чтобы некоторые страны исключить
В NAT нет никакой фильтрации, все пакеты, не зависимо от того применено ли было к ним правило NAT или нет, отправляются в фильтр. "Список IP-адресов" - это те айпи, к которым будет применяться NAT. Остальные полетят в фильтр напрямую.
Я имею ввиду что когда в GUI создаёшь правило проброса портов то там можно указать как источник список IP адресов, соответственно только пакеты приходящие с этих IP и должны пройти в NAT, то есть если я исключаю из этого списка IP страны с которых в основном и идёт DDOS трафик, то я хоть и на немного, но снижаю нагрузку на роутер.
-
соответственно только пакеты приходящие с этих IP и должны пройти в NAT…
Нет. NAT абсолютно прозрачен, через него проходят все пакеты, беспрепятственно. Просто у тех, что в списке, меняется IP назначения, а остальные проходят в неизменном виде. Больше у "списка" никакой функции нет, он не отбрасывает пакеты с IP-шников отсутствующих в списке.
Заметьте, что для проброса порта не достаточно настроить NAT, нужно еще сделать разрешающее правило в фильтре. По умолчанию, pfSense создает его за вас. Вот именно оно и фильтрует адреса не из списка. -
соответственно только пакеты приходящие с этих IP и должны пройти в NAT…
Нет. NAT абсолютно прозрачен, через него проходят все пакеты, беспрепятственно. Просто у тех, что в списке, меняется IP назначения, а остальные проходят в неизменном виде. Больше у "списка" никакой функции нет, он не отбрасывает пакеты с IP-шников отсутствующих в списке.
Заметьте, что для проброса порта не достаточно настроить NAT, нужно еще сделать разрешающее правило в фильтре. По умолчанию, pfSense создает его за вас. Вот именно оно и фильтрует адреса не из списка.Хм…, тогда что схема в этой https://forum.pfsense.org/index.php?topic=73670.0 ветке не совсем правильная или слишком упрощённая, там же перед NAT есть фильтрация…?
-
Добрый.
Когда же ТС поймет, что атака ведется не на транспортном уровне (pfsense) , а на уровне приложения (TS) ?P.s. Снова задаюсь вопросом - кому понадобился ТС со своим глубоко частным (?) сервисом, чтобы на него тратились и вкладывались в не самый простой тип атаки?
ТС, признайся, чем разозлил атакующих? Что-то тут не то :-\ -
Добрый.
Когда же ТС поймет, что атака ведется не на транспортном уровне (pfsense) , а на уровне приложения (TS) ?P.s. Снова задаюсь вопросом - кому понадобился ТС со своим глубоко частным (?) сервисом, чтобы на него тратились и вкладывались в не самый простой тип атаки?
ТС, признайся, чем разозлил атакующих? Что-то тут не то :-\Мне кажется, что ТС уже давал ответ по поводу того, зачем ему это все. Собственно, как и люди, давали совет, что в данной ситуации будет лучше.
Вопрос к вам: зачем талдычить это по 100 раз. Тем более, насколько я знаю, у него уже все практически получилось. -
Мне кажется, что ТС уже давал ответ по поводу того, зачем ему это все. Собственно, как и люди, давали совет, что в данной ситуации будет лучше.
Вопрос к вам: зачем талдычить это по 100 раз. Тем более, насколько я знаю, у него уже все практически получилось.Спасибо, да практически всё я думаю получилось, завтра утром (когда народу на сервере будет мало) верну всё на на сетевуху I350-T4, перегружу роутер с подправленными настройками и ещё потестирую (посмотрим как с ними будет себя роутер вести), но думаю уже сейчас можно сказать что проблема решена, остались частности…, по крайней мере я на это очень рассчитываю...
Добрый.
Когда же ТС поймет, что атака ведется не на транспортном уровне (pfsense) , а на уровне приложения (TS) ?P.s. Снова задаюсь вопросом - кому понадобился ТС со своим глубоко частным (?) сервисом, чтобы на него тратились и вкладывались в не самый простой тип атаки?
ТС, признайся, чем разозлил атакующих? Что-то тут не то :-\Я вам уже отвечал, но если вам так сложно понять, зайдите на любой более-менее топовый TS сервер, и спросите DDOS-ят ли их и за что, и я более чем уверен что 9 из 10 если не все 10 скажут что DDOS-ят или DDOS-или, а на ваш вопрос "за что", скажут что ни за что…
Вообще то тут может быть банальная цепная реакция, берёте сервер в ТОП-е, с какими то платными функциями, хорошенько его DDOS-ите, владелец бесится (сам лично видел таких, то в названия сервера вставляют ругательства в адрес ддосеров то ещё что), потом владелец атакованного сервера от обиды начинает подозревать всех тех кто занимает его место и даже не имея никаких доказательств начинает их DDOS-ить (как говориться не себе не людям или думает что мстит им), те в свою очередь повторяют его путь и так всё запускается по кругу, и так возникает круговорот DDOS-а в интернете, первый "шутник" уже давно это дело бросил, но остальные "обиженные" продолжают :)
Конечно в большинстве это моя догадка, но я думаю такое вполне может быть.Вы может не в курсе, но сейчас есть куча сайтов которые якобы предоставляют возможность протестировать вашу сеть на стресс - устойчивость, конечно большинство из них туфта, но некоторые, я думаю, за относительно небольшие деньги могут вам предоставить реальную возможность забить не самый жирный канал на короткое время.
Для обычного WEB сервера это не сильно смертельно, а вот для TS чувствительно, ибо народ вылетает с сервера, после чего падает привлекательность и надёжность сервера в глазах пользователей, особенно если это игроки и они в каком-нибудь рейде и из-за этого проиграют или что то подобное, он не будет разбираться, ему это не надо, он просто уйдёт на другой, более надёжный сервер, может и остаться если привык к вашему серверу, но если атаки будут продолжаться то любое терпение лопнет...Возможно некоторые такие сайты могут дать доступ и к настоящему ботнету, да и различного рода усилители UDP (DNS, NTP) и другие не такая уж и редкость.
Сейчас организовать DDOS атаку не так уж и сложно и для того чтобы быть атакованным не надо ничего такого делать (я видел как атаковали обычные, базовые TS сервера на 32 слота и причём не раз), сейчас могут DDOS-ить за что угодно и даже просто так... -
Добрый.
Как я понимаю вас на 9987\udp ддосят. Разрешение доступа к тимспик только с опред. адресов поможет отсеять поганцев, но вот с остальным :'(
Нельзя вот так просто взять и победить UDP flood (с) - https://www.linuxquestions.org/questions/linux-server-73/suggest-iptables-configuration-for-udp-flood-ddos-4175617845/
Диалог https://forum.teamspeak.com/threads/107581-Use-tcp-instead-udp и вариант решения (Mumble - https://github.com/mumble-voip/mumble)
Bla bla bla. Vent is TCP-only. Mumble has an option for TCP. I'm still maintaining a Vent demo server for talking to people with EDGE.
Интересный проект по борьбе с ддос - https://www.linkedin.com/pulse/20141022190816-122785577-защита-от-ddos-атак-с-помощью-fastnetmon, https://github.com/pavel-odintsov/fastnetmon
2 Fallen_A
Дам ссылку. Для понимания. Бесплатно. Держите https://habrahabr.ru/company/pentestit/blog/252233/ Тем более, что пока от вас здесь только совет по замене сетевой. -
Зато от вас только совет в сторону того, что вам нравится. Очень оригинально со ссылкой, но спасибо, в этом я что-то и до вашего понимал.
Что касается ваших советов, то где же правильный ответ в тему с моей проблемой?
-
Добрый.
Как я понимаю вас на 9987\udp ддосят. Разрешение доступа к тимспик только с опред. адресов поможет отсеять поганцев, но вот с остальным :'(
Нельзя вот так просто взять и победить UDP flood (с) - https://www.linuxquestions.org/questions/linux-server-73/suggest-iptables-configuration-for-udp-flood-ddos-4175617845/
Про блокировку некоторых стран я уже писал выше (кстати заведу ещё одну тему чуть позже, есть непонятки с пробросом портов).
На счёт "UDP flood"…, для этого у меня и есть резервные каналы..., и на PF с UDP можно хоть как то работать и фильтровать в отличии скажем от Microtik.Диалог https://forum.teamspeak.com/threads/107581-Use-tcp-instead-udp и вариант решения (Mumble - https://github.com/mumble-voip/mumble)
Bla bla bla. Vent is TCP-only. Mumble has an option for TCP. I'm still maintaining a Vent demo server for talking to people with EDGE.
Я знаю про ограничения TS3.
Переход на что-то другое мне пока не интересен, станет скучно буду искать альтернативы, пока меня всё устраивает…Интересный проект по борьбе с ддос - https://www.linkedin.com/pulse/20141022190816-122785577-защита-от-ddos-атак-с-помощью-fastnetmon, https://github.com/pavel-odintsov/fastnetmon
Ну в моём случае определить DDOS можно простейшим пингом до удалённого хоста…, но спасибо за ссылку...
Fallen_A
Дам ссылку. Для понимания. Бесплатно. Держите https://habrahabr.ru/company/pentestit/blog/252233/ Тем более, что пока от вас здесь только совет по замене сетевой.Вообще то он сделал абсолютно верное предложение, как технарь могу это подтвердить, когда происходит непонятная фигня причину которой ты не можешь определить с ходу, следует исключать возможные проблемные узлы один за другим и смотреть к чему это приведёт, да это порой муторно, но это самый надёжный способ…, хоть первая попытка и не помогла, но вторая его подсказка навела меня на правильное решение проблемы...
p.s.
Fallen_A
За последние 2-3 дня не было ни одной сильно DDOS атаки, так что не могу пока 100% подтвердить что все мои предположения, настройки помогли, обычно я проверяю на 3 случаях, тут пока что был только один(успешный)…, как только всё проверю, отпишусь... -
Что касается ваших советов, то где же правильный ответ в тему с моей проблемой?
Уточните. У вас 27 сообщений на данный момент. И перелопачивать их все желания особого нетути.
-
-
Добрый.
Нет. Это была ложь с вашей стороны, неуважаемый Fallen_A.
И оч. может случиться так, что на вашу просьбу помочь просто не обратят внимание. Как на "сарказм". -
Добрый.
Нет. Это была ложь с вашей стороны, неуважаемый Fallen_A.
И оч. может случиться так, что на вашу просьбу помочь просто не обратят внимание. Как на "сарказм".В чем ложь? В том, что вы даете советы зная, что ТС этого топика так не поступит? Это можно перечитать вам и понять еще раз.
Что касается моей последней темы - то вы не дали внятного ответа, а влезли все с тем же LEDE.
Так где ложь? Научитесь следить за темой разговора уже наконец.