Как стать автором
Обновить
7
0
Глеб Хохлов @gleb4inka

antiDDoS expert, PdM в MITIGATOR

Сети для самых маленьких. Часть одиннадцатая. MPLS L3VPN

Время на прочтение 42 мин
Количество просмотров 268K
В прошлый раз мы не оставили камня на камне при разборе MPLS. И это, пожалуй, хорошо.

Но до сих пор только призрачно прорисовывается применение его в реальной жизни. И это плохо.

Этой статьёй начнём исправлять ситуацию. Вообще же читателя ждёт череда из трёх статей: L3VPN, L2VPN, Traffic Engineering, где мы постараемся в полной мере рассказать, для чего нужен MPLS на практике.

Итак, linkmeup — уже больше не аутсорсинг по поддержке хоть и крупной, но единственной компании, мы — провайдер. Можно даже сказать федеральный провайдер, потому что наша оптика ведёт во все концы страны. И наши многочисленные клиенты хотят уже не только высокоскоростной доступ в Интернет, они хотят VPN.
Сегодня разберёмся, что придётся сделать на нашей сети (на которой уже меж тем настроен MPLS), чтобы удовлетворить эти необузданные аппетиты.

SDSM11-L3VPN
Читать дальше →
Всего голосов 33: ↑31 и ↓2 +29
Комментарии 8

Всё, о чём должен знать разработчик Телеграм-ботов

Время на прочтение 15 мин
Количество просмотров 577K

Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

Как вообще устроены боты? Как они взаимодействуют с пользователями? Что с их помощью можно реализовать, а что нельзя?

Подробный гайд о том, как работать с ботами — под катом.

Читать далее
Всего голосов 127: ↑127 и ↓0 +127
Комментарии 73

Это не больно: как мы сделали свою платформу киберучений и научились контейнеризировать всё подряд

Время на прочтение 14 мин
Количество просмотров 3.3K

Два года мы с командой строили платформу киберучений. Мы начали с пары виртуалок c 2 Гб RAM на борту в EVE-NG (причем это была вложенная в VMWare ESXi виртуализация) и домасштабировали до самостоятельной инфраструктуры с контейнеризованными сервисами для обучения по ИБ и возможностью подключения практически неограниченного количества обучающихся. Это статья о нестандартных решениях, самой платформе и участии в мероприятии CyberCamp, для которого предоставили виртуальную инфраструктуру.

Переходи под кат, если интересно, как пробросить большое количество пользователей в виртуальную среду с помощью одного браузера, не давая им прямой RDP\VNC\ssh доступ, да еще и бесплатно. Также поделюсь нашими наработками и планами по развитию платформы Jet CyberCamp.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 0

DDoS-атаки «для самых маленьких»

Время на прочтение 21 мин
Количество просмотров 50K

Привет читающим этот длиннопост. Давно ничего не писал на Хабре, но 2022 год выдался достаточно непростым в плане DDoS-атак. По роду деятельности, я столкнулся с большим количеством вопросов о том, что такое DDoS-атаки, нужно ли с ними бороться (WTF??? конечно, не нужно, пусть все лежит нужно). Зрелым матерым спецам здесь вряд ли будет интересно.

Пользуясь случаем, хочу поблагодарить Qrator Labs за большой вклад в оригинальный текст. Без них он бы не родился :)

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

Читать далее
Всего голосов 21: ↑19 и ↓2 +17
Комментарии 11

Введение в VxLAN

Время на прочтение 44 мин
Количество просмотров 197K


Сегодня мы поговорим об очередной интересной технологии — VxLAN — что это за зверь и с чем его едят, да и вообще нужен ли он вам. Мое знакомство с данной технологией началось с изучения гипервизоров — я постоянно натыкался на термин VxLAN, но что это и как работает не знал. В один прекрасный день я решил все-таки прочитать, что это за зверь. Прочитав пару-тройку статей, я усвоил для себя основные аспекты работы технологии и облегченно выдохнул, прочитав, что данная технология — удел гипервизоров и к транспорту имеет косвенное отношение (хотя, как оказалось позже отношение VxLAN к транспорту имеет самое, что ни на есть прямое). После чего про технологию благополучно забыл и вернулся я к ней снова только через год, когда начал погружаться в EVPN — большинство статей и мануалов были именно о симбиозе EVPN и VxLAN. Литературы по данной технологии много, особенно если вы владеете английским. Я же попробую в данной статье рассказать об основах работы данной технологии и показать на практике — как это настраивается и работает. Но начнем с MPLS…
Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Комментарии 7

Памятка и туториал по HTTP-заголовкам, связанным с безопасностью веб-приложений

Время на прочтение 27 мин
Количество просмотров 28K


Доброго времени суток, друзья!


