RFC3704 — Входящая фильтрация для мультидомных сетей

Ingress Filtering for Multihomed Networks

Выжимка

RFC 3704 описывает механизмы входящей фильтрации, ограничивающие использование подменённых адресов источника и тем самым снижающие последствия распределённых атак отказа в обслуживании и улучшающие прослеживаемость их источника. Рассматриваются списки входного доступа, строгая, допустимая и свободная обратная проверка пути (RPF), включая вариант свободной RPF без маршрутов по умолчанию. Документ разъясняет применение фильтрации на границах ISP, сетей заказчиков и пиринговых соединениях, а также особенности асимметричной маршрутизации и мультидоминга. RFC 3704 обновляет RFC 2827 и является BCP 84.

Полный перевод

Рабочая группа Network Working Group                           F. Baker
Запрос на комментарии: 3704                              Cisco Systems
Обновляет: 2827                                               P. Savola
BCP: 84                                                     CSC/FUNET
Категория: Лучшая современная практика                     Март 2004


            Входная фильтрация для мультидомных сетей

Статус данного меморандума

   Этот документ определяет Лучшую современную практику Интернета для
   интернет-сообщества и запрашивает обсуждение и предложения по
   улучшениям. Распространение данного меморандума не ограничено.

Уведомление об авторских правах

   Copyright (C) The Internet Society (2004). Все права защищены.

Аннотация

   BCP 38, RFC 2827, предназначен для ограничения воздействия
   распределённых атак отказа в обслуживании путём отказа трафику с
   подменёнными адресами в доступе к сети, а также для содействия
   обеспечению возможности проследить трафик до его правильной исходной
   сети. Побочным эффектом защиты Интернета от таких атак является то,
   что сеть, реализующая это решение, также защищает себя от этой и
   других атак, таких как подменённый доступ к управлению сетевым
   оборудованием. В некоторых случаях это может создавать проблемы,
   например при мультидоминге. Этот документ описывает текущие
   эксплуатационные механизмы входной фильтрации, рассматривает общие
   вопросы, связанные с входной фильтрацией, и подробно исследует, в
   частности, влияние на мультидоминг. Этот меморандум обновляет RFC 2827.















Baker & Savola           Лучшая современная практика          [Страница 1]

RFC 3704       Входная фильтрация для мультидомных сетей      Март 2004


Содержание

   1.  Введение . . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Различные способы реализации входной фильтрации  . . . . . . .  4
       2.1 Списки доступа на входе . . . . . . . . . . . . . . . . .  4
       2.2 Строгая пересылка по обратному пути . . . . . . . . . . .  5
       2.3 Пересылка по обратному пути допустимого маршрута  . . . .  6
       2.4 Нестрогая пересылка по обратному пути  . . . . . . . . . . 6
       2.5 Нестрогая пересылка по обратному пути с игнорированием
           маршрутов по умолчанию  . . . . . . . . . . . . . . . . . 7
   3.  Уточнение применимости входной фильтрации  . . . . . . . . . . 8
       3.1 Входная фильтрация на нескольких уровнях . . . . . . . . . 8
       3.2 Входная фильтрация для защиты собственной инфраструктуры . 8
       3.3 Входная фильтрация на пиринговых соединениях . . . . . . . 9
   4.  Решения для входной фильтрации при мультидоминге  . . . . . . .9
       4.1 Используйте нестрогую RPF, когда это уместно . . . . . . .10
       4.2 Обеспечьте полноту входного фильтра каждого ISP  . . . . .11
       4.3 Направляйте трафик с использованием префикса провайдера
           только этому провайдеру . . . . . . . . . . . . . . . . .11
   5.  Соображения безопасности  . . . . . . . . . . . . . . . . . .12
   6.  Выводы и дальнейшая работа  . . . . . . . . . . . . . . . . .13
   7.  Благодарности . . . . . . . . . . . . . . . . . . . . . . . .14
   8.  Ссылки . . . . . . . . . . . . . . . . . . . . . . . . . . .14
       8.1.  Нормативные ссылки . . . . . . . . . . . . . . . . . . .14
       8.2.  Информационные ссылки . . . . . . . . . . . . . . . . .14
   9.  Адреса авторов . . . . . . . . . . . . . . . . . . . . . . .15
   10. Полное заявление об авторских правах . . . . . . . . . . . . .16



















Baker & Savola           Лучшая современная практика          [Страница 2]

RFC 3704       Входная фильтрация для мультидомных сетей      Март 2004


1.  Введение

   BCP 38, RFC 2827 [1], предназначен для ограничения воздействия
   распределённых атак отказа в обслуживании путём отказа трафику с
   подменёнными адресами в доступе к сети, а также для содействия
   обеспечению возможности проследить трафик до его правильной исходной
   сети. Побочным эффектом защиты Интернета от таких атак является то,
   что сеть, реализующая это решение, также защищает себя от этой и
   других атак, таких как подменённый доступ к управлению сетевым
   оборудованием. В некоторых случаях это может создавать проблемы,
   например при мультидоминге. Этот документ описывает текущие
   эксплуатационные механизмы входной фильтрации, рассматривает общие
   вопросы, связанные с входной фильтрацией, и подробно исследует, в
   частности, влияние на мультидоминг.

   RFC 2827 рекомендует, чтобы ISP контролировали трафик своих клиентов,
   отбрасывая трафик, входящий в их сети с адреса источника, который
   законно не используется сетью клиента. Фильтрация включает, но никоим
   образом не ограничивается трафиком, адресом источника которого является
   так называемый «марсианский адрес» ("Martian Address") — адрес,
   зарезервированный [3], включая любой адрес в пределах 0.0.0.0/8,
   10.0.0.0/8, 127.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 224.0.0.0/4
   или 240.0.0.0/4.

   Обоснование процедуры входной фильтрации состоит в том, что
   распределённые атаки отказа в обслуживании часто подменяют адреса
   источников других систем, помещая в это поле случайное число. В
   некоторых атаках это случайное число детерминированно находится в
   целевой сети, одновременно атакуя одну или несколько машин и вызывая
   у этих машин атаки на другие с помощью сообщений ICMP или другого
   трафика; в этом случае атакуемые площадки могут защитить себя
   надлежащей фильтрацией, проверяя, что их префиксы не используются в
   адресах источника пакетов, получаемых из Интернета. В других атаках
   адрес источника буквально является случайным 32-битным числом, из-за
   чего источник атаки трудно отследить. Если трафик, покидающий
   периферийную сеть и входящий в ISP, можно ограничить трафиком, который
   она законно отправляет, атаки можно несколько смягчить: трафик со
   случайными или неправильными адресами источника можно подавить до того,
   как он нанесёт значительный ущерб, а атаки можно без труда отследить
   как минимум до их исходных сетей.

   Этот документ предназначен для операторов ISP и периферийных сетей,
   которые: 1) хотели бы узнать больше о методах входной фильтрации в
   целом или 2) уже в некоторой степени используют входную фильтрацию,
   но хотели бы расширить её применение и хотят избежать подводных
   камней входной фильтрации в сценариях мультидоминга/асимметрии.





Baker & Savola           Лучшая современная практика          [Страница 3]

RFC 3704       Входная фильтрация для мультидомных сетей      Март 2004


   В разделе 2 описаны и рассмотрены несколько различных способов
   реализации входной фильтрации в общем контексте. В разделе 3 сделаны
   некоторые уточнения относительно применимости методов входной
   фильтрации. В разделе 4 входная фильтрация подробно анализируется с
   точки зрения мультидоминга. В разделе 5 определены выводы и возможные
   направления дальнейшей работы.

