У меня есть маршрутизатор Quagga с двумя транзитными соседями, который объявляет свое собственное IP-пространство. Недавно я присоединился к публичной пиринговой бирже (IXP), и поэтому я являюсь частью их локальной сети (/ 24) вместе со всеми другими участниками. Пока все отлично работает.
Теперь для безопасности, интересно, не могли бы другие участники просто направить весь свой исходящий трафик через меня? Например, что произойдет, если любой другой участник укажет маршрут по умолчанию на мой IXP ip. Если я правильно понимаю, весь исходящий трафик от этого участника будет направлен на мой маршрутизатор, который направит его в Интернет с использованием моей транзитной восходящей линии связи, верно?
Поэтому мне интересно, если я должен принять какие-либо меры против этого. Мои идеи:
Настройте правила брандмауэра (iptables) так, чтобы от другого участника IXP принимался только трафик с пунктом назначения из моего собственного IP-пространства. Отбросьте любой другой трафик от участников IXP.
Каким-то образом заставить quagga использовать разные таблицы маршрутизации ядра для каждого соседа (или группы сверстников). Таблица маршрутизации для соседей IXP не будет содержать никаких записей, кроме моего собственного IP-пространства, поэтому маршрутизация с использованием моих IP-транзитных восходящих ссылок не произойдет. Глядя на вывод
ip rule show
шоу Quagga не делает это автоматически?
Я на правильном пути? Почему 2. не реализован в Quagga напрямую? Как аппаратные маршрутизаторы (cisco, juniper, ..) справляются с этой проблемой?
Ответы:
Вы правы, если вы не предпримете никаких мер, это может произойти. Это нарушение политики приемлемого использования большинства IXP, которую я знаю, но все же вы хотите предотвратить это.
Ваше первое решение - хорошая вещь, и она решит вашу проблему. Просто убедитесь, что вы не отслеживаете состояние сеанса в iptables, что, вероятно, снизит производительность или даже ваш маршрутизатор.
Вы можете также рассмотреть возможность выполнения исходящей фильтрации: не позволяйте пакетам покидать вашу сеть, происходящим из неизвестных источников. Это предотвратит отправку хостами в вашей сети поддельных IP-пакетов, которые обычно используются при DDoS-атаках.
Я бы не стал реализовывать второе решение. Это сложно и плохо масштабируется, если у вас есть несколько маршрутизаторов, обрабатывающих ваши транзиты и пиринги, или если у вас есть большое количество сеансов пиринга (несколько сотен на IXP не так уж редки).
Я знаю, что на всех платформах аппаратного маршрутизатора эта проблема решается в конфигурации путем настройки RPF на исходящем интерфейсе и / или путем написания фильтров.
источник
Если вы используете Quagga на Linux, вы можете включить RPF, установив для параметра ядра
net.ipv4.conf.default.rp_filter
значение 1 или 2.Пожалуйста, смотрите эту страницу для более подробной информации: http://www.slashroot.in/linux-kernel-rpfilter-settings-reverse-path-filtering
источник
Насколько я понимаю, у вас есть 2 подключения к транзитным провайдерам и 1 подключение к точке пиринга, в этой ситуации я предполагаю, что вы используете BGP для пиринга с вашими транзитными провайдерами и с маршрутизатором IXP.
BGP работает так, что другие могут добраться только до тех мест, которые вы им рекламируете. Так, например, у вас есть / 24, и вы будете рекламировать его своим транзитным провайдерам, чтобы хосты в Интернете могли связываться с вами через ваших транзитных пиров, и вы также рекламировали бы свой / 24 на пиринговой точке, чтобы хосты, подключенные к пиринговой точке, могли связаться с вами напрямую, не выходя через Интернет (так как это будет рассматриваться как лучший путь).
Для сеансов BGP вы обычно фильтруете то, что вы рекламируете своим партнерам и то, что они рекламируют вам (если у вас есть одноранговые узлы), например, со списком префиксов. Обычно вы не будете фильтровать входящие сообщения от пирингового обмена, так как обмен будет отправлять вам только маршруты людей, подключенных к обмену. Это похоже на ваших транзитных провайдеров, за исключением того, что они обычно отправляют вам полную таблицу глобальной маршрутизации (все пункты назначения в Интернете).
В этой ситуации вы бы добавили список префиксов, соответствующий ACL в исходящем направлении сеанса BGP, подключенного к точке пиринга, чтобы объявить только свой префикс / 24, это позволит хостам на пиринговом обмене достигать только IP-адресов в вашем / 24 через ваш роутер (что вам и нужно).
Если кто-то объявляет вам маршрут по умолчанию, и вы принимаете его, вы не будете брать его трафик и отправлять его в Интернет. В этой ситуации вы увидите через них маршрут к Интернету, потому что ваш маршрутизатор увидит через них маршрут к 0.0.0.0/0 (Интернет), потому что они объявили его вам.
Единственное время, когда хосты, подключенные к пиринговому обмену, увидят Интернет через вас, если вы сами объявите маршрут по умолчанию на обмен. Единственный раз, когда вас могут использовать в качестве «транзитного AS», это если у вас есть клиенты, которые являются нижестоящими партнерами, и они просят вас объявить их IP-пространство IXP, чтобы они могли достичь обмена через вас.
источник