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

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

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

14 голосов | спросил SimonJGreen 14 Mayam13 2013, 01:42:35

5 ответов


12

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

Кроме того, мы используем следующие правила:

  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;
    фильтр маршрута 198.51.100.0/24 отклонение orlonger;
    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 вы можете перейти сюда: Рекомендации по фильтру IPv6 BGP (пример Juniper на странице является ошибкой, пожалуйста, используйте один ниже, если хотите.)

долгосрочный ebgp-расслабленный {
    из {
        семейство inet6;
        route-filter 3ffe :: /16 orlonger;
        route-filter 0000 :: /8 orlonger;
        route-filter 2001: db8 :: /32 orlonger;
        route-filter 2001 :: /32 следующая следующая политика;
        route-filter 2001 :: /32 дольше;
        route-filter 2002 :: /16 точная следующая политика;
        route-filter 2002 :: /16 дольше;
        route-filter fe00 :: /9 orlonger;
        route-filter ff00 :: /8 orlonger;
        route-filter 2000 :: /3 prefix-length-range /49- /128;
        route-filter 0 :: /0 orlonger;
    }
    затем отклонить;
}
ответил Sebastian 14 Maypm13 2013, 18:50:52
10

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

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

ответил Justin Seabrook-Rocha 14 Mayam13 2013, 02:56:32
7

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

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

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

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

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

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

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


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

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

ответил Olipro 14 Maypm13 2013, 12:19:27
5

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

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

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

ответил bigmstone 14 Mayam13 2013, 02:22:47
0

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

RPKI не продвигается вперед, так как он не защищает от утечек маршрута.

ответил Niels 16 Mayam13 2013, 05:04:38

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132