У меня есть вопрос относительно BGP и как добиться этой конфигурации.
Основной маршрутизатор моего предприятия подключен к провайдеру (однопользовательский). Этот маршрутизатор уже обменял определенные публичные префиксы ip с провайдером в обновлениях BGP. Теперь давайте скажем, что в нескольких шагах есть AS, которая наводняет мою локальную AS атакой DDoS. В этой AS есть несколько сетей, нацеленных на веб-серверы в моей локальной AS.
Как мы можем остановить этот трафик на нашем маршрутизаторе с помощью BGP?
Ценю ваш ответ! :)
Ответы:
Есть две вещи, которые вы можете сделать с BGP:
RTBH - дистанционно срабатывающая черная дыра
Первый вариант - радикальный: Blackhole (остановка трафика) для атакующего IP. Недостаток: целевой IP больше не доступен. Преимущество: остальная часть вашей сети остается в рабочем состоянии. У Packetlife есть хорошее объяснение того, как это работает и как это сделать. Второй вариант основан на первом:
Исходный RTBH
RTBH также может использоваться (в определенных конфигурациях) для блокировки трафика, поступающего с определенных IP-адресов (в реальном DDoS, который не сильно поможет, так как трафик будет поступать с тысяч IP-адресов). Опять же, у Packetlife есть объяснение.
В вашем случае вы можете получить все префиксы для AS из базы данных маршрутизации, такой как RADB, и заблокировать их с помощью RTBH на основе исходного кода. Трафик все равно будет попадать в вашу сеть на границе.
Когда вы используете «простой» RTBH, преимущество заключается в том, что вы можете отправлять эти маршруты RTBH своему восходящему провайдеру (если он его поддерживает), который затем может заблокировать трафик в своей сети, поэтому вам не придется обрабатывать его.
источник
Метод RTBH, описанный @Sebastian через Packetlife , полезен, но этот метод будет работать, только если ваша восходящая линия не насыщена трафиком атаки. Если ваша восходящая линия связи насыщена, то черная дыра должна быть реализована в точке до того, как трафик атаки достигнет вашей сети.
Вы можете сделать это с помощью сообщества черных дыр в верхнем течении.
Hurricane Electric предлагает простое объяснение / пример инициированного покупателем чёрного хохла в сообществе BGP:
Пример конфигурации Cisco (где XXXX - это атакующий ip):
Обратите внимание, что
6939:666
это сообщество черных дыр, характерное для Hurricane Electric. Вы бы изменили это значение в соответствии с черным сообществом вашего вышестоящего поставщика.Есть, конечно, несколько способов настроить это. На моем механизме Brocade я использую следующую конфигурацию:
Где
55555:666
находится сообщество Blackhole вашего вышестоящего поставщика. Затем расположенная вверх по течению черная дыра может быть применена с помощью простой команды:источник
С точки зрения BGP, вы мало что можете сделать. Вы можете перестать рекламировать свой префикс, но тогда вы просто завершаете DoS-атаку, потому что никто не сможет получить доступ к вашему сервису.
Если у вас есть несколько префиксов, вы можете изменить их нумерацию, но, скорее всего, атака переместится и на новый префикс.
То, что вам нужно сделать, это работать с вышестоящим. У них есть уборка? Если у них есть такая система, как Arbor Peakflow, они могут очистить трафик и очистить его, прежде чем он попадет в вашу сеть. Такие услуги часто очень дороги.
Есть также другие варианты, такие как Cloudflare и аналогичные компании, где вы настраиваете BGP через туннель GRE для этой компании, и ваш трафик обрабатывается их «облаком», который может обрабатывать намного больше трафика, чем ваши локальные устройства.
источник
Я работаю в CloudFlare, я хотел бы поделиться некоторыми знаниями, которые я разработал, о смягчении DDOS-атак за последние несколько месяцев, которые я здесь провел.
В первую очередь; Многие люди прибегают к мерам сетевого уровня для смягчения DDOS-атак на уровне приложений. Прежде чем погрузиться в BGP Blackholing, подумайте, может ли это быть связано с ограничением скорости или защитой на уровне приложений. Это сказал; сейчас очень дешево запускать DDOS-атаки очень большой емкости (учитывая, сколько рекурсоров Open DNS существует и как они могут усиливать атаки).
Как Эллиот описал в своем ответе, использование сообществ BGP для черного трафика может хорошо работать, если ваша сеть мала; этот механизм задокументирован в RFC 3882 . Однако, как и мы, если вы вместо этого захотите поглощать трафик атаки, а не черную дыру (т. Е. Вы хотите собирать данные об атаках DDOS ), то остерегайтесь побочного ущерба, в результате которого промежуточные сетевые поставщики оказываются перегруженными. Вы можете уменьшить побочный ущерб, напрямую подключившись к интернет-провайдерам сетей, которые запускают атаки. Таким образом у вас будет кратчайший путь от злоумышленника к месту назначения. Кроме того, вы можете реализовать дизайн сети Anycast , это будет означать, что один IP-адрес попадет в несколько центров обработки данных (в зависимости от того, какой из них ближе всего).
Очевидно, что не каждая компания может иметь инфраструктуру для Anycast и пиринга; Вот почему компании все чаще обращаются к облачным сервисам, чтобы удалить плохой трафик до того, как он достигнет своих центров обработки данных. Естественно, CloudFlare является одним из таких сервисов.
источник
Если все доказательства, которые вы собрали, - это поток пакетов с исходными IP-адресами от одной конкретной AS, вы, скорее всего, сделали неверный вывод. Более вероятным объяснением будет то, что эти исходные IP-адреса являются поддельными.
Атака отражения / усиления включает в себя отправку большого количества пакетов, подделывающих исходный IP-адрес жертвы. Если это действительно то, что происходит, и в вашей сети есть серверы, которые могут усилить атаку, то сеть, которую вы обвиняете в атаке, на самом деле является жертвой, и вы помогаете атакующему.
В такой ситуации решение состоит не в том, чтобы применять какой-либо вид трафика, а в том, чтобы сконфигурировать ваши серверы таким образом, чтобы они не могли использоваться в атаке усиления. Как это сделать - не вопрос сетевой инженерии.
Конечно, возможно, что все пакеты происходят из одной AS. С помощью взаимодействующей AS вы можете получить подтверждение того, что пакеты на самом деле происходят из их AS. Однако при таком уровне сотрудничества вы также можете заблокировать атаку у источника.
Если мы предполагаем, что у вас есть какой-то метод, который я не думал о получении подтверждения, что пакеты действительно исходят от AS, который вы считаете, и что вы не можете заблокировать его в источнике, а вместо этого хотите заблокировать его посредством BGP, тогда я прочитал о несколько рискованном методе для достижения этой цели. Идея состоит в том, что вы добавляете путь AS к маршруту, который вы объявляете. В этом предварительно добавленном пути AS вы включаете номер AS источника этих пакетов.
Когда объявление достигает маршрутизаторов BGP в вызывающей AS, они собираются обнаружить цикл и отбросить объявление. Между тем остальной мир не увидит петли и не примет объявление.
Это теория. Будет ли это работать на практике, зависит от нескольких факторов. Например, это зависит от фактического использования номера AS, из которого исходят пакеты, который может отличаться от номера AS, объявляющего эти IP-адреса. (Такая разница может быть законной или из-за подмены.)
Это также зависит от того, будет ли восходящий поток не фильтровать маршрут, если они находят путь AS подозрительным. Более того, сети, удаленные от вас, могут также отбросить ваш маршрут, например, если у них также был плохой опыт работы с нарушающей AS и они решили отбросить все маршруты оттуда.
Это ваш вызов, стоит ли этот подход риска.
(Я бы связался с источником для этого подхода, если бы мог найти его снова.)
источник
Вы можете заблокировать их AS из своей локальной сети, поэтому ваш BGP-маршрутизатор создает нулевые маршруты для любого префикса, который они объявляют.
Pro:
Contra:
источник