В этой статье я хочу поделиться с вами результатами небольшого исследования, посвященного HTTP-заголовкам, которые связаны с безопасностью веб-приложений (далее — просто заголовки).


Сначала мы с вами кратко разберем основные виды уязвимостей веб-приложений, а также основные виды атак, основанные на этих уязвимостях. Далее мы рассмотрим все современные заголовки, каждый — по отдельности. Это в теоретической части статьи.


В практической части мы реализуем простое Express-приложение, развернем его на Heroku и оценим безопасность с помощью WebPageTest и Security Headers. Также, учитывая большую популярность сервисов для генерации статических сайтов, мы настроим и развернем приложение с аналогичным функционалом на Netlify.


Исходный код приложений находится здесь.


Демо Heroku-приложения можно посмотреть здесь, а Netlify-приложения — здесь.


Основными источниками истины при подготовке настоящей статьи для меня послужили следующие ресурсы:


Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 1

Обзор счётчиков Морриса

Время на прочтение 7 мин
Количество просмотров 5K

При реализации потоковых алгоритмов часто возникает задача подсчёта каких-то событий: приход пакета, установка соединения; при этом доступная память может стать узким местом: обычный n-битный счётчик позволяет учесть не более 2^n - 1событий.
Одним из способов обработки большего диапазона значений, используя то же количество памяти, является вероятностный подсчёт. В этой статье будет предложен обзор известного алгоритма Морриса, а также некоторых его обобщений.

Другой способ уменьшить количество бит, необходимое для хранения значения счётчика, — использование распада. Об этом подходе мы рассказываем здесь, а также собираемся в ближайшее время опубликовать ещё одну заметку по теме.

Мы начнём с разбора простейшего алгоритма вероятностного подсчёта, выделим его недостатки (раздел 2). Затем (раздел 3) опишем алгоритм, впервые преложенный Робертом Моррисом в 1978 году, укажем его важнейшие свойства и приемущества. Для большинства нетривиальных формул и утверждений в тексте присутствуют наши доказательства — интересующийся читатель сможет найти их во вкладышах. В трёх последующих разделах мы изложим полезные расширения классического алгоритма: вы узнаете, что общего у счётчиков Морриса и экспоненциального распада, как можно уменьшить ошибку, пожертвовав максимальным значением, и как эффективно обрабатывать взвешенные события.

Читать далее
Всего голосов 39: ↑39 и ↓0 +39
Комментарии 12

DDoS атаки на 7 уровень — защита сайтов

Время на прочтение 6 мин
Количество просмотров 10K
DDoS атаки на 7 уровень (на уровень приложения) наиболее простой способ привести в нерабочее состояние сайт и навредить бизнесу. В отличие от атак на другие уровни, когда для отказа сайта необходимо организовать мощный поток сетевого трафика, атаки на 7 уровень могут проходить без превышения обычного уровня сетевого трафика. Как это происходит, и как от этого можно защищаться я рассмотрю в этом сообщении.
Читать дальше →
Всего голосов 11: ↑9 и ↓2 +7
Комментарии 1

Экзамены TOEFL/IELTS как ориентир для развития. Фундаментальные апгрейды языка и их польза для разработчика

Время на прочтение 13 мин
Количество просмотров 18K


Экзамены английского языка вызывают у большинства разработчиков негативную реакцию. В сети или в курилке часто можно услышать утверждения о том, что TOEFL/IELTS проверяют не уровень владения языком, а умение соответствовать шаблонам. Разработчики цепляются за свой B1 или даже B2/C1, который им дали на внутреннем ассессменте в компании или при прохождении 10-минутного онлайн-теста. Далее, у нас есть 2 пути. Вы можете принять ваш уровень и не развиваться, думая что вам «не нужно», «не моё» и так далее. Можете найти 100 причин отрицать международные общепринятые тесты и даже обойти их при миграции. А можете согласиться с тем, что ваш уровень не достаточно хорош при объективной оценке по критериям, и подумать над развитием и пользе для карьеры разработчика. Статья будет именно про второй путь, а конкретно:

  1. Развитие скорости чтения и использование правого полушария мозга вместо левого
  2. Накрутка навыка письма через независимые эссе внутри Grammarly
  3. Турбонакрутка разговорной речи через комментирование своих действий в играх (RPG/RTS)
  4. Ускорение с помощью слепой печати
  5. Контроль промежуточных результатов через TOEFL GO
Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 50

Автоматизация Для Самых Маленьких. Часть 1.1. Основы виртуализации

Время на прочтение 15 мин
Количество просмотров 41K
Предыдущая статья рассматривала архитектуру виртуализированной сети, underlay-overlay, путь пакета между VM и прочее.
Роман Горге вдохновился ею и решил написать обзорный выпуск о виртуализации вообще.

