Учитывая два общедоступных IP-адреса и знания, которые находятся в одной и той же сети / 27, можно ли будет определить из удаленного местоположения (то есть из другой страны), принадлежат ли они одному или двум серверам?
Учитывая два общедоступных IP-адреса и знания, которые находятся в одной и той же сети / 27, можно ли будет определить из удаленного местоположения (то есть из другой страны), принадлежат ли они одному или двум серверам?
Ответы:
Нет, это не так, в общем случае.
Некоторые дополнения, чтобы порадовать наших гостей из ТАКОГО:
Любопытно, почему. Опасения по поводу машин с двойным подключением обычно локализуются как головная боль некоторых неназванных сисадминов. Детали должны быть скрыты моделью OSI.
Ориентированный на Linux ответ впереди.
Есть несколько способов создать отпечатки пальцев и сделать образовательное предположение.
nmap -o и nmap с приличным сканированием портов. Серверы не всегда связываются с обеими сетевыми картами. Но много раз они делают.
MAC-адреса. Если у вас есть какие-либо средства для получения MAC-адресов, производители предпочитают использовать последовательные адреса для интегрированного оборудования. Два почти идентичных MAC-адреса - это, скорее всего, одна и та же материнская плата. Конечно, это не относится к картам послепродажного обслуживания.
Приветствую. Telnet, ftp, smtp и т. П. Предлагают идентификационную информацию. Посмотрите, работают ли эти сервисы, предложите достаточно четкой информации. Баннеры, скорее всего, редки сегодня, но все же стоит попробовать.
Тест NIC независимого поведения. Например, попробуйте отключить запрещающие хосты, предоставив фиктивную аутентификацию для ssh дюжину раз. Если deny hosts сработал, вы должны обнаружить, что сокет закрывается немедленно при следующей попытке. Посмотрите, происходит ли это и для другого IP.
A / 27 net это ... что, 29 хостов? Я бы сказал, что шансы идентифицировать машину с двумя домами с высокой достоверностью очень малы, может быть, 5%. Но, учитывая так мало хостов, вы можете сделать обоснованное предположение.
Веселый вопрос для интервью. Я могу украсть это на самом деле.
Теоретически вы можете дать значимый уровень доверия в большинстве случаев. Есть несколько предостережений, которые делают это намного сложнее на практике.
Я собираюсь перекрывать другие ответы, и я, вероятно, пропустил материал, но это, по крайней мере, подробное рассуждение о том, почему эти конкретные биты имеют значение или нет.
Во-первых, забудьте все мысли о MAC-адресах. Если у вас нет прямого доступа к сетевому сегменту, вы не сможете их увидеть.
Также не доверяйте сканированию портов. Порты брандмауэра тривиальны только для определенных IP-адресов, программное обеспечение прослушивает только определенные IP-адреса или имеет систему IDS / IPS, которая применяет фильтрацию при обнаружении сканирования. Все это испортит ваше тестирование.
Итак, способ, которым вы можете сказать, прост: вероятность того, что два прямоугольника будут абсолютно идентичными, мала, если они не связаны каким-либо другим образом. Итак, на самом деле вы пытаетесь доказать, что они разные, а не пытаться доказать, что они одинаковые.
Пинг. Вам нужно тестировать одновременно и делать много тестов. Оказывается, что, несмотря на то, что во время работы сети наблюдается джиттер, это достаточно высококачественный псевдослучайный шум, если у вас достаточно выборок в небольшом временном интервале, шум усредняется достаточно, чтобы дать вам точное сравнение.
Каждый переход уровня 2 в сети добавляет крошечную задержку, разные уровни перегрузки дают разные значения задержки. Если два IP-адреса показывают существенно различную задержку, то вы можете предположить, что они, вероятно, не совпадают.
Предостережение 1: один сервер с двумя восходящими каналами (не связанными) и настроенный с различным IP-адресом на каждой восходящей линии связи может иметь достаточный дисбаланс восходящей линии связи, чтобы устранить это.
Сканирование портов. Порты назначения могут находиться в одном из трех состояний: прослушивание, закрытие, фильтрация. То, в чем они находятся, на самом деле не очень полезно, как отмечалось выше, но все еще есть полезная информация, которую нужно иметь.
Ящики с портами, открытыми на нескольких IP, скорее всего, будут работать с одним и тем же программным обеспечением на всех IP. Можно запустить, скажем, nginx на одном IP и apache на другом, но большинство людей не беспокоятся. Отпечатайте сервисы, запущенные для поиска сходства. Посмотрите, какое программное обеспечение и версию он рекламирует сам, какие опции он поддерживает, какое имя хоста (если оно есть) рекламируется, есть ли какие-то особенности в поведении программного обеспечения, и тому подобное.
Веб-сервисы наименее полезны для этого, гораздо более полезны такие вещи, как SMTP (сложно смешивать и сопоставлять из-за поддержки sendmail, утечка большого количества информации), SNMP (информационная шахта), SSH (кто запускает несколько демонов SSH? ) и HTTPS (если вам повезло, и они используют одно и то же программное обеспечение, вы можете проверить различия в конфигурации SSL, идентичный, но необычный конфиг является хорошим индикатором). Раньше NTP был хорошим тестом, но теперь его трудно заблокировать из-за его интенсивного использования в качестве усилителя DoS, SNTP не совсем точен для курящего пистолета в той же степени.
Слой 3 снятия отпечатков пальцев. Основной способ снятия отпечатка пальца с ОС - это странная реализация TCP / IP. Точные подробности слишком длинны, чтобы вдаваться в них, но по существу метаданные пакета пропускают много информации, как и то, как закрытый или отфильтрованный порт реагирует на соединение и как ведет себя хост при получении искаженных пакетов. Хотя эти характеристики не являются определенным признаком того, что работает, разумно гарантированно, что они близки к одинаковым для каждого IP-адреса, связанного с конкретным стеком TCP / IP. Значительно разные системы должны иметь существенно разные характеристики.
Предупреждение 2: Два бокса, на которых установлены одинаковые исправления ОС и вендора, скорее всего, будут выглядеть одинаково. В Windows две копии одной и той же версии Windows с автоматическими обновлениями будут практически неразличимы, если на них не работают разные брандмауэры. В Linux различия, скорее всего, связаны в основном с тем, какая версия ядра и какие опции поставляются. Этот тест может дать только высокую вероятность того, что два IP-адреса не находятся в одной ОС.
Переиграйте атаки. Открыв список портов на обоих IP-адресах, выполните идентичные действия для каждого IP-адреса и найдите расхождения в поведении. Такие вещи, как тайм-ауты, сообщения об ошибках, пределы повторных попыток и т. Д. Некоторые программы сложнее или реже настраиваются на разные IP-адреса. Если вы знаете, что один IP-адрес принимает почту для определенного домена, проверьте, принимает ли другой IP-адрес также почту для этого домена.
Предостережение 3: Это данные более низкого качества, чем часть теста 2, посвященная дактилоскопии, потому что этот материал проще настраивать по-разному на разных IP-адресах, и возможны все виды скрытого взаимодействия. Высокая вероятность ложных результатов делает мало уверенности в этих результатах.
Как я уже сказал, основная теория заключается в том, что разные хосты, вероятно, будут разными конфигурациями, и это приводит к утечке информации.
Это не объясняется тем, что гораздо сложнее определить, является ли один и тот же сайт, работающий на двух IP-адресах, одним и тем же сервером или двумя серверами, настроенными на избыточность. Это также не учитывает системных администраторов, которые управляют конфигурацией, чтобы поддерживать их системы очень похожими. Он также не учитывает хосты, которые DNAT используют несколько сервисов, работающих на разных хостах, с одним IP-адресом.
Технология виртуализации добавляет некоторые странные ключи в работу. Контейнерные системы, такие как Docker, совместно используют достаточно стека, чтобы отдельные контейнеры выглядели более похожими, чем они могли бы быть на самом деле. Виртуальные сетевые интерфейсы, соединенные с физическими сетями, невозможно отличить от физически отдельного оборудования, но это не так, в основном из-за того, что мост является программным и, следовательно, пакеты должны проходить через стек IP хоста.
Есть много способов запутать людей, пытающихся проверить на повторяемость. Лучшее, на что вы можете надеяться, - это модель с низким запасом сомнений.
Мораль этого для людей, работающих на серверах, заключается в том, что вы должны настроить свои серверы так, чтобы они пропускали как можно меньше информации:
Отверните информацию баннера, насколько это возможно. Чем меньше атака знает о вашей конфигурации, тем лучше для вас.
Программное обеспечение принимает подключения только по IP-адресу, на котором оно должно обслуживаться, и только при необходимости. Если он не должен быть доступен извне, сделайте его привязанным только к localhost. Уменьшение поверхности атаки всегда хорошо.
Если вам абсолютно необходимо что-то слушать, и вы хотите избежать корреляции между двумя IP-адресами, постарайтесь свести к минимуму необычные параметры. Вы хотите, чтобы это гармонировало.
Брандмауэр работает с политикой удаления по умолчанию. Я думаю, что может иметь значение установка IDS, которая реагирует на злоумышленников случайными ответами, шум мешает злоумышленнику доверять их результатам, но в результате вы выделяетесь.
Модули случайной задержки бесполезны для предотвращения временных атак. Нет, правда. Выберите случайное число, затем бросьте кубик несколько раз, записав результат плюс число, которое вы выбрали в начале. В результате вы получите диапазон с фиксированным смещением. Если подставлено случайное число, диапазон перемещается. Если диапазон изменяется, смещение остается тем же самым, и это просто вопрос повторения процесса выборки, чтобы получить новую базовую линию.
Нормализаторы стека IP существуют, но в прошлый раз, когда я смотрел, это была пренебрегаемая часть исследований безопасности. Вероятно, это был бы хороший рынок для инвестирования в систему безопасности.