2.  Различные способы реализации входной фильтрации

   Этот раздел служит введением в различные эксплуатационные методы,
   используемые для реализации входной фильтрации на момент написания
   этого меморандума. Механизмы описаны и проанализированы в общих
   терминах, а вопросы, специфичные для мультидоминга, описаны в разделе 4.

   Существует как минимум пять способов реализации RFC 2827 с различным
   влиянием. Они включают следующее (эти названия относительно
   распространены):

   o  Списки доступа на входе

   o  Строгая пересылка по обратному пути

   o  Пересылка по обратному пути допустимого маршрута

   o  Нестрогая пересылка по обратному пути

   o  Нестрогая пересылка по обратному пути с игнорированием маршрутов
      по умолчанию

   Возможны и другие механизмы, и действительно существует ряд методов,
   которым могли бы быть полезны дальнейшее изучение, спецификация,
   реализация и/или развёртывание; см. раздел 6. Однако они выходят за
   рамки настоящего документа.

2.1.  Списки доступа на входе

   Список доступа на входе — это фильтр, который сверяет адрес источника
   каждого сообщения, полученного на сетевом интерфейсе, со списком
   допустимых префиксов, отбрасывая любой пакет, не соответствующий
   фильтру. Хотя это далеко не единственный способ реализации входного
   фильтра, именно он предложен RFC 2827 [1] и в некотором смысле является
   наиболее детерминированным.

   Однако списки доступа на входе обычно поддерживаются вручную; например,
   если забыть обновить список у ISP при изменении набора префиксов
   (например, вследствие мультидоминга), это может привести к отбрасыванию
   пакетов, если они не проходят входной фильтр.





Baker & Savola           Лучшая современная практика          [Страница 4]

RFC 3704       Входная фильтрация для мультидомных сетей      Март 2004


   Разумеется, эта проблема не ограничивается списками доступа на входе —
   она присуща входной фильтрации, когда входной фильтр неполон. Однако
   обычно списки доступа на входе труднее поддерживать, чем другие
   механизмы, а наличие устаревшего списка может препятствовать законному
   доступу.

2.2.  Строгая пересылка по обратному пути

   Строгая пересылка по обратному пути (Strict Reverse Path Forwarding,
   Strict RPF) — простой способ реализации входного фильтра. Концептуально
   она идентична использованию списков доступа для входной фильтрации, за
   исключением того, что список доступа является динамическим. Её также
   можно использовать во избежание дублирования конфигурации (например,
   одновременного ведения статических маршрутов или фильтров BGP
   prefix-list и списков доступа интерфейсов). Процедура состоит в том,
   что адрес источника ищется в базе информации пересылки (Forwarding
   Information Base, FIB) и, если пакет получен на интерфейсе, который
   использовался бы для пересылки трафика к источнику пакета, он проходит
   проверку.

   Строгая пересылка по обратному пути является весьма разумным подходом
   перед периферийной сетью любого типа; в частности, она значительно
   превосходит списки доступа на входе, когда граница сети анонсирует
   несколько префиксов с помощью BGP. Она создаёт простой, недорогой,
   быстрый и динамический фильтр.

   Но у строгой пересылки по обратному пути есть и собственные проблемы.
   Во-первых, проверка применима только там, где маршрутизация симметрична
   — где IP-датаграммы в одном направлении и ответы с другого
   детерминированно следуют одним и тем же путём. Хотя это обычно для
   интерфейсов периферийной сети, соединяющих её с ISP, это вовсе не
   обычно между ISP, которые обычно используют асимметричную маршрутизацию
   «горячей картошки» ("hot potato"). Кроме того, если BGP переносит
   префиксы, но некоторые законные префиксы не анонсируются либо не
   принимаются ISP в соответствии с его политикой, результат тот же,
   что и при входной фильтрации с использованием неполного списка доступа:
   часть законного трафика фильтруется из-за отсутствия маршрута в базе
   информации пересылки маршрутизатора, выполняющего фильтрацию.

   Существуют эксплуатационные методы, особенно для BGP, но в некоторой
   степени применимые и к другим протоколам маршрутизации, которые
   позволяют строгой RPF лучше работать в случае асимметричного или
   мультидомного трафика. ISP назначает более предпочтительную метрику,
   не распространяемую за пределы маршрутизатора: либо зависящий от
   поставщика «вес» ("weight"), либо расстояние протокола, чтобы
   предпочитать непосредственно полученные маршруты. При наличии BGP и
   достаточной инфраструктуры настройку предпочтений можно было бы даже
   автоматизировать, используя BGP Communities [2]. Таким образом маршрут
   всегда будет наилучшим в FIB, даже в сценариях, в которых использовалась
   бы только основная связность и обычно через интерфейс не проходили бы
   никакие пакеты.


Baker & Savola           Лучшая современная практика          [Страница 5]

RFC 3704       Входная фильтрация для мультидомных сетей      Март 2004


   Этот метод предполагает отсутствие строгой RPF-фильтрации между
   основным и резервным периферийными маршрутизаторами; в частности,
   при применении к мультидомингу у разных ISP это предположение может
   не выполняться.

2.3.  Пересылка по обратному пути допустимого маршрута

   Пересылка по обратному пути допустимого маршрута (Feasible Path
   Reverse Path Forwarding, Feasible RPF) является расширением строгой
   RPF. Адрес источника по-прежнему ищется в FIB (либо в эквивалентной
   таблице, специфичной для RPF), но вместо внесения туда только одного
   наилучшего маршрута добавляются также альтернативные пути (если они
   есть), и они допустимы для рассмотрения. Список заполняется методами,
   специфичными для протокола маршрутизации, например путём включения
   всех или N (где N меньше общего числа) допустимых путей BGP в базу
   информации о маршрутизации (Routing Information Base, RIB). Иногда
   этот метод был реализован как часть реализации строгой RPF.

   В случае асимметричной маршрутизации и/или мультидоминга на границе
   сети этот подход предоставляет способ относительно легко устранить
   наиболее серьёзные проблемы строгой RPF.

   Критически важно понимать контекст, в котором работает Feasible RPF.
   Этот механизм опирается на согласованные анонсы маршрутов (то есть
   одни и те же префикс(ы) по всем путям), распространяющиеся до всех
   маршрутизаторов, выполняющих проверку Feasible RPF. Например, это
   может не соблюдаться в случае, когда резервный ISP не передаёт
   анонс BGP основному ISP, например вследствие неактуальных route-maps
   или иных политик маршрутизации. Режимы отказа обычно сходны с
   «эксплуатационно улучшенной строгой RPF», описанной выше.

   В качестве общего указания: если анонс фильтруется, пакеты также будут
   фильтроваться.

   Следовательно, при надлежащем определении Feasible RPF является очень
   мощным средством в некоторых видах сценариев асимметричной
   маршрутизации, но важно лучше понимать её эксплуатационную роль и
   применимость.

2.4.  Нестрогая пересылка по обратному пути

   Нестрогая пересылка по обратному пути (Loose Reverse Path Forwarding,
   Loose RPF) алгоритмически подобна строгой RPF, но отличается тем, что
   проверяет только существование маршрута (включая маршрут по умолчанию,
   если он применим), а не то, куда указывает маршрут. На практике это
   можно считать «проверкой наличия маршрута» ("route presence check")
   («Loose RPF» в некотором смысле является неудачным названием, поскольку
   прежде всего вообще не выполняется проверка «обратного пути»).
