Використовуйте BGP для захисту від DDoS-атаки, що походить від віддаленого AS


16

У мене є питання щодо BGP і як досягти цієї конфігурації.

Моє корпоративне маршрутизатор підключено до провайдера (однодомний). Цей маршрутизатор вже обмінявся конкретними публічними префіксами ip на ISP в оновленнях BGP. Тепер давайте каже, що є декілька стрибків, які затоплюють мій локальний AS атакою DDoS. У цій АС є кілька мереж, націлених на веб-сервери в моєму локальному АС.

Як ми можемо зупинити цей трафік на нашому маршрутизаторі за допомогою BGP?

Вдячний за вашу відповідь !! :)


2
Як ви встановили джерело цього трафіку? Якщо ви дивилися лише вихідні IP-адреси, вони можуть бути підробленими. Як ви побачите, якщо трапляється відбиваюча атака, затоплення пакетів усіх підробних адрес джерел у межах одного AS.
kasperd

Чи допомогла вам якась відповідь? якщо так, то слід прийняти відповідь, щоб питання не з’являлося вічно, шукаючи відповідь. Крім того, ви можете надати та прийняти власну відповідь.
Рон Моупін

Відповіді:


14

З BGP можна зробити дві речі:

RTBH - Дистанційно спрацьована чорна діра

Перший варіант є радикальним: Blackhole (зупинити трафік) для IP-атаки. Нижня сторона: IP-адреса, на яку спрямовано, вже недоступна. Вигода: решта вашої мережі залишається в режимі очікування. Packetlife має приємне пояснення того, як це працює і як це зробити. Другий варіант ґрунтується на першому:

RTBH на основі джерел

RTBH також може використовуватися (у певних конфігураціях) для блокування трафіку, що надходить із конкретних IP-адрес (у справжньому DDoS, який би не дуже допомагав, оскільки трафік надходитиме з тисяч ІС). Знову ж таки, Packetlife має пояснення.

У вашому випадку ви можете отримати всі префікси для AS з бази даних маршрутизації, такі як RADB, і заблокувати їх за допомогою RTBH на основі джерела. Хоча трафік все одно потрапить у вашу мережу на кордоні.

Якщо ви використовуєте "просту" RTBH, перевага полягає в тому, що ви можете відправляти ці маршрути RTBH до свого поточного провайдера (якщо вони підтримують його), який може потім заблокувати трафік у їхній мережі, тому вам не доведеться це обробляти.


Метод, описаний Packetlife, є корисним, але він не буде корисним у сценарії, коли ваші посилання насичені трафіком атаки. Я написав відповідь про використання спільнот чорнових вершин за течією цієї проблеми.
Елліот Б.

2
Це в моєму останньому реченні: "Коли ви використовуєте" просту "RTBH, перевага полягає в тому, що ви можете відправити ці маршрути RTBH до свого поточного провайдера (якщо вони підтримують його), який може потім заблокувати трафік у їхній мережі, щоб у вас не було впоратися з цим ».
Себастьян Візінгер

Я це бачив, але хотів детально описати метод, який викликає клієнт, і зауважив, що "[не треба] впоратись із ним" означає, що чорномор не буде ефективним в іншому випадку. Не призначений для того, щоб постукатись у вашій відповіді, просто надавши більше інформації :)
Елліот Б.

7

Метод RTBH, описаний @Sebastian через Packetlife, є корисним, але цей метод працюватиме лише у тому випадку, якщо ваша висхідна лінія не насичена трафіком атаки. Якщо ваша висхідна лінія насичена, то чорновий отвір повинен бути реалізований в момент, перш ніж трафік атаки досягне вашої мережі.

Ви можете досягти цього за допомогою вершин чорногорних спільнот.

Hurricane Electric пропонує просте пояснення / приклад сприйняття споживачами чорнолігів із спільнотою BGP:

  1. Атака починається
  2. Клієнт ідентифікує діапазон ip або ip під атакою
  3. Клієнт статики направляє діапазон ip або ip до Null0 і додає оголошення про відповідний префікс із картою маршруту, що позначає його 6939: 666.

Приклад конфігурації Cisco (де XXXX атакується ip):

