Компания Бегет открыла (https://beget.com/ru/articles/syncookied) исходные тексты проекта Syncookied (https://github.com/LTD-Beget/syncookied), в рамках которого развиваются система для защиты от различных типов сетевых атак, включая флуд пакетами с флагами SYN и ACK. Syncookied эмулирует функциональность syncookie ядра Linux, использует тот же алгоритм генерации cookie, но обладает более высокой производительностью при противостоянии атакам, благодаря прямой обработке пакетов через netmap (https://github.com/luigirizzo/netmap). Код Syncookied написан на языке Rust и распространяется (https://github.com/LTD-Beget/syncookied) под лицензией GPLv2.Syncookied может использоваться в качестве свободного аналога коммерческим решениям, использующим технологию SynProxy. Предложенное в Syncookied решение может применяться для создания фильтрующего сервера, блокирующего атаки на другие хосты в локальной сети. Производительности 10 ядер процессора Intel Xeon E5-2680v3 достаточно для обработки 10 гигабит трафика, физический сервер способен обрабатывать более 40 гигабит трафика. Развёртывание Syncookied максимально упрощено и не требует дополнительной конфигурации.
Для получения секретного ключа, используемого каждым хостом для верификации cookie, на защищаемых конечных хостах требуется загрузка специального модуля ядра и запуск фонового процесса "syncookied server", передающего ключ и синхронизирующего метки времени с централизованным сервером фильтрации трафика. На сервере фильтрации syncookied запускается в режиме фильтра (syncookied -i eth2) и настраивается прямая передача трафика от сетевой карты через netmap. Во время атаки на маршрутизаторе входящий трафик перенаправляется
на сервер фильтрации, на котором отсеивается флуд и на защищаемый сервер транслируются только корректные пакеты.
Кроме борьбы с DDoS-атаками syncookied также поддерживает определение произвольных правил фильтрации трафика, которые задаются в формате pcap-filter. В правилах блокировки можно комбинировать IP, порт, протокол и т.п. Cистема также может сохранять статистику в БД InfluxDB, на основе которой можно генерировать графики для анализа динамики DDoS-атаки.URL: https://beget.com/ru/articles/syncookied
Новость: http://www.opennet.dev/opennews/art.shtml?num=45041
код ресурсоемких операций написан на assambler
Можно было на lua в асам стиле
> Можно было на lua в асам стилеМожно даже на брейнфаке, только скорость гольного ассемблера не получится.
assembler, а не assambler :)
> assembler, а не assambler :)Если уж исправлять, то на assembly, а не assembler ;)
Assembler — непосредственно программа-сборщик (т.е. "компилятор", если сравнивать с более высокоуровневыми языками).
Простите, господа - был пьян. В следующий раз учту.
> Функциональность syncookie ядра Linux, использует тот же алгоритм генерации cookie, но обладает более высокой производительностьюТак netmap пришел из BSD ясен пень.
>> Функциональность syncookie ядра Linux, использует тот же алгоритм генерации cookie, но обладает более высокой производительностью
> Так netmap пришел из BSD ясен пень.https://github.com/luigirizzo/netmap/tree/master/LINUX
> The FreeBSD and Linux versions share the same codebase, which
> is located in ../sys . For Linux we use some additional glue code, (bsd_glue.h).Нет, как видно из ридми, бцдуны опять утянули себе новшества с пингвина. Хотя им не привыкать.
> netmap/tree/master/LINUXЭто портировали уже для линукса.
>> netmap/tree/master/LINUX
> Это портировали уже для линукса.Вот github-овский "initial commit"- https://github.com/luigirizzo/netmap/commit/f27d642666bb598b... , там и Free, и Linux. Это "12 Mar 2013". Но да, это то, что они [возможно, "потом"] публиковали.
В бумаге http://info.iet.unipi.it/~luigi/research.html 2011-го года http://info.iet.unipi.it/~luigi/netmap/20110729-rizzo-infoco... они уже поминали и linux, и free. Но ресёрчили, похоже -- я не вчитывался (в частности, судя по "мы основывались на bpf, но потом бросили" -- в lin* bpf позже "появился"), _на_ freebsd. Академичненько!
Дорогой борцун, исторически, всё с точностью до наоборот. Но зачем тебе изучать вопрос, тебе главное пёрнуть. Да, мой маленький?
>> For Linux we use some additional glue code, (bsd_glue.h).
> Нет, как видно из ридми, бцдуны опять утянули себе новшества с пингвина. Хотя им не привыкать.Читать научись.
>> Функциональность syncookie ядра Linux
>>но обладает более высокой производительностью
> Так netmap пришел из BSD ясен пень.Да, не. Пришёл он из [грантовых] денег интеля и ею, выбитых себе университетом Пизы:
+Credits
+-------
+NETMAP and VALE are projects of the Universita` di Pisa,
+partially supported by Intel Research Berkeley, EU FP7 projects CHANGE
+and OPENLAB.--https://github.com/luigirizzo/netmap/commit/f27d642666bb598b...
добавьте Rust в ключевые слова, это очень важно. Спасибо, годнота 100%
А что, ещё кто-то DDoS-ит SYN-флудом? Мне казалось это уже давно пройденный этап и сейчас или UDP-флудом через усилители трафика забивают весь канал или ботнетом генерируют вполне валидные HTTP-запросы к ресурсоёмким страницам, которые только через капчу отбиваются с установкой сессионной Сookie.
Досят ещё как. Один линуксовый сервер в любой конфигурации с помощью iptables -J SYNPROXY отбивает пару миллионов пакетов синфлуда и сдувается. Так что он всё ещё эффективен.
> генерируют вполне валидные HTTP-запросы к ресурсоёмким страницамВ инете не только HTTP, дружище. Есть куча других протоколов.
binkp используете?
Вы не понимаете.
Это написано на Rust.
НА RUST.
это ты не понимаешь, pony лучше rust, но сдохла.
> Вы не понимаете.
> Это написано на Rust.
> НА RUST.Да, коллега!! Итальянская академическая наука двигается от freebsd к freebsd+linux+windows, от пайтона -- к rust, от текний -- к грантам. Это очень интеречная тенденция. //Не разглядел только, в вопросе BSDL vs GPL какие подвижки? Rust "у нас" под чем?----
https://github.com/rust-lang/rust/blob/master/COPYRIGHT
"The Rust Project is dual-licensed under Apache 2.0 and MIT terms."Яка зрада, Андрейко! :-( А влада скрывет!!! Подымай майдан!!!!
PS: А лучше - прими уже таблеточку, ну грустное же блин зрелище! :(
>under Apache 2.0 and MIT terms."
> Яка зрада, Андрейко! :-( А влада скрывет!!! Подымай майдан!!!!
> PS: А лучше - прими уже таблеточку, ну грустное же блин зрелище!
> :(Да. Грустно. Люди не понимают риторики и иронии над ними. Но старательно защищаются. Я рыдаю... прямо.
Это лучше, чем Sustricata?
> Это лучше, чем Sustricata?Это другое! :) см. #14
это "как syncookie но с меньшим процессорным овэрхэдом", то есть столь-же дырявое, но ощутимо менее ресурсоемкое, но всяко лучше чем Ничего в плане защиты. с другой стороны в силу специфики TCP и нетфильтра - оно и side-channel и mitm упрощает в обоих случаях, пусть и непринципиально.
TCP cookie transactions недопилили из 6013-го RFC, повыкидывав и deprecate-нув его, а зря :(
DNSSEC тоже бы deprecate-нуть, ну ужасный ведь костыль надстройкой.
> DNSSEC тоже бы deprecate-нуть, ну ужасный ведь костыль надстройкой.HTTPS так же. И что?
так давно-ж. startTLS рекомендовано заменять киданием websocket поверх ipsec ;)
а вот тут по подробней плиз )))))
Вы ведь уже придумали решение получше? Можно почитать Ваше решение на сайте https://www.ietf.org/ ?
ага и IPSEC с IPv6 сразу заодно, ибо "defective by design", неконсистентно, пересуложнено, противоречиво и чрезмерно/неоправданно непрозрачно, утяжелено, непропорационально фичастости и применению.
но если не стебаться то есть вам DNSCurve сырой код если DNSSec не устаривает или еще более нетривиальные (на базе лаи-массея с максимизацией каскадного эффекта в тюнинге об)реализации.
Производительности 10 ядер процессора Intel Xeon E5-2680v3 достаточно для обработки 10 гигабит трафика, физический сервер способен обрабатывать более 40 гигабит трафика.А потом что? Новые ядра покупать?
> Производительности 10 ядер процессора
> гигабит трафика, физический сервер способен
> А потом что? Новые ядра покупать?Продавать (но прежде -- гранты и побольше)!
Кластер. Облако. Кубит! Нейтринные вычислители... Сингулярность...
Вот оно что, митрофанушка то оказывается AI. Будущий.
> Вот оно что, митрофанушка то оказывается AI. Будущий.Тебя естественным обделили??
https://habrahabr.ru/post/301892/