Baker & Savola           Best Current Practice                  [Page 6]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


   Сомнительная польза Loose RPF проявляется в ситуациях асимметричной
   маршрутизации: пакет отбрасывается, если маршрута вообще нет, например
   к «марсианским адресам» или адресам, которые в настоящее время не
   маршрутизируются, но не отбрасывается, если маршрут существует.

   Однако у Loose Reverse Path Forwarding есть проблемы. Поскольку он
   жертвует направленностью, в большинстве случаев он утрачивает
   способность ограничивать трафик граничной сети трафиком, законно
   исходящим из этой сети, что делает этот механизм бесполезным как
   механизм фильтрации входящего трафика.

   Кроме того, многие ISP используют маршруты по умолчанию для различных
   целей, таких как сбор неправомерного трафика в так называемых системах
   «Honey Pot» или отбрасывание любого трафика, к которому у них нет
   «реального» маршрута, а небольшие ISP вполне могут приобретать
   возможности транзита и использовать маршрут по умолчанию от более
   крупного поставщика. По меньшей мере некоторые реализации Loose RPF
   проверяют, куда указывает маршрут по умолчанию. Если маршрут указывает
   на интерфейс, где включён Loose RPF, с этого интерфейса разрешается
   любой пакет; если он никуда не указывает или указывает на какой-либо
   другой интерфейс, пакеты с поддельными адресами источника будут
   отброшены на интерфейсе Loose RPF даже при наличии маршрута по
   умолчанию. Если такая детальная проверка не реализована, наличие
   маршрута по умолчанию полностью сводит на нет действие Loose RPF.

   Одним из случаев, где Loose RPF мог бы хорошо подойти, могла бы быть
   фильтрация ISP пакетов от его вышестоящих поставщиков, чтобы избавиться
   от пакетов с «марсианскими» или другими немаршрутизируемыми адресами.

   Если другие подходы не подходят, loose RPF мог бы использоваться как
   форма проверки соблюдения договора: предполагается, что другая сеть
   удостоверяет, что она предоставила надлежащие правила фильтрации
   входящего трафика, поэтому сети, выполняющей фильтрацию, достаточно
   лишь проверить этот факт и отреагировать, если будут обнаружены какие-
   либо пакеты, свидетельствующие о нарушении договора. Разумеется, этот
   механизм покажет лишь, используются ли адреса источника, являющиеся
   «марсианскими» или другими немаршрутизируемыми адресами, — но не то,
   принадлежат ли они адресному пространству кого-либо другого.

2.5.  Loose Reverse Path Forwarding, игнорирующая маршруты по умолчанию

   Пятый метод реализации можно охарактеризовать как Loose RPF,
   игнорирующую маршруты по умолчанию, то есть «явную проверку наличия
   маршрута». В этом подходе маршрутизатор ищет адрес источника в таблице
   маршрутизации и сохраняет пакет, если маршрут найден. Однако при этом
   поиске маршруты по умолчанию исключаются. Поэтому этот метод в
   основном применим в сценариях, где маршруты по умолчанию используются
   только для перехвата трафика с поддельными адресами источника, при
   наличии обширного (или даже полного) списка явных маршрутов для
   охвата законного трафика.




Baker & Savola           Best Current Practice                  [Page 7]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


   Как и Loose RPF, это полезно там, где присутствует асимметричная
   маршрутизация, например на меж-ISP-каналах. Однако, как и Loose RPF,
   поскольку этот метод жертвует направленностью, он утрачивает
   способность ограничивать трафик граничной сети трафиком, законно
   исходящим из этой сети.

3.  Уточнение применимости фильтрации входящего трафика

   Может быть не сразу очевидно, что фильтрация входящего трафика
   применяется не только на интерфейсе «последней мили» между ISP и
   конечным пользователем. Вполне допустимо и рекомендуется также
   выполнять фильтрацию входящего трафика на границах ISP, где это
   уместно, на маршрутизаторах, соединяющих LAN с сетью предприятия, и
   т. д. — это усиливает многоуровневую защиту.

3.1.  Фильтрация входящего трафика на нескольких уровнях

   Из-за более широкого развёртывания фильтрации входящего трафика этот
   вопрос носит рекурсивный характер. Фильтрация входящего трафика должна
   работать везде, где она используется, а не только между первыми двумя
   сторонами. То есть если пользователь согласовывает со своим ISP особую
   схему фильтрации входящего трафика, он также должен обеспечить (или
   удостовериться, что ISP обеспечивает), чтобы те же схемы применялись
   и к вышестоящим и пиринговым каналам ISP, если там используется
   фильтрация входящего трафика — или будет использоваться в какой-либо
   момент в будущем; аналогично для вышестоящих ISP и пиров.

   Следовательно, ручные модели, которые не распространяют автоматически
   информацию всем сторонам, через которые будут проходить пакеты и где
   может применяться фильтрация входящего трафика, имеют лишь
   ограниченную общую полезность.

3.2.  Фильтрация входящего трафика для защиты собственной инфраструктуры

   Ещё одна особенность, возникающая вследствие более широкого
   развёртывания фильтрации входящего трафика, может быть не сразу
   очевидна. Маршрутизаторы и другая инфраструктура ISP уязвимы для
   нескольких видов атак. Угроза обычно смягчается ограничением круга
   лиц, которые могут получать доступ к этим системам.

   Однако, если фильтрация входящего трафика (или по меньшей мере её
   ограниченное подмножество) не развёрнута на каждой границе (в сторону
   клиентов, пиров и вышестоящих поставщиков) — блокируя использование
   собственных адресов в качестве адресов источника, — злоумышленники
   могут суметь обойти средства защиты инфраструктурного оборудования.

   Поэтому, развёртывая фильтрацию входящего трафика, организация не
   только помогает Интернету в целом, но и защищается от нескольких
   классов угроз собственной инфраструктуре.




Baker & Savola           Best Current Practice                  [Page 8]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


3.3.  Фильтрация входящего трафика на пиринговых каналах

   Фильтрация входящего трафика на пиринговых каналах, выполняемая ли
   ISP или конечными площадками, на самом деле не слишком отличается от
   более типичной «нисходящей» или «восходящей» фильтрации входящего
   трафика.

   Однако важно отметить, что при смешанных восходящих/нисходящих и
   пиринговых каналах различные каналы могут иметь разные свойства
   (например, связанные с договорами, доверием, применимостью механизмов
   фильтрации входящего трафика и т. д.). В наиболее типичном случае
   простое использование механизма фильтрации входящего трафика в сторону
   пира (например, Strict RPF) вполне работает, пока маршрутизация между
   пирами поддерживается достаточно симметричной. Может даже считаться
   полезной возможность отфильтровывать адреса источника, поступающие с
   восходящего канала, которые должны были поступить по пиринговому каналу
   (что подразумевает использование в сторону вышестоящего поставщика
   чего-то вроде Strict RPF), — но это более сложная тема и считается
   выходящей за рамки настоящего документа; см. Раздел 6.

4.  Решения для фильтрации входящего трафика при мультихоминге

   Прежде всего следует спросить, почему площадка использует
   мультихоминг; например, граничная сеть может:

   o  использовать два ISP для резервирования подключения к Интернету с
      целью обеспечения устойчивости,

   o  использовать того ISP, который в данный момент предлагает наиболее
      быстрый сервис TCP,

   o  нуждаться в нескольких точках доступа к Интернету в местах, где ни
      один ISP не предоставляет услуг, или

   o  менять ISP (и поэтому использовать мультихоминг лишь временно).

   Можно представить ряд подходов к обходу ограничений фильтров входящего
   трафика для мультидомных сетей. Варианты включают:

   1.  Не использовать мультихоминг.

   2.  Не использовать фильтры входящего трафика.

   3.  Принять неполноту сервиса.

   4.  На некоторых интерфейсах ослабить фильтрацию входящего трафика,
       используя подходящую форму проверки loose RPF, как описано в
       Разделе 4.1.





Baker & Savola           Best Current Practice                  [Page 9]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


   5.  Обеспечить посредством BGP или договора полноту фильтра входящего
       трафика каждого ISP, как описано в Разделе 4.2.

   6.  Обеспечить, чтобы граничные сети передавали своим ISP только тот
       трафик, который фактически пройдёт фильтр входящего трафика, как
       описано в Разделе 4.3.

   Первые три из них очевидно упомянуты для полноты; они не являются и не
   могут являться жизнеспособными позициями; последние три рассматриваются
   ниже.

   Четвёртый и пятый варианты должны быть обеспечены также в вышестоящих
   ISP, как описано в Разделе 3.1.

   Далее мы рассмотрим жизнеспособные способы устранения побочных эффектов
   фильтров входящего трафика.