conf t
ip route X.X.X.X 255.255.255.255 Null0
router bgp YourAS
network X.X.X.X mask 255.255.255.255 route-map blackhole
route-map blackhole permit 10
set community 6939:666
end

Зауважимо, що 6939:666це спільнота чорних діл, характерна для Hurricane Electric. Ви можете змінити це значення, щоб відповідати спільноті blackhole вашого постачальника.

Звичайно, існує кілька способів налаштувати це. У своїй передачі Brocade я використовую таку конфігурацію:

router bgp
!
redistribute static route-map blackhole
!
!
route-map blackhole permit  5
 match tag  66
 set community  55555:666

Де 55555:666знаходиться спільнота blackhole вашого постачальника. Потім чорнову верхівку можна застосувати за допомогою простої команди:

ip route 123.123.123.123 255.255.255.255 null0 tag 66

4

З точки зору BGP, ви можете зробити не так багато. Ви можете припинити рекламувати свій префікс, але тоді ви просто завершите DoS-атаку, оскільки ніхто не зможе отримати доступ до вашої послуги.

Якщо у вас є кілька префіксів, ви можете перенумерувати, але ймовірно, що атака також перейде до нового префікса.

Що вам потрібно зробити - це працювати зі своїм верхнім потоком. Чи є у них служба очищення? Якщо у них є така система, як Arbor Peakflow, вони можуть очистити трафік та очистити його до того, як він увійде у вашу мережу. Такі послуги часто дуже дорогі.

Існують також інші варіанти, такі як Cloudflare та подібні компанії, де ви налаштовуєте BGP через тунель GRE до цієї компанії, і ваш трафік обробляється їх "хмарою", яка може обробляти набагато більше трафіку, ніж ваші локальні пристрої.


0

Я працюю в CloudFlare, я хотів би поділитися деякими знаннями, які я розробив щодо пом’якшення DDOS-атак протягом останніх кількох місяців, де я був тут.

По-перше; багато людей вдаються до заходів мережевого рівня для пом'якшення DDOS-атаки рівня додатків. Перш ніж зануритися у BGP Blackholing, подумайте, чи може щось мати обмеження швидкості чи захист шару програми. Це сказав; тепер дуже дешево запускати DDOS-атаки дуже великої ємності (враховуючи, скільки навколо них відкритих рекурсорів DNS і як вони можуть посилювати атаки).

Як описав Елліот у своїй відповіді, використання BGP Communities для оброблення трафіку може добре працювати, якщо ваша мережа мала; цей механізм задокументований у RFC 3882 . Однак, як і ми, якщо ви замість цього хочете поглинати трафік атаки замість чорного отвору (тобто ви хочете збирати дані про атаку DDOS ), то остерігайтеся побічних збитків, завдяки яким провайдери посередницької мережі в кінцевому підсумку перевантажуються. Ви можете пом'якшити пошкоджений збиток, поглянувши безпосередньо на провайдерів мереж, які запускають атаки. Таким чином у вас є найкоротший шлях від нападника до місця призначення. Крім того, ви можете реалізувати дизайн мережі Anycast , це фактично означатиме, що одна IP-адреса потрапляє до декількох центрів обробки даних (залежно від того, який із них є найближчим).

Очевидно, що для кожної компанії неможливо мати інфраструктуру для здійснення Anycast та пірінгу; тому бізнес все частіше звертається до хмарних сервісів, щоб усунути поганий трафік, перш ніж він досягне їх центрів обробки даних. Природно, CloudFlare - одна з таких послуг.


-1

Якщо всі зібрані вами докази - це затоплення пакетів із вихідними IP-адресами від одного конкретного AS, ви, ймовірно, перейшли до неправильного висновку. Більш імовірним поясненням може бути те, що ці вихідні IP-адреси підроблені.

Атака відбиття / посилення включає в себе відправлення безлічі пакетів, що підробляють вихідну IP-адресу жертви. Якщо це насправді те, що відбувається, і у вас у вашій мережі є сервери, які можуть посилити атаку, то мережа, в якій ви звинувачуєте в нападі, насправді є жертвою, і ви допомагаєте зловмиснику.

У такій ситуації рішення полягає не в застосуванні будь-якої інженерії трафіку, а в тому, щоб налаштувати ваші сервери таким чином, щоб їх не можна було використовувати в атаці посилення. Як це зробити, насправді не питання мережевої інженерії.

