home.social

#xdp — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #xdp, aggregated by home.social.

  1. Собираем NetFlow-статистику через eBPF: от физических серверов до K8s

    Привет, Хабр! Я работаю сетевым инженером в компании, которая занимается разработкой софта. В этой статье расскажу о том, как мы собираем статистику сетевого трафика, и о трудностях, с которыми столкнулись и успешно справились. Когда речь идёт о расследовании инцидентов, связанных с безопасностью своих ресурсов, «приблизительной» статистики недостаточно — нужны подробности. Однако, встроенные в сетевое оборудование решения (вроде sFlow/NetFlow) с этим, как правило, не справляются:

    habr.com/ru/articles/1015480/

    #ebpf #xdp #netflow

  2. XDP + Jenkins: высокоскоростной фильтр по TLS-отпечаткам

    В период массового импортозамещения средств защиты от DDoS один из провайдеров перевёл свои центры очистки трафика на отечественное решение. Помимо стандартной защиты на уровне L4, провайдер позиционировал его нам как эффективную защиту от L7-атак за счёт механизма фильтрации по TLS-отпечаткам (тогда это был ещё JA3). Однако на практике мы показали, что рандомизация параметров отпечатка (cipher suites, extensions, порядок) позволяет обойти этот механизм и существенно снижает его эффективность против L7-атак. Стоит ли использовать механизмы защиты по отпечаткам JA3/JA4, зная о возможности обхода? Да, стоит. Процесс обхода требует от атакующего значительных ресурсов — кастомного TLS-клиента для генерации уникальных отпечатков. При дополнительной настройке, например, добавлении счётчика с разными лимитами для новых и известных отпечатков (более высокие лимиты для «белых» отпечатков), можно добиться высокой эффективности против ботовых L7-атак (флуд от ботов с повторяющимися отпечатками). В этой статье мы реализуем защиту на основе фильтрации TLS-отпечатков, вдохновлённую подходом JA4, но в упрощённой версии FST1 (по отсортированным cipher suites с использованием Jenkins-хэша). Почему не полноценный JA4? Из-за жёстких ограничений eBPF (ограниченный стек, запрет на сложные циклы, отсутствие динамической памяти и строгие правила верификатора ядра) реализация полного JA4 (с учётом всех расширений, ALPN и других параметров) становится крайне сложной.

    habr.com/ru/articles/994962/

    #xdp #ebpf #ddos #linux

  3. Cloudflare chrání miliony webů po celém světě před DDoS útoky a dalšími hrozbami. Díky obrovské síti datacenter, vlastnímu softwaru a inteligentní automatizaci dokáže zachytit i ty nejmasivnější útoky, často během několika sekund, aniž by ohrozila přístup legitimních návštěvníků.

    https://zdrojak.cz/clanky/proc-ma-cloudflare-spickovou-ddos-ochranu-a-jak-funguje/

  4. Реализация гео-блокировки на основе eBPF/XDP

    В 2022 году финансовый сектор, в частности банки, столкнулся с волной продолжительных и достаточно мощных DDoS-атак разных векторов. Среди них были и банальные L7 HTTP-флуды, не представлявшие собой ничего сложного в техническом плане, но для организаций с несколькими сотнями пользовательских сервисов и защитой от L7-атак только критичных из них, это стало серьезным вызовом. Типичная L4-защита не давала необходимой эффективности, а количество атакующих устройств было достаточно, чтобы забить каналы пропускной способностью в десятки гигабит. Тогда на помощь пришла фильтрация трафика по географическому признаку, поскольку основная часть атакующего трафика шла из-за границы. Применение гео-фильтрации оказалось достаточным, чтобы в критический момент восстановить доступность сервисов и выиграть время для настройки более точной защиты на основе детального анализа трафика. Этот опыт наглядно показал, что иногда простые решения оказываются наиболее эффективными в критических ситуациях. Гео-фильтрация, будучи грубым инструментом, в условиях DDoS-атаки может стать тем самым «спасательным кругом», который позволяет локализовать проблему и выиграть время для более тонкой настройки. Технология XDP (eXpress Data Path) идеально подходит для таких сценариев — она позволяет обрабатывать пакеты на самом раннем этапе, еще до того, как они попадут в сетевой стек ядра, что обеспечивает беспрецедентную производительность. Данной статьей хочется продемонстрировать, как с помощью XDP можно достаточно легко реализовать собственный гео-фильтр. Эту защиту можно реализовать, например, модулями nginx, но в таком случае все нежелательные запросы будут проходить полный сетевой стек операционной системы и потреблять ресурсы веб-сервера, прежде чем быть отклоненными. В нашем же случае защита отрабатывает до того, как пакеты поступят в сетевой стек ядра.

    habr.com/ru/articles/966938/

    #xdp #ebpf #ddos #linux

  5. 🎉 Wow, someone discovered that #XDP can handle #egress traffic! 🚀 Meanwhile, the rest of us are just trying to figure out why we should care about packet processing speeds when our network is already down. 😂 #KubeConBooth1752
    loopholelabs.io/blog/xdp-for-e #traffic #packetprocessing #KubeCon #networkperformance #technews #HackerNews #ngated

  6. NSD 4.13.0 is now available. The most prominent new feature of our authoritative #DNS server is support for AF_XDP sockets.

    With zero-copy disabled, we see a 1.7x improvement in handled queries per second compared to UDP through the network stack. We expect the improvement to be higher with a driver that fully supports AF_XDP zero-copy mode.

    Release notes:
    github.com/NLnetLabs/nsd/relea

    Blog post:
    blog.nlnetlabs.nl/experimental

    #XDP #EBPF

  7. A kind reminder to please provide your feedback on the implementation we did for NSD, our authoritative server.

    With zero-copy disabled, weI saw a 1.7x improvement in handled queries per second compared to UDP through the network stack. We expect the improvement to be higher with a driver that fully supports AF_XDP zero-copy mode.

    We're curious to hear about your experiences!
    blog.nlnetlabs.nl/experimental

  8. Encouraged by the rest of the team, @themozzie had quite the rollercoaster ride building support for our authoritative nameserver NSD. You can read about his experiences in this article and then try it our for yourself. 🎢 blog.nlnetlabs.nl/experimental

  9. #DNS

    With #XDP, .cz was able to decrease the number of servers (and/or to handle more traffic, specially for hosting .ua, which has to withstand dDoS).

    Electric consumption went down by 60%.

  10. Anyone on the fediverse have experience with eBPF, XDP or AF_XDP and want to help @unredacted build something cool?

    Feel free to reach out! You don’t even need to help build it, just looking for general advice.

    #eBPF #XDP #Networking #Linux

  11. We need your help! We're making good progress with support for our software. However, to properly test it we need access to two metal boxes with 10Gb/s NICs that have XDP driver support, e.g. docs.ebpf.io/linux/program-typ Please contact us if you can help out. 💚

  12. Our colleagues from updated their benchmark results at knot-dns.cz/benchmark/ Pretty impressve 🤩 Normal Knot is fast, but takes it to the whole new level 🏎️

  13. Новогодний сон сетевика, или Вспоминаем nexthop в комикаках

    В конце ноября команда Yandex Infrastructure провела nexthop — конференцию от сетевых инженеров для всех, кто интересуется сетевыми технологиями. Мы посмотрели больше 20 выступлений и собрали в одном месте 500+ специалистов, которые знают всё про сетевую автоматизацию, идеальную инфраструктуру, а также могут легко объяснить бабушке, что такое маршрутизатор . На конференции был и наш друг, автор комиксов Комикаки, Кирилл Анастасин aka @innubis . Чтобы составить топ самых интересных докладов, которые можно пересмотреть после каникул, мы попросили Кирилла (и его героев) поделиться свежим взглядом на выступления про сетевые дела.

    habr.com/ru/companies/yandex_c

    #nexthop #комикаки #dragonfly #bgp #sdwan #xdp #dns

  14. [Перевод] Создание XDP eBPF программы с использованием C и Golang: пошаговое руководство

    В сегодняшнем мире, где всё тесно связано и ориентировано на данные, производительность сети имеет решающее значение для обеспечения эффективного взаимодействия и оптимального пользовательского опыта. XDP и eBPF — это мощные технологияи, которые помогают обрабатывать пакеты с высокой скоростью и оптимизировать работу сети. В этом пошаговом руководстве мы рассмотрим процесс создания XDP eBPF программы с использованием языков C и Golang.

    habr.com/ru/companies/otus/art

    #C #Golang #linux #XDP #eBPF #хаосинжиниринг

  15. Что делать, чтобы правильные вёдра правильно протекали: иерархический Token Bucket для XDP-программ в eBPF

    Всем привет! Это Сергей Качеев, старший разработчик в отделе сетевой инфраструктуры Yandex Infrastructure. Наша команда создаёт технологии, на которых работают сервисы Яндекса. В прошлый раз я рассказал целый сетевой детектив о том, как мы искали баг, который убивал DNS‑сервер Unbound . И сегодня я расскажу не менее интересную историю. Мне на развитие попала XDP eBPF‑программа, которая защищает DNS‑серверы от выхода из строя под слишком большой нагрузкой (другими словами, от DDoS). На ядре 5.4 алгоритм защиты был основан на EWMA ‑статистике с вероятностными дропами, которые постоянно контролировались из Control Plane. Это делало eBPF‑программу неавтономной. К тому же если Control Plane падал, то сервер оставался в состоянии последнего удачного обновления eBPF. Это нужно было исправлять — было решено заменить это всё на Token Bucket. Этот момент и будем считать отправной точкой в нашей истории.

    habr.com/ru/companies/yandex/a

    #xdp #ebpf #token_bucket #htb #алгоритмы #сетевое_программирование #linux_kernel

  16. ebpf_exporter v2.2.0 is out 🎉

    Highlights include: capability dropping (none can be retained at runtime!), systemd socket activation, percpu maps, syscall decoder, xdp attachment, new benchmarks, new examples (udp drops + kfree_skb), better logging.

    Get it now! It's free! Precompiled static binaries are available and you can run examples from the repo.

    It's as simple as "sudo ./ebpf_exporter --config.dir=examples --config.names=timers"

    github.com/cloudflare/ebpf_exp #ebpf #linux #kernel #xdp

  17. 🎙 In the latest episode of APNIC's podcast PING, @willem and Luuk discuss applying Express Data Path () to the protocol. In this episode they cover cardinality and keys. blog.apnic.net/2022/12/22/podc