4.1.  Использование Loose RPF, когда это уместно

   Там, где асимметричная маршрутизация предпочтительна или неизбежна,
   фильтрацию входящего трафика может быть трудно развернуть с помощью
   такого механизма, как strict RPF, который требует симметричности
   путей. Во многих случаях использование операционных методов или
   feasible RPF может обеспечить полноту фильтра входящего трафика, как
   описано ниже. Если это не удаётся, единственные реальные варианты — не
   выполнять фильтрацию входящего трафика, использовать ручной список
   доступа (возможно, в дополнение к некоторым другим механизмам) либо
   использовать некоторую форму проверки Loose RPF.

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

   Использование Loose RPF не представляется хорошим выбором между
   граничной сетью и ISP, поскольку оно утрачивает направленность
   проверки. Это свидетельствует в пользу либо использования полного
   фильтра в вышестоящей сети, либо обеспечения в нисходящей сети того,
   что пакеты, которые вышестоящая сеть отклонит, никогда не достигнут её.

   Поэтому использование Loose RPF не может быть рекомендовано, кроме как
   в качестве способа измерить, используются ли «марсианские» или другие
   немаршрутизируемые адреса.







Baker & Savola           Best Current Practice                 [Page 10]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


4.2.  Обеспечение полноты фильтра входящего трафика каждого ISP

   Для граничной сети, если мультихоминг используется для устойчивости или
   для периодического изменения маршрутизации в зависимости от измеренного
   поведения ISP, простейшим подходом будет обеспечить, чтобы её ISP
   действительно переносили её адреса в маршрутизации. Это часто потребует
   от граничной сети использовать независимые от поставщика префиксы и
   обмениваться маршрутами со своими ISP посредством BGP, чтобы обеспечить
   передачу её префикса вверх по сети к крупным транзитным ISP. По
   необходимости это подразумевает, что граничная сеть будет иметь размер
   и техническую компетентность, достаточные для получения от своего RIR
   отдельного выделения адресов и номера автономной системы.

   Существует ряд методов, упрощающих обеспечение полноты фильтра
   входящего трафика ISP. Feasible RPF и Strict RPF с операционными
   методами оба достаточно хорошо работают для мультидомных или
   асимметричных сценариев между ISP и граничной сетью.

   Когда протокол маршрутизации не используется, а информация о клиентах
   вместо этого формируется из баз данных, таких как Radius, TACACS или
   Diameter, фильтрацию входящего трафика легче всего обеспечить и
   поддерживать в актуальном состоянии с помощью Strict RPF или списков
   доступа для входящего трафика, автоматически создаваемых из таких баз
   данных.

4.3.  Передача трафика с префиксом поставщика только этому поставщику

   Для небольших граничных сетей, использующих адресацию на основе
   поставщика и чьи ISP реализуют фильтры входящего трафика (что им
   следует делать), третий вариант состоит в маршрутизации трафика,
   исходящего из адресного пространства данного поставщика, к этому
   поставщику.

   Это несложная процедура, но она требует тщательного планирования и
   настройки. Для устойчивости граничная сеть может выбрать подключение к
   каждому из своих ISP через две или более разных точек присутствия
   (POP), чтобы в случае сбоя одного POP или линии можно было использовать
   другое соединение с тем же ISP. В качестве альтернативы вместо
   нескольких подключений к одному и тому же ISP может быть настроен набор
   туннелей [4][5]. Таким образом, граничные маршрутизаторы настраиваются
   сначала проверять адрес источника пакета, предназначенного для ISP, и
   направлять его в соответствующий туннель или интерфейс в сторону ISP.

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






Baker & Savola           Best Current Practice                 [Page 11]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


5.  Вопросы безопасности

   Фильтрация входящего трафика обычно выполняется для обеспечения того,
   чтобы трафик, поступающий на один сетевой интерфейс, законно исходил от
   компьютера, находящегося в сети, достижимой через этот интерфейс.

   Чем ближе к фактическому источнику выполняется фильтрация входящего
   трафика, тем она эффективнее. Можно было бы пожелать, чтобы
   маршрутизатор первого перехода обеспечивал правильную адресацию
   трафика, исходящего от соседней с ним конечной системы; более удалённый
   маршрутизатор может обеспечить лишь возможность существования такой
   системы в указанном префиксе. Поэтому фильтрацию входящего трафика
   следует выполнять на нескольких уровнях с различной степенью
   детализации.

   Следует помнить, что, хотя одна из целей фильтрации входящего трафика —
   сделать атаки отслеживаемыми, невозможно знать, фильтруется ли входящий
   трафик конкретного злоумышленника «где-то в Интернете». Поэтому можно
   лишь предполагать, были ли подделаны адреса источника: в любом случае
   получение возможной зацепки — например, чтобы связаться с потенциальным
   источником и спросить, наблюдает ли он атаку, — всё равно ценно и тем
   более ценно, чем шире и шире развёртывается фильтрация входящего
   трафика.

   Следовательно, каждый административный домен должен стремиться
   обеспечить достаточный уровень фильтрации входящего трафика на своих
   границах.

   Свойства безопасности и применимость различных типов фильтрации
   входящего трафика сильно различаются.
   o  Списки доступа на входе обычно требуют ручного сопровождения, но при
      надлежащем выполнении являются наиболее надёжным средством;
      как правило, списки доступа на входе лучше всего подходят между
      периферией и ISP, когда конфигурация не слишком динамична и строгий
      RPF не является вариантом, между ISP, если число используемых
      префиксов невелико, либо в качестве дополнительного уровня защиты.

   o  Строгая проверка RPF — очень простой и надёжный способ реализовать
      входную фильтрацию. Обычно она подходит между периферийной сетью и
      ISP. Во многих случаях простую строгую RPF можно дополнить
      эксплуатационными процедурами при асимметричных шаблонах трафика
      либо методом Feasible RPF, чтобы также учитывать другие
      альтернативные пути.

   o  Проверка Feasible Path RPF является расширением Strict RPF. Она
      подходит во всех сценариях, в которых подходит Strict RPF, но в
      особенности в многодомных или асимметричных сценариях. Однако
      следует помнить, что для работы Feasible RPF предполагает
      согласованное порождение и




Baker & Savola           Лучшая современная практика           [Страница 12]

RFC 3704       Входная фильтрация для многодомных сетей        Март 2004


      распространение маршрутной информации; последствия этого должны
      быть понятны, особенно если объявление префикса проходит через
      третьи стороны.

   o  Loose RPF прежде всего отфильтровывает немаршрутизируемые префиксы,
      такие как Martian-адреса. Его можно применять на интерфейсах
      восходящего направления, чтобы уменьшить размер DoS-атак с
      немаршрутизируемыми исходными адресами. На интерфейсах нисходящего
      направления его можно использовать только для проверки договора:
      что другая сеть выполнила хотя бы некоторую входную фильтрацию.

   При взвешивании компромиссов различных механизмов входной фильтрации
   перед применением более ослабленного подхода следует тщательно
   рассмотреть его свойства безопасности. В особенности при применении
   ISP по отношению к периферийной сети, по-видимому, существует немного
   причин, по которым более строгая форма входной фильтрации не была бы
   уместна.

6.  Выводы и дальнейшая работа

   Эта записка описывает методы входной фильтрации в целом и варианты для
   многодомных сетей в частности.

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

   Подводя итог:

   o  Входную фильтрацию всегда следует выполнять между ISP и
      однодомной периферийной сетью.

   o  Входная фильтрация с Feasible RPF или сходными методами Strict RPF
      почти всегда могла бы применяться также между ISP и многодомными
      периферийными сетями.

   o  Как ISP, так и периферийным сетям следует проверять, что их
      собственные адреса не используются в качестве исходных адресов в
      пакетах, поступающих извне их сети.

   o  Некоторая форма входной фильтрации также разумна между ISP,
      особенно если число префиксов невелико.






Baker & Savola           Лучшая современная практика           [Страница 13]