Звичайно, можливо, що всі пакети походять від одного AS. Співпрацюючи з AS, що порушує правопорушення, ви можете отримати підтвердження того, що пакети насправді походять від їх AS. Однак при такому рівні співробітництва ви також можете заблокувати напад у джерелі.

Якщо ми припускаємо, що ви використовуєте якийсь метод, я не замислювався над тим, щоб отримати підтвердження, що пакети дійсно походять від AS, який ви думаєте, і що ви не можете його заблокувати у джерелі, а натомість хочете заблокувати його за допомогою BGP, то я прочитали про дещо ризикований метод цього досягти. Ідея полягає в тому, що ви додаєте шлях AS до маршруту, який ви оголошуєте. У цьому заздалегідь передбаченому шляху AS ви включаєте номер AS джерела цих пакетів.

Коли повідомлення надійде до маршрутизаторів BGP в AS, які порушують, вони збираються виявити цикл і відкинути повідомлення. Тим часом решта світу не побачить цикл і прийме це оголошення.

Ось така теорія. Чи справді це буде працювати на практиці, залежить від кількох різних факторів. Наприклад, це залежить від фактичного використання номера AS, з якого беруться пакети, що може відрізнятися від числа AS, який оголошує ці IP адреси. (Така різниця може бути законною або через підробку.)

Це також залежить від того, що ваш фільм не буде фільтрувати маршрут, якщо вони вважають шлях AS підозрілим. Більше того, мережі, які знаходяться далі від вас, можуть також скинути ваш маршрут, наприклад, якщо вони також мали поганий досвід з порушенням AS та вирішили скинути звідти всі маршрути.

Це ваш дзвінок, чи варто такий підхід ризикувати.

(Я б зв'язався з джерелом для цього підходу, якби я міг його знову знайти.)


2
Це дуже небезпечно. Ви підробляєте інший AS на своєму шляху, яким ви не володієте. Крім того, якщо інші люди скинуть маршрути з цієї АС, вони також скинуть ваші маршрути.
Себастьян Візінгер

1
@Sebastian Правда, такий ризик також існує. Але якщо альтернативою є мережа, недоступна через затоплення трафіком, можливо, варто ризикувати.
kasperd

Це звучить як дуже погана ідея, я ніколи раніше про неї не чув. Він порушує зв'язок для цілого ASN, коли є один ботнет-вузол, який не є тим, що потрібно, наприклад, для великих хмарних провайдерів. Крім того, це погано масштабується з DDoS'es, де тисячі ботнет-вузлів атакують щось у вашій мережі.
Teun Vink

1
@TeunVink Це, безумовно, не застосовується до типової DDoS-атаки. Але ОП не запитує про типову DDoS-атаку. Він запитує про атаку, де весь трафік походить від однієї АС. Порушення підключення до однієї АС було б прийнятним, якби альтернативою була атака, яка порушувала зв'язок на весь Інтернет.
kasperd

-2

Ви можете обробляти їх AS з локальної мережі, тому ваш маршрутизатор BGP створює нульові маршрути для будь-якого префіксу, який вони оголошують.

Про:

  • ваш AS виявиться мертвим для них, що є їхньою метою, тоді як ви все одно нормально обмінюєтесь даними.
  • Ваша локальна фільтрація входу автоматично скидає вхідні пакети з цієї АС

Контраст:

  • вони можуть створювати маршрутизатори на маршрутизаторі, тому не забудьте встановити відповідні правила для збереження ваших найважливіших маршрутів.

1
Блекхолінг цілого AS означає, що ви закінчите DOSing. Ніхто інший у цій AS не може до вас дійти. Ваші клієнти також можуть бути в цьому АС.
Рон Трунк

1
Я припускаю, що тут вороже AS, тобто відмітка цінності втрачається, якщо ви повністю блокуєте їх. У цю категорію я б подав кілька служб "куленепробивного хостингу".
Саймон Ріхтер

1
Більшість ASN не є абсолютно ворожими чи доброзичливими, просто містять деякі хости, які є частиною ботнету. Крім того, такий підхід не запобігає затопленню ваших потокових посилань, тому він не допоможе вам зупинити DDoS-атаки, засновані на томах.
Teun Vink
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.