[NAT] направляет запросы в Интернет и обратно клиенту, который его запросил
верно, но в качестве пояснения о том, как это работает: NAT заставляет ваши частные IP-адреса выглядеть как общедоступные IP-адреса, обычно до того, как трафик покидает вашу сеть. Таким образом, Интернет не перенаправляет трафик на ваш частный IP-адрес. Сеть возвращает трафик на общедоступный IP-адрес, по которому вас видят.
Выпуск № 1:
Я думаю, если вы понимаете, как NAT работает в деталях, это поможет ответить на некоторые ваши вопросы. Наиболее типичной реализацией, которую я видел, является NAPT (трансляция на основе «Network Address Port»). Когда вы отправляете данные с частного адреса, маршрутизатор берет этот частный адрес и добавляет эту информацию в диаграмму / таблицу в памяти маршрутизатора. Маршрутизатор также выбирает номер порта TCP или UDP (возможно, выбранный довольно случайно) и отслеживает его в той же диаграмме / таблице. Затем маршрутизатор отправляет информацию в Интернет, используя общедоступный IP-адрес, и идентифицирует номер «порта источника» в качестве номера, который он выбрал. (И TCP, и UDP используют два номера портов: номер «источника» и номер «пункта назначения».) Когда пункт назначения (скажем, веб-сервер, прослушивающий TCP-порт 443), замечает трафик, идущий на TCP-порт 443 и поступающий с другого TCP-порта (например, TCP-порт 53874), на который сервер может ответить, отправив трафик обратно на открытый IP-адрес исходного маршрутизатора на том же самом TCP-порт (например, TCP-порт 53874). Затем маршрутизатор ищет информацию в своей таблице / диаграмме и знает, на какой частный IP-адрес отправлять информацию.
Если вы просто выбрали случайный частный IP-адрес, маршрутизатор не должен иметь этот частный IP-адрес в своей таблице / диаграмме, чтобы он не работал.
Я предполагаю, что есть еще один способ направить данные на правильный клиент, который происходит в маршрутизаторе / NAT, который не просто IP, но я не уверен, как это сделать.
Нет.
Я имею в виду, ну да, есть. Существует и другая маршрутизация, поэтому я просто быстро признаю это. Существует использование тегов 802.1q «VLAN» и других технологий, которые могут использоваться для некоторых облаков данных / сигнализации и могут повлиять на то, как трафик в конечном итоге проходит через сеть. Однако эти дополнительные методы маршрутизации обычно используются для обеспечения скорости, безопасности или совместимости (в основном с сетями, не относящимися к IP, например, в некоторых старых сетях внутри телефонной компании). Вам не нужно думать, что эти передовые методы работы на профессиональном уровне будут представлять новую и необходимую часть понимания того, как работает базовая маршрутизация, потому что базовая простая IP-маршрутизация может использоваться для объяснения того, о чем вы спрашиваете.
Проблема № 2: внутренняя защита маршрутизатора
Теперь давайте притворимся, что маршрутизатор не выполняет NAPT, поэтому мы просто будем игнорировать всю таблицу / диаграмму, которая сопоставляет общедоступные номера портов TCP / UDP с частными адресами. Давайте просто притворимся, что вы сидите у интернет-провайдера клиента и хотите злонамеренно отправить пакет через маршрутизатор на частные IP-адреса клиента.
Большинство маршрутизаторов, выполняя некоторые очень простые действия, подобные брандмауэру, заметят, что входящий трафик поступает на порт, помеченный как «WAN» (что означает «глобальная сеть»). Чтобы обеспечить некоторую защиту, маршрутизаторы должны понимать, что входящий трафик через этот сетевой порт должен использовать публичный IP-адрес маршрутизатора, а не какой-либо из общих «частных» диапазонов IP-адресов.
Таким образом, маршрутизатор будет защищать сеть, отбрасывая пакет.
Проблема 3: интернет-провайдеры защищают нас лучше
Стандарт для любого интернет-провайдера состоит в том, чтобы не допускать никакого трафика в или из диапазонов частных IP-адресов (которые являются диапазонами сетевых адресов, определенных в Разделе 3 IETF RFC 1918 для IPv4, или адресами, начинающимися с «fd» для IPv6).
Итак, если вы пытаетесь отправить трафик из вашего дома, через вашего интернет-провайдера, а затем через остальную часть основной интернет-магистрали интернет-провайдера, затем через интернет-провайдера жертвы, затем через маршрутизатор вашей жертвы и, наконец, на «частный IP» адрес по вашему выбору, то вы должны потерпеть неудачу. Это связано с тем, что интернет-провайдеры обычно следуют соглашению о блокировке трафика с использованием частных IP-адресов. (Интернет-провайдеры были бы сумасшедшими, если бы не делали этого.)
В приведенном выше сценарии защита не предоставляется провайдером целевой жертвы. Конечно, интернет-провайдер целевой жертвы, скорее всего, настроен так, чтобы отбрасывать пакеты, тем самым защищая маршрутизатор целевой жертвы. Однако ваш интернет-провайдер также может отбрасывать пакеты, поэтому пакеты даже не достигают провайдера целевой жертвы.
Проблема 4: Мотивация провайдера
Почему интернет-провайдеры сумасшедшие, чтобы разрешить трафик с участием частных IP-адресов?
Помните, что всем организациям разрешено использовать частные IP-адреса для своих внутренних сетей. Это включает в себя интернет-провайдеров. Ваш интернет-провайдер может использовать частную адресацию для некоторого локального оборудования интернет-провайдера. Вы не должны быть в состоянии заметить / обнаружить, делают ли они это или нет.
Маршрут трафика ISP заключается в том, что они полагаются на «таблицы маршрутизации», которые определяют, куда трафик должен идти дальше. Эти «таблицы маршрутизации» не указывают, какой другой провайдер будет рад получить трафик с личным адресом в качестве пункта назначения. Интернет-провайдеру некуда отправлять трафик, кроме как возможному для некоторого собственного внутреннего оборудования. Поскольку большой трафик, связанный с частными IP-адресами, вероятно, является вредоносным или иным образом проблемным (возможно, связан с трафиком, поступающим с устройства, которое настроено неправильно), интернет-провайдер, безусловно, не хочет, чтобы такой трафик передавался на его собственное внутреннее оборудование ( и, возможно, вызывает проблемы для интернет-провайдера). Поэтому интернет-провайдер захочет немедленно заблокировать пакеты, идущие на частный адреспрежде чем пропустить трафик через сеть провайдера.
Если интернет-провайдер нарушил эти правила, интернет-провайдер, скорее всего, будет приглашать вредоносный трафик, который, скорее всего, не окажет никакого влияния (кроме использования пропускной способности), но если бы он был, это, скорее всего, было бы плохо для провайдера.
Проблема 5: Что бы на самом деле произошло
До сих пор я объяснил, почему Интернет блокирует трафик. Но давайте посмотрим, что на самом деле произойдет.
Если вы сидите за компьютером и решили отправить вредоносный пакет на частный IP-адрес, что произойдет?
Если трафик достигнет вашего локального провайдера, этот локальный провайдер немедленно заблокирует трафик, как уже объяснено.
Однако, что действительно может произойти, так это то, что трафик не достигнет вашего локального интернет-провайдера. Вместо этого ваш локальный маршрутизатор выяснит, что делать с этим трафиком.
Если вы не используете один и тот же «частный» IP-адрес самостоятельно, то ваш собственный маршрутизатор, вероятно, не будет знать, что делать с трафиком, поэтому трафик будет отброшен.
В противном случае, если вы используете тот же «частный IP-адрес» самостоятельно, то, скорее всего, вы будете атаковать устройство в сети, в которой находитесь. Если вы являетесь администратором этой сети, то вы будете атаковать свою собственную сеть!
В любом случае ваш маршрутизатор вряд ли (при использовании стандартных конфигураций по умолчанию) будет передавать трафик через Интернет.
Обзор:
Все эти проблемы связаны с тем, почему Интернет не разрешает вашу атаку на частный IP-адрес. Если вы на самом деле находитесь в той же локальной сети, что и ваша цель, вам, возможно, даже не понадобится проходить через маршрутизатор, поэтому ни одна из этих защит не будет вам мешать. Однако, если вы находитесь в другом месте в Интернете, эти средства защиты, вероятно, будут препятствовать попытке совершить такую атаку.
Хотя вы можете нарушать определенные стандартные правила с (по крайней мере, некоторыми типами) маршрутизаторами, которые вы можете контролировать, другие организации также могут блокировать частные IP-адреса, тем самым эффективно предотвращая атаки на удаленные системы.