RFC 3704       Входная фильтрация для многодомных сетей        Март 2004


   Эта записка снизит барьер для внедрения входной фильтрации, особенно в
   таких сценариях, как асимметричные/многодомные сети, где общее мнение
   состояло в том, что входную фильтрацию трудно реализовать.

   Можно выделить несколько областей, в которых была бы полезна
   дополнительная работа:

   o  Уточнить механизмы подробнее: между реализациями имеются некоторые
      различия, например в том, всегда ли трафик к адресам назначения
      многоадресной рассылки проходит фильтр Strict RPF или нет. При
      формальном определении механизмов реализации могли бы быть
      гармонизированы.

   o  Подробнее изучить и определить механизмы RPF на основе Routing
      Information Base (RIB), например Feasible Path RPF. В частности,
      рассмотреть, при каких предположениях эти механизмы работают как
      задумано, а при каких — нет.

   o  Написать более общую записку о механизмах входной фильтрации, чем
      эта записка, после того как будут проработаны таксономия и детали
      или механизмы (указанные выше пункты).

   o  Рассмотреть более сложный случай, когда сеть имеет подключение с
      различными свойствами (например, пиры и восходящие провайдеры) и
      хочет обеспечить, чтобы трафик с исходным адресом пира не
      принимался от восходящего провайдера.

7.  Благодарности

   Rob Austein, Barry Greene, Christoph Reichert, Daniel Senie, Pedro
   Roque и Iljitsch van Beijnum рассмотрели этот документ и помогли его
   улучшить. Thomas Narten, Ted Hardie и Russ Housley предоставили
   хорошие отзывы, которые способствовали доработке документа на его
   заключительных этапах.

8.  Ссылки

8.1.  Нормативные ссылки

   [1]  Ferguson, P. and D. Senie, "Network Ingress Filtering: Defeating
        Denial of Service Attacks which employ IP Source Address
        Spoofing", BCP 38, RFC 2827, May 2000.

8.2.  Справочные ссылки

   [2]  Chandrasekeran, R., Traina, P. and T. Li, "BGP Communities
        Attribute", RFC 1997, August 1996.




Baker & Savola           Лучшая современная практика           [Страница 14]

RFC 3704       Входная фильтрация для многодомных сетей        Март 2004


   [3]  IANA, "Special-Use IPv4 Addresses", RFC 3330, September 2002.

   [4]  Bates, T. and Y. Rekhter, "Scalable Support for Multi-homed
        Multi-provider Connectivity", RFC 2260, January 1998.

   [5]  Hagino, J. and H. Snyder, "IPv6 Multihoming Support at Site Exit
        Routers", RFC 3178, October 2001.

9.  Адреса авторов

   Fred Baker
   Cisco Systems
   Santa Barbara, CA  93117
   US

   EMail: fred@cisco.com


   Pekka Savola
   CSC/FUNET
   Espoo
   Finland

   EMail: psavola@funet.fi


















Baker & Savola           Лучшая современная практика           [Страница 15]

RFC 3704       Входная фильтрация для многодомных сетей        Март 2004


10.  Полное заявление об авторском праве

   Copyright (C) The Internet Society (2004). Этот документ подпадает под
   права, лицензии и ограничения, содержащиеся в BCP 78, и, за исключением
   изложенного в нём, авторы сохраняют все свои права.

   Этот документ и содержащаяся в нём информация предоставляются на основе
   "КАК ЕСТЬ", и ЛИЦО, ВНЕСШЕЕ ВКЛАД (CONTRIBUTOR), ОРГАНИЗАЦИЯ, КОТОРУЮ
   ОН/ОНА ПРЕДСТАВЛЯЕТ ИЛИ КОТОРОЙ СПОНСИРУЕТСЯ (ЕСЛИ ТАКОВАЯ ИМЕЕТСЯ),
   INTERNET SOCIETY И INTERNET ENGINEERING TASK FORCE ОТКАЗЫВАЮТСЯ ОТ ВСЕХ
   ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ЛЮБУЮ
   ГАРАНТИЮ ТОГО, ЧТО ИСПОЛЬЗОВАНИЕ СОДЕРЖАЩЕЙСЯ ЗДЕСЬ ИНФОРМАЦИИ НЕ НАРУШИТ
   КАКИХ-ЛИБО ПРАВ, ИЛИ ЛЮБЫЕ ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ
   ИЛИ ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ.

Интеллектуальная собственность

   IETF не занимает позиции относительно действительности или объёма
   каких-либо прав интеллектуальной собственности либо иных прав, которые
   могут заявляться как относящиеся к реализации или использованию
   технологии, описанной в этом документе, или относительно степени, в
   которой какая-либо лицензия в отношении таких прав может быть или не
   быть доступной; IETF также не заявляет, что предпринимала какие-либо
   самостоятельные усилия для выявления любых таких прав. Информацию о
   процедурах в отношении прав в документах RFC можно найти в BCP 78 и
   BCP 79.

   Копии раскрытий IPR, сделанных Секретариату IETF, и любые заверения о
   лицензиях, которые будут предоставлены, либо результат попытки получить
   общую лицензию или разрешение на использование таких имущественных прав
   реализаторами или пользователями этой спецификации можно получить из
   онлайнового репозитория IPR IETF по адресу
   http://www.ietf.org/ipr.

   IETF приглашает любую заинтересованную сторону довести до его сведения
   любые авторские права, патенты или заявки на патенты либо другие
   имущественные права, которые могут охватывать технологию, которая может
   потребоваться для реализации этого стандарта. Пожалуйста, направляйте
   информацию в IETF по адресу ietf-
   ipr@ietf.org.

Благодарность

   Финансирование функции RFC Editor в настоящее время предоставляется
   Internet Society.







Baker & Savola           Лучшая современная практика           [Страница 16]

Оригинал (EN)





Network Working Group                                           F. Baker
Request for Comments: 3704                                 Cisco Systems
Updates: 2827                                                  P. Savola
BCP: 84                                                        CSC/FUNET
Category: Best Current Practice                               March 2004


               Ingress Filtering for Multihomed Networks

Status of this Memo

   This document specifies an Internet Best Current Practices for the
   Internet Community, and requests discussion and suggestions for
   improvements.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2004).  All Rights Reserved.

Abstract

   BCP 38, RFC 2827, is designed to limit the impact of distributed
   denial of service attacks, by denying traffic with spoofed addresses
   access to the network, and to help ensure that traffic is traceable
   to its correct source network.  As a side effect of protecting the
   Internet against such attacks, the network implementing the solution
   also protects itself from this and other attacks, such as spoofed
   management access to networking equipment.  There are cases when this
   may create problems, e.g., with multihoming.  This document describes
   the current ingress filtering operational mechanisms, examines
   generic issues related to ingress filtering, and delves into the
   effects on multihoming in particular.  This memo updates RFC 2827.



















Baker & Savola           Best Current Practice                  [Page 1]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Different Ways to Implement Ingress Filtering  . . . . . . . .  4
       2.1 Ingress Access Lists . . . . . . . . . . . . . . . . . . .  4
       2.2 Strict Reverse Path Forwarding . . . . . . . . . . . . . .  5
       2.3 Feasible Path Reverse Path Forwarding  . . . . . . . . . .  6
       2.4 Loose Reverse Path Forwarding  . . . . . . . . . . . . . .  6
       2.5 Loose Reverse Path Forwarding Ignoring Default Routes  . .  7
   3.  Clarifying the Applicability of Ingress Filtering  . . . . . .  8
       3.1 Ingress Filtering at Multiple Levels . . . . . . . . . . .  8
       3.2 Ingress Filtering to Protect Your Own Infrastructure . . .  8
       3.3 Ingress Filtering on Peering Links . . . . . . . . . . . .  9
   4.  Solutions to Ingress Filtering with Multihoming  . . . . . . .  9
       4.1 Use Loose RPF When Appropriate . . . . . . . . . . . . . . 10
       4.2 Ensure That Each ISP's Ingress Filter Is Complete  . . . . 11
       4.3 Send Traffic Using a Provider Prefix Only to That Provider 11
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . . 12
   6.  Conclusions and Future Work  . . . . . . . . . . . . . . . . . 13
   7.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14
   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
       8.1.  Normative References . . . . . . . . . . . . . . . . . . 14
       8.2.  Informative References . . . . . . . . . . . . . . . . . 14
   9.  Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 15
   10. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 16


























Baker & Savola           Best Current Practice                  [Page 2]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


