Как отфильтровать небогонные префиксы, полученные через BGP от Internet Exchange (IXP)?


14

При подключении к пиринговому обмену через Интернет (IXP), каков хороший способ убедиться, что люди не отправляют вам префиксы, которые они не должны объявлять?

Что касается богонов, мне известен проект Team Cymru Bogon Reference, но когда дело доходит до фильтрации чего-либо еще от сверстников, я понятия не имею, с чего начать. Насколько я понимаю, для этого нужны RPKI и подобные?


почему бы просто не связать eBGP с ними и префиксами черной дыры в их таблице маршрутизации?

Ответы:


13

Как заявили другие, RPKI будет подходить, но его пока нет. В обменных пунктах мы обычно устанавливаем ограничение максимального префикса для каждой сессии.

Дополнительно мы используем следующие правила:

  1. Нет маршрута по умолчанию

  2. Нет богонов, точнее этот список:

    route-filter 0.0.0.0/8 orlonger reject;
    route-filter 127.0.0.0/8 orlonger reject;
    route-filter 10.0.0.0/8 orlonger reject;
    route-filter 172.16.0.0/12 orlonger reject;
    route-filter 192.168.0.0/16 orlonger reject;
    route-filter 224.0.0.0/4 orlonger reject;
    route-filter 240.0.0.0/4 orlonger reject;
    route-filter 169.254.0.0/16 orlonger reject;
    route-filter 192.0.2.0/24 orlonger reject;
    route-filter 198.51.100.0/24 orlonger reject;
    route-filter 203.0.113.0/24 orlonger reject;
    route-filter 100.64.0.0/10 orlonger reject;
    
  3. Нет префиксов длиннее / 24

  4. Нет частных номеров AS в пути

  5. Ни один из наших собственных префиксов

Для IPv6 мы делаем то же самое, отличаются только богоны. Я вставил наш фильтр ниже этого. Помните, что синтаксис может быть немного странным, но это связано с тем, что Juniper сопоставляет префиксы. Синтаксис Cisco вы можете найти здесь: Рекомендации по BGP-фильтру IPv6 (пример Juniper на странице содержит ошибки, используйте приведенный ниже, если хотите).

термин ebgp-relaxed {
    из {
        семейный инет6;
        маршрут-фильтр 3ffe :: / 16 orlonger;
        маршрутный фильтр 0000 :: / 8 orlonger;
        route-filter 2001: db8 :: / 32 orlonger;
        route-filter 2001 :: / 32 точное следующее правило;
        route-filter 2001 :: / 32 long;
        route-filter 2002 :: / 16 точное следующее правило;
        маршрут-фильтр 2002 :: / 16 длиннее;
        маршрутный фильтр fe00 :: / 9 orlonger;
        фильтр маршрута ff00 :: / 8 orlonger;
        route-filter 2000 :: / 3 prefix-length-range / 49- / 128;
        маршрут-фильтр 0 :: / 0 orlonger;
    }
    затем отклонить;
}

11

На данный момент (до тех пор, пока RPKI не станет более распространенным), мы обычно просто фильтруем общие болоны и применяем фильтр с максимальным префиксом для обмена одноранговыми узлами. Мы также фильтруем определенные ASN, которые, как мы уверены, никогда не будут отображаться в большинстве сеансов пиринга, таких как Level3 или Cogent, или не должны передаваться через обмен.

Мы обычно находим, что большинство общих утечек маршрута не находятся в диапазоне 1-2 цифр. В любом случае это очень трудно поймать, если только вы не отфильтруете всех своих пиров, построив список префиксов / ASN или фильтр по radb и т. Д. Большинство утечек в итоге оказываются ближе к 10k-100k +, что легко фиксируется довольно низким (100-500). ) фильтр максимального префикса. Затем вы можете настроить этот сеанс по мере необходимости.


7

В зависимости от того, как вы используете пиринговый обмен, у вас есть несколько вариантов:

Во-первых, я расскажу о RPKI и скажу, что, хотя это то, что вы обязательно должны продолжать и развертывать, как для своих собственных маршрутов, так и для проверки других, к сожалению, он настолько мало используется, что в этот момент вы не можете ожидать, что он так много сделает. Реальным решением здесь является WHOIS - RaDB Merit, возможно, является лучшим, поскольку он позволит вам возвращать результаты для всех RIR одновременно. Но, если вы предпочитаете запрашивать каждый RIR напрямую, сделайте это.

Теперь, если вы участвуете в обмене и вы просто получаете кучу префиксов с сервера маршрутов IXP, в зависимости от доступных вам инструментов и возможностей вашего маршрутизатора, у вас есть две возможности:

   1. Фильтр по происхождению AS

По сути, это состоит в проверке исходного AS префикса по сравнению с префиксом в WHOIS - если исходный AS не совпадает с префиксом в WHOIS, вы отбрасываете префикс и любые другие подробности, которые также могут быть объявлены. Как правило, это хорошая защита от непреднамеренных угонов. Подавляющее большинство префиксов должно иметь эти данные.

   2. Фильтр по транзиту AS

Это делает шаг вперед и фильтрует маршруты с любой AS на пути, который не авторизован в WHOIS - однако вы не можете сделать это для каждого префикса, поскольку не все будут создавать объекты, указывающие, кто является их авторизованными поставщиками AS для транзита.


С другой стороны, если вы используете пиринговый обмен для прямого обмена с другими, тогда ваша жизнь становится намного проще; Вы можете посмотреть, какие префиксы они имеют в WHOIS, и разрешить их. На мой взгляд, хорошая практика - разрешать одноранговым узлам объявлять более подробные сведения вплоть до максимальной длины / 24, в то же время устанавливая разумное значение максимального префикса (т. Е. Пропорциональное количеству подсетей, которое они имеют) для вашего пиринга, чтобы они могли Не заполняет вас маршрутами, но может ответить на угон префикса.

Если вы ищете инструменты, проверьте IRRToolSet и IRR PowerTools


5

Вы в основном ответили на свой вопрос. Ваше предположение, что использование RPKI - это путь, абсолютно верное. Более конкретно, авторизации происхождения маршрута используются для проверки префикса к AS. Очевидно, что богоны не будут действительными, потому что они никому не назначены, так что проблема сама по себе решится. Большая часть этой информации доступна на странице Википедии RPKI . Еще один хороший ресурс - страница RPKI от ARIN .

Если вам нужна помощь в настройке, я предлагаю вам создать еще один вопрос с просьбой о конкретной помощи в настройке.

Стоит также отметить, что RPKI не будет работать на все, потому что не все его используют. В какой-то момент вы просто должны доверять маршрутам, которые вы получаете.


0

Спросите своих коллег, какой макрос AS они будут анонсировать, и создайте для них фильтры, используя IRRToolSet или rpsltool или irrpt. Поощряйте их публиковать правильную информацию в IRRdb. Не забудьте обновить свой собственный aut-numобъект в ближайшем дружественном IRRdb, чтобы отразить смежность.

RPKI - это не путь вперед, поскольку он не защищает от протечек.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.