Що таке BGP FlowSpec і чому він змінює захист мереж ISP?
Що таке BGP FlowSpec і чому він змінює захист мереж ISP?
BGP FlowSpec — це розширення протоколу BGP, яке дозволяє розповсюджувати точні правила фільтрації мережевого трафіку (на основі адреси, протоколу, порту, прапорців TCP та інших характеристик пакета) безпосередньо на крайові маршрутизатори, тією самою інфраструктурою, що вже переносить маршрути, без ручного входу на кожен пристрій і внесення окремих списків ACL. Для оператора ISP це означає можливість зупинити DDoS-атаку поблизу межі мережі, точно й без ручного втручання в обладнання.
Це один із фундаментальних механізмів, на яких ґрунтується сучасний захист від DDoS у мережах операторів, і водночас термін, що з'являється майже в кожній розмові про вибір системи захисту від DDoS для ISP. Тому варто розуміти його докладно, перш ніж порівнювати конкретні рішення.
Як саме працює BGP FlowSpec
Стандартний BGP переносить інформацію про те, як дістатися до певної мережі (маршрути). FlowSpec розширює ту саму сесію BGP можливістю переносити правила фільтрації трафіку, тобто інформацію про те, який трафік слід відкинути, обмежити або перенаправити, визначену на основі конкретних характеристик пакета: адреси джерела та призначення, протоколу, порту, прапорців TCP, розміру пакета чи типу ICMP.
Маршрутизатор, який отримує таке правило через сесію BGP, встановлює його безпосередньо у своєму апаратному forwarding path (якщо він це підтримує — це окрема тема, описана в статті про сумісність маршрутизаторів із FlowSpec) і починає відкидати лише пакети, що відповідають визначеній сигнатурі. Увесь решта трафік, зокрема й спрямований на ту саму IP-адресу, проходить без перешкод.
Це принципова відмінність від традиційного підходу, за якого оператор мав би вручну входити на кожен крайовий маршрутизатор і вносити список ACL окремо, пристрій за пристроєм. Такий процес надто повільний, щоб встигнути за атакою, що триває кілька хвилин, а за більшої кількості маршрутизаторів практично неможливий у реальному часі.
Чим FlowSpec відрізняється від звичайної маршрутизації BGP
Звичайний BGP відповідає на питання «як дістатися до цієї мережі». FlowSpec відповідає на питання «що робити з трафіком, який має ці конкретні характеристики». Обидва типи інформації подорожують тією самою інфраструктурою BGP — тими самими сесіями до тих самих сусідів, — але FlowSpec несе зовсім інший вид команди: не «куди спрямувати пакет», а «чи взагалі його пропускати і за якої умови».
Завдяки цьому FlowSpec можна впровадити без побудови окремої, виділеної інфраструктури для розповсюдження правил фільтрації — достатньо, щоб крайові маршрутизатори підтримували це розширення протоколу та мали налаштовану сесію BGP із системою, що генерує правила.
Чому FlowSpec кращий за блекхолінг (RTBH), коли його можна застосувати
FlowSpec і RTBH (Remotely Triggered Black Hole) — це два різні механізми реагування на атаку, які часто плутають, хоча вони працюють із зовсім різною точністю. RTBH відсікає весь трафік, спрямований на дану IP-адресу, зокрема й легітимний. FlowSpec відсікає лише пакети, що відповідають конкретній сигнатурі атаки, залишаючи решту трафіку до тієї самої адреси без змін.
Тому добра архітектура захисту від DDoS розглядає FlowSpec як першу лінію оборони, а RTBH — як аварійний механізм, що вмикається лише тоді, коли самої фільтрації FlowSpec стає недостатньо, наприклад, коли атака наближається до насичення каналу. Цю тему ми розвиваємо окремо в статті про мінімізацію побічних ефектів мітигації.
Як LiveShield використовує BGP FlowSpec для захисту мереж ISP
LiveShield має власний демон BGP (на основі GoBGP) і повністю підтримує генерацію та розповсюдження правил FlowSpec без потреби ручного налаштування ACL на боці оператора. Система аналізує трафік у реальному часі, виявляє атаку на основі налаштованих порогів для кожного протоколу, а потім автоматично генерує правило FlowSpec, підібране під конкретний вектор атаки, і анонсує його через сесію BGP на крайовий маршрутизатор. Увесь процес, від виявлення до розгортання першого правила, відбувається без втручання оператора.
На практиці це означає, що оператор налаштовує сесію BGP між LiveShield і своїми маршрутизаторами один раз, а відтоді кожне наступне правило FlowSpec генерується і розповсюджується автоматично на основі поточного аналізу трафіку. Це стосується й ситуацій з кількома крайовими маршрутизаторами одночасно: правило анонсується один раз через BGP усім сусідам, які мають налаштовану відповідну сесію, замість того щоб вимагати окремого налаштування на кожному пристрої.
Одну умову слід мати на увазі незалежно від того, яку систему генерації правил FlowSpec буде використано: сам факт, що маршрутизатор «підтримує BGP FlowSpec» на рівні control plane, не означає, що він застосує правило в апаратному forwarding path. Які саме апаратні платформи реально підтримують FlowSpec на практиці, ми докладно описуємо в окремій статті — це варто перевірити перед вибором системи захисту від DDoS, незалежно від постачальника.
Підсумок
BGP FlowSpec — це механізм розповсюдження точних правил фільтрації трафіку тією самою інфраструктурою BGP, що вже переносить маршрути, без ручного налаштування ACL на кожному пристрої. На відміну від RTBH, який блокує весь трафік до певної адреси, FlowSpec дозволяє відсікти лише трафік, що відповідає сигнатурі атаки, зберігаючи безперервність роботи сервісу для легітимного трафіку. LiveShield генерує та розповсюджує правила FlowSpec повністю автоматично на основі поточного аналізу трафіку завдяки власному демону BGP, інтегрованому з наявною інфраструктурою оператора, без потреби впроваджувати додаткові компоненти чи виконувати ручну роботу під час атаки.
Найчастіші запитання
Що таке BGP FlowSpec простими словами? Це розширення протоколу BGP, яке дозволяє надсилати на маршрутизатори точні правила фільтрації трафіку (наприклад, «відкидай пакети UDP з цього джерела на цей порт») тією самою інфраструктурою, що переносить маршрути, без ручного налаштування ACL на кожному пристрої.
Чим FlowSpec відрізняється від RTBH? FlowSpec фільтрує точно, на основі конкретних характеристик пакета, залишаючи решту трафіку до певної адреси без змін. RTBH блокує весь трафік до IP-адреси, зокрема й легітимний, — це менш точний механізм, який зазвичай застосовують як аварійне забезпечення.
Чи кожен маршрутизатор підтримує BGP FlowSpec? Підтримка FlowSpec на рівні control plane BGP не означає автоматично, що маршрутизатор застосує правило в апаратному forwarding path. Це залежить від конкретної моделі, версії програмного забезпечення та ліцензії. Це варто перевірити перед впровадженням.
Чи потребує впровадження FlowSpec із LiveShield ручного налаштування правил під час атаки? Ні. LiveShield автоматично генерує та розповсюджує правила FlowSpec на основі поточного аналізу трафіку через власний демон BGP, інтегрований із маршрутизаторами оператора. Оператор налаштовує сесію BGP один раз, а наступні правила створюються без ручного втручання.