1.  Introduction

   BCP 38, RFC 2827 [1], is designed to limit the impact of distributed
   denial of service attacks, by denying traffic with spoofed addresses
   access to the network, and to help ensure that traffic is traceable
   to its correct source network.  As a side effect of protecting the
   Internet against such attacks, the network implementing the solution
   also protects itself from this and other attacks, such as spoofed
   management access to networking equipment.  There are cases when this
   may create problems, e.g., with multihoming.  This document describes
   the current ingress filtering operational mechanisms, examines
   generic issues related to ingress filtering and delves into the
   effects on multihoming in particular.

   RFC 2827 recommends that ISPs police their customers' traffic by
   dropping traffic entering their networks that is coming from a source
   address not legitimately in use by the customer network.  The
   filtering includes but is in no way limited to the traffic whose
   source address is a so-called "Martian Address" - an address that is
   reserved [3], including any address within 0.0.0.0/8, 10.0.0.0/8,
   127.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 224.0.0.0/4, or
   240.0.0.0/4.

   The reasoning behind the ingress filtering procedure is that
   Distributed Denial of Service Attacks frequently spoof other systems'
   source addresses, placing a random number in the field.  In some
   attacks, this random number is deterministically within the target
   network, simultaneously attacking one or more machines and causing
   those machines to attack others with ICMP messages or other traffic;
   in this case, the attacked sites can protect themselves by proper
   filtering, by verifying that their prefixes are not used in the
   source addresses in packets received from the Internet.  In other
   attacks, the source address is literally a random 32 bit number,
   resulting in the source of the attack being difficult to trace.  If
   the traffic leaving an edge network and entering an ISP can be
   limited to traffic it is legitimately sending, attacks can be
   somewhat mitigated: traffic with random or improper source addresses
   can be suppressed before it does significant damage, and attacks can
   be readily traced back to at least their source networks.

   This document is aimed at ISP and edge network operators who 1) would
   like to learn more of ingress filtering methods in general, or 2) are
   already using ingress filtering to some degree but who would like to
   expand its use and want to avoid the pitfalls of ingress filtering in
   the multihomed/asymmetric scenarios.






Baker & Savola           Best Current Practice                  [Page 3]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


   In section 2, several different ways to implement ingress filtering
   are described and examined in the generic context.  In section 3,
   some clarifications on the applicability of ingress filtering methods
   are made.  In section 4, ingress filtering is analyzed in detail from
   the multihoming perspective.  In section 5, conclusions and potential
   future work items are identified.

2.  Different Ways to Implement Ingress Filtering

   This section serves as an introduction to different operational
   techniques used to implement ingress filtering as of writing this
   memo.  The mechanisms are described and analyzed in general terms,
   and multihoming-specific issues are described in Section 4.

   There are at least five ways one can implement RFC 2827, with varying
   impacts.  These include (the names are in relatively common usage):

   o  Ingress Access Lists

   o  Strict Reverse Path Forwarding

   o  Feasible Path Reverse Path Forwarding

   o  Loose Reverse Path Forwarding

   o  Loose Reverse Path Forwarding ignoring default routes

   Other mechanisms are also possible, and indeed, there are a number of
   techniques that might profit from further study, specification,
   implementation, and/or deployment; see Section 6.  However, these are
   out of scope.

2.1.  Ingress Access Lists

   An Ingress Access List is a filter that checks the source address of
   every message received on a network interface against a list of
   acceptable prefixes, dropping any packet that does not match the
   filter.  While this is by no means the only way to implement an
   ingress filter, it is the one proposed by RFC 2827 [1], and in some
   sense the most deterministic one.

   However, Ingress Access Lists are typically maintained manually; for
   example, forgetting to have the list updated at the ISPs if the set
   of prefixes changes (e.g., as a result of multihoming) might lead to
   discarding the packets if they do not pass the ingress filter.






Baker & Savola           Best Current Practice                  [Page 4]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


   Naturally, this problem is not limited to Ingress Access Lists -- it
   is inherent to Ingress Filtering when the ingress filter is not
   complete.  However, usually Ingress Access Lists are more difficult
   to maintain than the other mechanisms, and having an outdated list
   can prevent legitimate access.

2.2.  Strict Reverse Path Forwarding

   Strict Reverse Path Forwarding (Strict RPF) is a simple way to
   implement an ingress filter.  It is conceptually identical to using
   access lists for ingress filtering, with the exception that the
   access list is dynamic.  This may also be used to avoid duplicate
   configuration (e.g., maintaining both static routes or BGP prefix-
   list filters and interface access-lists).  The procedure is that the
   source address is looked up in the Forwarding Information Base (FIB)
   - and if the packet is received on the interface which would be used
   to forward the traffic to the source of the packet, it passes the
   check.

   Strict Reverse Path Forwarding is a very reasonable approach in front
   of any kind of edge network; in particular, it is far superior to
   Ingress Access Lists when the network edge is advertising multiple
   prefixes using BGP.  It makes for a simple, cheap, fast, and dynamic
   filter.

   But Strict Reverse Path Forwarding has some problems of its own.
   First, the test is only applicable in places where routing is
   symmetrical - where IP datagrams in one direction and responses from
   the other deterministically follow the same path.  While this is
   common at edge network interfaces to their ISP, it is in no sense
   common between ISPs, which normally use asymmetrical "hot potato"
   routing.  Also, if BGP is carrying prefixes and some legitimate
   prefixes are not being advertised or not being accepted by the ISP
   under its policy, the effect is the same as ingress filtering using
   an incomplete access list: some legitimate traffic is filtered for
   lack of a route in the filtering router's Forwarding Information
   Base.

   There are operational techniques, especially with BGP but somewhat
   applicable to other routing protocols as well, to make strict RPF
   work better in the case of asymmetric or multihomed traffic.  The ISP
   assigns a better metric which is not propagated outside of the
   router, either a vendor-specific "weight" or a protocol distance to
   prefer the directly received routes.  With BGP and sufficient
   machinery in place, setting the preferences could even be automated,
   using BGP Communities [2].  That way, the route will always be the
   best one in the FIB, even in the scenarios where only the primary
   connectivity would be used and typically no packets would pass



Baker & Savola           Best Current Practice                  [Page 5]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


   through the interface.  This method assumes that there is no strict
   RPF filtering between the primary and secondary edge routers; in
   particular, when applied to multihoming to different ISPs, this
   assumption may fail.

2.3.  Feasible Path Reverse Path Forwarding

   Feasible Path Reverse Path Forwarding (Feasible RPF) is an extension
   of Strict RPF.  The source address is still looked up in the FIB (or
   an equivalent, RPF-specific table) but instead of just inserting one
   best route there, the alternative paths (if any) have been added as
   well, and are valid for consideration.  The list is populated using
   routing-protocol specific methods, for example by including all or N
   (where N is less than all) feasible BGP paths in the Routing
   Information Base (RIB).  Sometimes this method has been implemented
   as part of a Strict RPF implementation.

   In the case of asymmetric routing and/or multihoming at the edge of
   the network, this approach provides a way to relatively easily
   address the biggest problems of Strict RPF.

   It is critical to understand the context in which Feasible RPF
   operates.  The mechanism relies on consistent route advertisements
   (i.e., the same prefix(es), through all the paths) propagating to all
   the routers performing Feasible RPF checking.  For example, this may
   not hold e.g., in the case where a secondary ISP does not propagate
   the BGP advertisement to the primary ISP e.g., due to route-maps or
   other routing policies not being up-to-date.  The failure modes are
   typically similar to "operationally enhanced Strict RPF", as
   described above.

   As a general guideline, if an advertisement is filtered, the packets
   will be filtered as well.

   In consequence, properly defined, Feasible RPF is a very powerful
   tool in certain kinds of asymmetric routing scenarios, but it is
   important to understand its operational role and applicability
   better.

2.4.  Loose Reverse Path Forwarding

   Loose Reverse Path Forwarding (Loose RPF) is algorithmically similar
   to strict RPF, but differs in that it checks only for the existence
   of a route (even a default route, if applicable), not where the route
   points to.  Practically, this could be considered as a "route
   presence check" ("loose RPF is a misnomer in a sense because there is
   no "reverse path" check in the first place).