В данной статье мы затронем (или попытаемся затронуть) вопросы: а как собственно происходит виртуализация сетевых функций, как реализован backend основных продуктов, обеспечивающих запуск и управление VM, а также как работает виртуальный свитчинг (OVS и Linux bridge).

Тема виртуализации широка и глубока, объяснить все детали работы гипервизора невозможно (да и не нужно). Мы ограничимся минимальным набором знаний необходимым для понимания работы любого виртуализированного решения, не обязательно Telco.



Содержание


  • Введение и краткая история виртуализации
  • Типы виртуальных ресурсов — compute, storage, network
  • Виртуальная коммутация
  • Инструменты виртуализации — libvirt, virsh и прочее
  • Заключение




Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Комментарии 8

BPF для самых маленьких, часть вторая: разнообразие типов программ BPF

Время на прочтение 26 мин
Количество просмотров 12K

Продолжаем серию статей про BPF — универсальную виртуальную машину ядра Linux — и в этом выпуске расскажем о том, какие типы программ BPF существуют, и как они используются в реальном мире капиталистического чистогана. Кроме этого, в конце статьи приведено некоторое количество ссылок, в частности, на две с половиной существующие книжки про BPF.


В ядре Linux версии 5.9 определено больше тридцати разных типов программ BPF, и про некоторые из этих типов я собираюсь написать по несколько статей, так что эта статья, поневоле, обзорная и не содержит такого количества технических деталей, как предыдущие. Но, тем не менее, мы постараемся, наконец-то, ответить на вопрос, зачем все это нужно и почему вокруг BPF так много шума.


Если вы хотите узнать, как именно BPF помогает эффективно решать задачи защиты от DDoS атак, распределения нагрузки на серверы, реализации сетевого стека kubernetes, защиты систем от нападения, эффективной трассировки систем 24x7 прямо в проде и многие другие, то добро пожаловать под кат.


image

Читать дальше →
Всего голосов 31: ↑31 и ↓0 +31
Комментарии 8

BPF для самых маленьких, часть первая: extended BPF

Время на прочтение 51 мин
Количество просмотров 26K

В начале была технология и называлась она BPF. Мы посмотрели на нее в предыдущей, ветхозаветной, статье этого цикла. В 2013 году усилиями Алексея Старовойтова (Alexei Starovoitov) и Даниэля Боркмана (Daniel Borkman) была разработана и включена в ядро Linux ее усовершенствованная версия, оптимизированная под современные 64-битные машины. Эта новая технология недолгое время носила название Internal BPF, затем была переименована в Extended BPF, а теперь, по прошествии нескольких лет, все ее называют просто BPF.


Грубо говоря, BPF позволяет запускать произвольный код, предоставляемый пользователем, в пространстве ядра Linux и новая архитектура оказалась настолько удачной, что нам потребуется еще с десяток статей, чтобы описать все ее применения. (Единственное с чем не справились разработчики, как вы можете видеть на кпдв ниже, это с созданием приличного логотипа.)


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

Читать дальше →
Всего голосов 32: ↑32 и ↓0 +32
Комментарии 5

Juniper Hardware Architecture

Время на прочтение 20 мин
Количество просмотров 71K


Современные маршрутизаторы обрабатывают по несколько миллионов пакетов в секунду, работают с несколькими FV таблицами маршрутизации, позволяют реализовать огромное количество сервисов. Различные вендоры используют разный подход к построению оборудования. В данной статье не будет огромного количества выводов. Сегодня поговорим об архитектуре оборудования Juniper.
Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Комментарии 14

BPF для самых маленьких, часть нулевая: classic BPF

Время на прочтение 22 мин
Количество просмотров 50K

Berkeley Packet Filters (BPF) — это технология ядра Linux, которая не сходит с первых полос англоязычных технических изданий вот уже несколько лет подряд. Конференции забиты докладами про использование и разработку BPF. David Miller, мантейнер сетевой подсистемы Linux, называет свой доклад на Linux Plumbers 2018 «This talk is not about XDP» (XDP – это один из вариантов использования BPF). Brendan Gregg читает доклады под названием Linux BPF Superpowers. Toke Høiland-Jørgensen смеется, что ядро это теперь microkernel. Thomas Graf рекламирует идею о том, что BPF — это javascript для ядра.


На Хабре до сих пор нет систематического описания BPF, и поэтому я в серии статей постараюсь рассказать про историю технологии, описать архитектуру и средства разработки, очертить области применения и практики использования BPF. В этой, нулевой, статье цикла рассказывается история и архитектура классического BPF, а также раскрываются тайны принципов работы tcpdump, seccomp, strace, и многое другое.


Разработка BPF контролируется сетевым сообществом Linux, основные существующие применения BPF связаны с сетями и поэтому, с позволения @eucariot, я назвал серию "BPF для самых маленьких", в честь великой серии "Сети для самых маленьких".

