Назад | Перейти на главную страницу

Просмотр трафика, предназначенного для серверов других людей в WireShark

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

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

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

Похоже, что wirehark перехватывает трафик, предназначенный для других клиентов, серверы которых подключены к той же части сети, что и мой.

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

Я предполагаю, что в этом случае другие клиенты также смогут видеть данные, поступающие на мой сервер. Помимо потенциальных проблем с конфиденциальностью, это наверняка упростит настройку ARP и позволит другим красть IP-адреса (и, следовательно, домены и веб-сайты)?

Казалось бы странным, что сетевой провайдер настроил бы сеть таким образом. Есть ли здесь более рациональное объяснение?

Переключатели работают так:

По умолчанию они работают как хаб; весь трафик уходит через все интерфейсы. Но как только приходит трафик входящий с заданным исходным MAC-адресом трафик, предназначенный для этого MAC-адреса, будет выходить только через этот интерфейс. Если данный MAC-адрес виден на нескольких интерфейсах, он будет отключен на обоих; возможно, со временем сбросится и выйдет только тот, трафик которого был замечен совсем недавно.

Это дефолт поведение. Это не единственное поведение для более дешевого оборудования, но управляемые переключатели можно настроить по своему усмотрению. Так что все возможно. Обратите внимание, что я ни разу не упомянул IP-адреса; Коммутаторы традиционно работают на уровне 2, а не 3. Дорогие управляемые коммутаторы могут стирать границу с маршрутизаторами, но традиционно они заботятся только о MAC-адресах. Однако плохая конфигурация может переопределить типичное поведение переключения и устранить любую изоляцию хоста.

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

Наконец, они могли использовать концентратор. Да, наверное, нет. Но просто говорю.

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

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

Я видел эту конфигурацию раньше, однако, не зная сети, это только предположение, но, скорее всего, это хостинг-провайдер.

Один из примеров - NLB http://technet.microsoft.com/en-us/library/bb742455.aspx однако я знаю брандмауэры Check Point в некоторых конфигурациях, а также множество других продуктов, которые делают то же самое.

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