Baker & Savola           Best Current Practice                  [Page 6]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


   The questionable benefit of Loose RPF is found in asymmetric routing
   situations: a packet is dropped if there is no route at all, such as
   to "Martian addresses" or addresses that are not currently routed,
   but is not dropped if a route exists.

   Loose Reverse Path Forwarding has problems, however.  Since it
   sacrifices directionality, it loses the ability to limit an edge
   network's traffic to traffic legitimately sourced from that network,
   in most cases, rendering the mechanism useless as an ingress
   filtering mechanism.

   Also, many ISPs use default routes for various purposes such as
   collecting illegitimate traffic at so-called "Honey Pot" systems or
   discarding any traffic they do not have a "real" route to, and
   smaller ISPs may well purchase transit capabilities and use a default
   route from a larger provider.  At least some implementations of Loose
   RPF check where the default route points to.  If the route points to
   the interface where Loose RPF is enabled, any packet is allowed from
   that interface; if it points nowhere or to some other interface, the
   packets with bogus source addresses will be discarded at the Loose
   RPF interface even in the presence of a default route.  If such
   fine-grained checking is not implemented, presence of a default route
   nullifies the effect of Loose RPF completely.

   One case where Loose RPF might fit well could be an ISP filtering
   packets from its upstream providers, to get rid of packets with
   "Martian" or other non-routed addresses.

   If other approaches are unsuitable, loose RPF could be used as a form
   of contract verification: the other network is presumably certifying
   that it has provided appropriate ingress filtering rules, so the
   network doing the filtering need only verify the fact and react if
   any packets which would show a breach in the contract are detected.
   Of course, this mechanism would only show if the source addresses
   used are "martian" or other unrouted addresses -- not if they are
   from someone else's address space.

2.5.  Loose Reverse Path Forwarding Ignoring Default Routes

   The fifth implementation technique may be characterized as Loose RPF
   ignoring default routes, i.e., an "explicit route presence check".
   In this approach, the router looks up the source address in the route
   table, and preserves the packet if a route is found.  However, in the
   lookup, default routes are excluded.  Therefore, the technique is
   mostly usable in scenarios where default routes are used only to
   catch traffic with bogus source addresses, with an extensive (or even
   full) list of explicit routes to cover legitimate traffic.




Baker & Savola           Best Current Practice                  [Page 7]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


   Like Loose RPF, this is useful in places where asymmetric routing is
   found, such as on inter-ISP links.  However, like Loose RPF, since it
   sacrifices directionality, it loses the ability to limit an edge
   network's traffic to traffic legitimately sourced from that network.

3.  Clarifying the Applicability of Ingress Filtering

   What may not be readily apparent is that ingress filtering is not
   applied only at the "last-mile" interface between the ISP and the end
   user.  It's perfectly fine, and recommended, to also perform ingress
   filtering at the edges of ISPs where appropriate, at the routers
   connecting LANs to an enterprise network, etc. -- this increases the
   defense in depth.

3.1.  Ingress Filtering at Multiple Levels

   Because of wider deployment of ingress filtering, the issue is
   recursive.  Ingress filtering has to work everywhere where it's used,
   not just between the first two parties.  That is, if a user
   negotiates a special ingress filtering arrangement with his ISP, he
   should also ensure (or make sure the ISP ensures) that the same
   arrangements also apply to the ISP's upstream and peering links, if
   ingress filtering is being used there -- or will get used, at some
   point in the future; similarly with the upstream ISPs and peers.

   In consequence, manual models which do not automatically propagate
   the information to every party where the packets would go and where
   ingress filtering might be applied have only limited generic
   usefulness.

3.2.  Ingress Filtering to Protect Your Own Infrastructure

   Another feature stemming from wider deployment of ingress filtering
   may not be readily apparent.  The routers and other ISP
   infrastructure are vulnerable to several kinds of attacks.  The
   threat is typically mitigated by restricting who can access these
   systems.

   However, unless ingress filtering (or at least, a limited subset of
   it) has been deployed at every border (towards the customers, peers
   and upstreams) -- blocking the use of your own addresses as source
   addresses -- the attackers may be able to circumvent the protections
   of the infrastructure gear.

   Therefore, by deploying ingress filtering, one does not just help the
   Internet as a whole, but protects against several classes of threats
   to your own infrastructure as well.




Baker & Savola           Best Current Practice                  [Page 8]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


3.3.  Ingress Filtering on Peering Links

   Ingress filtering on peering links, whether by ISPs or by end-sites,
   is not really that much different from the more typical "downstream"
   or "upstream" ingress filtering.

   However, it's important to note that with mixed upstream/downstream
   and peering links, the different links may have different properties
   (e.g., relating to contracts, trust, viability of the ingress
   filtering mechanisms, etc.).  In the most typical case, just using an
   ingress filtering mechanism towards a peer (e.g., Strict RPF) works
   just fine as long as the routing between the peers is kept reasonably
   symmetric.  It might even be considered useful to be able to filter
   out source addresses coming from an upstream link which should have
   come over a peering link (implying something like Strict RPF is used
   towards the upstream) -- but this is a more complex topic and
   considered out of scope; see Section 6.

4.  Solutions to Ingress Filtering with Multihoming

   First, one must ask why a site multihomes; for example, the edge
   network might:

   o  use two ISPs for backing up the Internet connectivity to ensure
      robustness,

   o  use whichever ISP is offering the fastest TCP service at the
      moment,

   o  need several points of access to the Internet in places where no
      one ISP offers service, or

   o  be changing ISPs (and therefore multihoming only temporarily).

   One can imagine a number of approaches to working around the
   limitations of ingress filters for multihomed networks.  Options
   include:

   1.  Do not multihome.

   2.  Do not use ingress filters.

   3.  Accept that service will be incomplete.

   4.  On some interfaces, weaken ingress filtering by using an
       appropriate form of loose RPF check, as described in Section 4.1.





Baker & Savola           Best Current Practice                  [Page 9]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


   5.  Ensure, by BGP or by contract, that each ISP's ingress filter is
       complete, as described in Section 4.2.

   6.  Ensure that edge networks only deliver traffic to their ISPs that
       will in fact pass the ingress filter, as described in Section
       4.3.

   The first three of these are obviously mentioned for completeness;
   they are not and cannot be viable positions; the final three are
   considered below.

   The fourth and the fifth must be ensured in the upstream ISPs as
   well, as described in Section 3.1.

   Next, we now look at the viable ways for dealing with the side-
   effects of ingress filters.

4.1.  Use Loose RPF When Appropriate

   Where asymmetric routing is preferred or is unavoidable, ingress
   filtering may be difficult to deploy using a mechanism such as strict
   RPF which requires the paths to be symmetrical.  In many cases, using
   operational methods or feasible RPF may ensure the ingress filter is
   complete, like described below.  Failing that, the only real options
   are to not perform ingress filtering, use a manual access-list
   (possibly in addition to some other mechanisms), or to using some
   form of Loose RPF check.

   Failing to provide any ingress filter at all essentially trusts the
   downstream network to behave itself, which is not the wisest course
   of action.  However, especially in the case of very large networks of
   even hundreds or thousands of prefixes, maintaining manual access-
   lists may be too much to ask.

   The use of Loose RPF does not seem like a good choice between the
   edge network and the ISP, since it loses the directionality of the
   test.  This argues in favor of either using a complete filter in the
   upstream network or ensuring in the downstream network that packets
   the upstream network will reject will never reach it.

   Therefore, the use of Loose RPF cannot be recommended, except as a
   way to measure whether "martian" or other unrouted addresses are
   being used.








Baker & Savola           Best Current Practice                 [Page 10]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


4.2.  Ensure That Each ISP's Ingress Filter Is Complete

   For the edge network, if multihoming is being used for robustness or
   to change routing from time to time depending on measured ISP
   behavior, the simplest approach will be to ensure that its ISPs in
   fact carry its addresses in routing.  This will often require the
   edge network to use provider-independent prefixes and exchange routes
   with its ISPs with BGP, to ensure that its prefix is carried upstream
   to the major transit ISPs.  Of necessity, this implies that the edge
   network will be of a size and technical competence to qualify for a
   separate address assignment and an autonomous system number from its
   RIR.

   There are a number of techniques which make it easier to ensure the
   ISP's ingress filter is complete.  Feasible RPF and Strict RPF with
   operational techniques both work quite well for multihomed or
   asymmetric scenarios between the ISP and an edge network.

   When a routing protocol is not being used, but rather the customer
   information is generated from databases such as Radius, TACACS, or
   Diameter, the ingress filtering can be the most easily ensured and
   kept up-to-date with Strict RPF or Ingress Access Lists generated
   automatically from such databases.

4.3.  Send Traffic Using a Provider Prefix Only to That Provider

   For smaller edge networks that use provider-based addressing and
   whose ISPs implement ingress filters (which they should do), the
   third option is to route traffic being sourced from a given
   provider's address space to that provider.

   This is not a complicated procedure, but requires careful planning
   and configuration.  For robustness, the edge network may choose to
   connect to each of its ISPs through two or more different Points of
   Presence (POPs), so that if one POP or line experiences an outage,
   another link to the same ISP can be used.  Alternatively, a set of
   tunnels could be configured instead of multiple connections to the
   same ISP [4][5].  This way the edge routers are configured to first
   inspect the source address of a packet destined to an ISP and shunt
   it into the appropriate tunnel or interface toward the ISP.

   If such a scenario is applied exhaustively, so that an exit router is
   chosen in the edge network for every prefix the network uses, traffic
   originating from any other prefix can be summarily discarded instead
   of sending it to an ISP.






Baker & Savola           Best Current Practice                 [Page 11]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


5.  Security Considerations

   Ingress filtering is typically performed to ensure that traffic
   arriving on one network interface legitimately comes from a computer
   residing on a network reachable through that interface.

   The closer to the actual source ingress filtering is performed, the
   more effective it is.  One could wish that the first hop router would
   ensure that traffic being sourced from its neighboring end system was
   correctly addressed; a router further away can only ensure that it is
   possible that there is such a system within the indicated prefix.
   Therefore, ingress filtering should be done at multiple levels, with
   different level of granularity.

   It bears to keep in mind that while one goal of ingress filtering is
   to make attacks traceable, it is impossible to know whether the
   particular attacker "somewhere in the Internet" is being ingress
   filtered or not.  Therefore, one can only guess whether the source
   addresses have been spoofed or not: in any case, getting a possible
   lead -- e.g., to contact a potential source to ask whether they're
   observing an attack or not -- is still valuable, and more so when the
   ingress filtering gets more and more widely deployed.

   In consequence, every administrative domain should try to ensure a
   sufficient level of ingress filtering on its borders.

   Security properties and applicability of different ingress filtering
   types differ a lot.

   o  Ingress Access Lists require typically manual maintenance, but are
      the most bulletproof when done properly; typically, ingress access
      lists are best fit between the edge and the ISP when the
      configuration is not too dynamic if strict RPF is not an option,
      between ISPs if the number of used prefixes is low, or as an
      additional layer of protection.

   o  Strict RPF check is a very easy and sure way to implement ingress
      filtering.  It is typically fit between the edge network and the
      ISP.  In many cases, a simple strict RPF can be augmented by
      operational procedures in the case of asymmetric traffic patterns,
      or the feasible RPF technique to also account for other
      alternative paths.

   o  Feasible Path RPF check is an extension of Strict RPF.  It is
      suitable in all the scenarios where Strict RPF is, but multihomed
      or asymmetric scenarios in particular.  However, one must remember
      that Feasible RPF assumes the consistent origination and




Baker & Savola           Best Current Practice                 [Page 12]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


      propagation of routing information to work; the implications of
      this must be understood especially if a prefix advertisement
      passes through third parties.

   o  Loose RPF primarily filters out unrouted prefixes such as Martian
      addresses.  It can be applied in the upstream interfaces to reduce
      the size of DoS attacks with unrouted source addresses.  In the
      downstream interfaces it can only be used as a contract
      verification, that the other network has performed at least some
      ingress filtering.

   When weighing the tradeoffs of different ingress filtering
   mechanisms, the security properties of a more relaxed approach should
   be carefully considered before applying it.  Especially when applied
   by an ISP towards an edge network, there don't seem to be many
   reasons why a stricter form of ingress filtering would not be
   appropriate.

6.  Conclusions and Future Work

   This memo describes ingress filtering techniques in general and the
   options for multihomed networks in particular.

   It is important for ISPs to implement ingress filtering to prevent
   spoofed addresses being used, both to curtail DoS attacks and to make
   them more traceable, and to protect their own infrastructure.  This
   memo describes mechanisms that could be used to achieve that effect,
   and the tradeoffs of those mechanisms.

   To summarize:

   o  Ingress filtering should always be done between the ISP and a
      single-homed edge network.

   o  Ingress filtering with Feasible RPF or similar Strict RPF
      techniques could almost always be applied between the ISP and
      multi-homed edge networks as well.

   o  Both the ISPs and edge networks should verify that their own
      addresses are not being used in source addresses in the packets
      coming from outside their network.

   o  Some form of ingress filtering is also reasonable between ISPs,
      especially if the number of prefixes is low.







Baker & Savola           Best Current Practice                 [Page 13]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


   This memo will lower the bar for the adoption of ingress filtering
   especially in the scenarios like asymmetric/multihomed networks where
   the general belief has been that ingress filtering is difficult to
   implement.

   One can identify multiple areas where additional work would be
   useful:

   o  Specify the mechanisms in more detail: there is some variance
      between implementations e.g., on whether traffic to multicast
      destination addresses will always pass the Strict RPF filter or
      not.  By formally specifying the mechanisms the implementations
      might get harmonized.

   o  Study and specify Routing Information Base (RIB) -based RPF
      mechanisms, e.g., Feasible Path RPF, in more detail.  In
      particular, consider under which assumptions these mechanisms work
      as intended and where they don't.

   o  Write a more generic note on the ingress filtering mechanisms than
      this memo, after the taxonomy and the details or the mechanisms
      (points above) have been fleshed out.

   o  Consider the more complex case where a network has connectivity
      with different properties (e.g., peers and upstreams), and wants
      to ensure that traffic sourced with a peer's address should not be
      accepted from the upstream.

7.  Acknowledgements

   Rob Austein, Barry Greene, Christoph Reichert, Daniel Senie, Pedro
   Roque, and Iljitsch van Beijnum reviewed this document and helped in
   improving it.  Thomas Narten, Ted Hardie, and Russ Housley provided
   good feedback which boosted the document in its final stages.

8.  References

8.1.  Normative References

   [1]  Ferguson, P. and D. Senie, "Network Ingress Filtering: Defeating
        Denial of Service Attacks which employ IP Source Address
        Spoofing", BCP 38, RFC 2827, May 2000.

8.2.  Informative References

   [2]  Chandrasekeran, R., Traina, P. and T. Li, "BGP Communities
        Attribute", RFC 1997, August 1996.




Baker & Savola           Best Current Practice                 [Page 14]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


   [3]  IANA, "Special-Use IPv4 Addresses", RFC 3330, September 2002.

   [4]  Bates, T. and Y. Rekhter, "Scalable Support for Multi-homed
        Multi-provider Connectivity", RFC 2260, January 1998.

   [5]  Hagino, J. and H. Snyder, "IPv6 Multihoming Support at Site Exit
        Routers", RFC 3178, October 2001.

9.  Authors' Addresses

   Fred Baker
   Cisco Systems
   Santa Barbara, CA  93117
   US

   EMail: fred@cisco.com


   Pekka Savola
   CSC/FUNET
   Espoo
   Finland

   EMail: psavola@funet.fi



























Baker & Savola           Best Current Practice                 [Page 15]

RFC 3704       Ingress Filtering for Multihomed Networks      March 2004


10.  Full Copyright Statement

   Copyright (C) The Internet Society (2004).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78 and
   except as set forth therein, the authors retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at ietf-
   ipr@ietf.org.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.









Baker & Savola           Best Current Practice                 [Page 16]