Читать дальше →
Всего голосов 62: ↑62 и ↓0 +62
Комментарии 5

Для тех, кто познаёт ушами: подкасты для разработчиков

Время на прочтение 6 мин
Количество просмотров 52K


Кто сказал, что разработчики могут учиться новому только через книги, видео и анализ чужого кода? Ведь у нас и другие каналы получения информации из окружающего мира. Конечно, речь не о том, чтобы попробовать знания на вкус, пощупать их или понюхать. А вот послушать — самое оно. Мы собрали для вас коллекцию действующих русскоязычных подкастов для разработчиков. Хороший способ дать глазам отдых или занять себя в пробках.
Читать дальше →
Всего голосов 83: ↑80 и ↓3 +77
Комментарии 57

Музыка для ваших проектов: 12 тематических ресурсов с треками по лицензии Creative Commons

Время на прочтение 7 мин
Количество просмотров 117K
Подборка пригодится разработчикам, дизайнерам, видеорежиссерам и контент-мейкерам, которые ищут музыку для своих проектов — приложений, игр или видеороликов.

Представленные ниже площадки предлагают скачать полноценные композиции. О ресурсах, на которых можно найти отдельные звуки и семплы, мы расскажем в следующий раз.

Всего голосов 57: ↑56 и ↓1 +55
Комментарии 9

Пишем защиту от DDoS-атак на XDP. Ядерная часть

Время на прочтение 16 мин
Количество просмотров 15K

Технология eXpress Data Path (XDP) позволяет выполнить произвольную обработку трафика на интерфейсах Linux до того, как пакеты поступят в сетевой стек ядра. Применение XDP — защита от DDoS-атак (CloudFlare), сложные фильтры, сбор статистики (Netflix). Программы XDP исполняются виртуальной машиной eBPF, поэтому имеют ограничения как на свой код, так и на доступные функции ядра в зависимости от типа фильтра.


Статья призвана восполнить недостатки многочисленных материалов по XDP. Во-первых, в них дается готовый код, который сразу обходит особенности XDP: подготовлен для верификации или слишком прост, чтобы вызвать проблемы. При попытке потом написать свой код с нуля нет понимания, что делать с характерными ошибками. Во-вторых, не освещаются способы локально тестировать XDP без ВМ и «железа», при том, что у них свои «подводные камни». Текст рассчитан на программистов, знакомых с сетями и Linux, которым интересен XDP и eBPF.

Читать дальше →
Всего голосов 24: ↑24 и ↓0 +24
Комментарии 8

Риски Open Banking

Время на прочтение 8 мин
Количество просмотров 5.2K
image

Волны цифрового шторма накрывают всё больше секторов экономики, формируя новую реальность. Финансовая отрасль не стала исключением: страны одна за другой разрабатывают и внедряют революционный подход к работе кредитных учреждений — концепцию открытого банкинга или Open Banking.

Open Banking — это унифицированный программный интерфейс к информационным системам банков. Его могут использовать разработчики финансовых приложений — финтех-компании, чтобы предоставлять клиентам финансовые сервисы нового поколения.

Взаимодействие с банками через открытый интерфейс — это не только возможности, но и риски. В этом посте рассмотрим риски и угрозы, возникающие с внедрением Open Banking, и обсудим возможные варианты защиты от них.
Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 3

Польза строгой типизации в C++: практический опыт

Время на прочтение 7 мин
Количество просмотров 19K
Наша программа обрабатывает сетевые пакеты, в частности, заголовки TCP/IP/etc. В них числовые значения — смещения, счетчики, адреса — представлены в сетевом порядке байтов (big-endian); мы же работаем на x86 (little-endian). В стандартных структурах, описывающих заголовки, эти поля представлены простыми целочисленными типами (uint32_t, uint16_t). После нескольких багов из-за того, что порядок байтов забыли преобразовать, мы решили заменить типы полей на классы, запрещающие неявные преобразования и нетипичные операции. Под катом — утилитарный код и конкретные примеры ошибок, которые выявила строгая типизация.
Читать дальше →
Всего голосов 90: ↑89 и ↓1 +88
Комментарии 77

Глубины SIEM: экспертиза. Чьи правила корреляции лучше

Время на прочтение 8 мин
Количество просмотров 4.6K
Многие из тех, кто сталкивался с SIEM, знакомы с разработкой правил корреляции. Производители SIEM-решений, коммерческие SOC, интеграторы — все предлагают свои правила и утверждают, что они лучше других. Так ли это на самом деле? Как выбрать поставщика правил? Что такое экспертиза в SIEM? Поразмышляем на эти темы под катом.

Чьи правила корреляции лучше

Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0
1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность