Вы должны знать это о переадресации портов и UPnP

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

Вы хотите иметь возможность подключиться к устройству из домашней сети, например к NAS, даже если вас нет дома? По умолчанию ваша домашняя сеть защищена таким образом, что это невозможно, потому что в противном случае злоумышленники также могут проникнуть на ваши сетевые устройства. Значит, придется настраивать параметры самостоятельно. Важно, чтобы вы знали, что делаете, чтобы случайно не ослабить безопасность своей сети. Также прочтите: Заполняется ли ваш NAS? Ты можешь это сделать.

01 Интернет-слои

Если вы хотите отправить что-то через Интернет из точки A в точку B, эти данные отправляются через несколько «слоев». Каждый уровень всегда предлагает дополнительные функции для отправки данных.

В самом низу находится физический уровень, на котором данные в виде сигналов передаются по кабелю или по беспроводной сети через Wi-Fi. Слой выше, у вас есть уровень, который отправляет данные по кабелю или Wi-Fi в виде единиц и нулей, а также проверяет наличие ошибок и, при необходимости, отправляет данные снова. На другом уровне выше у вас есть возможность отправлять данные между двумя сетевыми устройствами, что делается через MAC-адрес. Каждый уровень немного более абстрактный, внизу вы работаете с физическими единицами и нулями, а над ним - с пакетами между устройствами и адресами. Итак, у вас есть несколько слоев, каждый из которых всегда использует функции и абстракции нижележащего уровня.

Теперь предположим, что у нас есть текст «Привет, мир!» на наш домашний сервер. Сетевой уровень упаковывает текст и ищет маршрутизатор, который принимает пакет и может переслать его по пути к нашему серверу. Пакет проходит на один уровень глубже, пока не преобразуется в физические сигналы и не проходит по кабелю. В конечном итоге он поступает на наш сервер, который считывает данные. Теперь предположим, что сервер также отвечает пакетом с надписью «Hello, pc!». Этот пакет также проходит все уровни на пути к нашему компьютеру. Однако есть одна проблема. Пакет прибыл на наш компьютер, но как операционная система узнает, для какой программы он предназначен? Для этого есть ворота. Порт - это не что иное, как почтовый ящик для программы; где Windows,Linux или macOS могут доставлять данные, чтобы программа, для которой они предназначены, могла их получить.

02 Форвардные порты

Если у вас нет брандмауэра, доступ ко всем вашим портам открыт. Это нормально, потому что, пока никакая программа не открывает порт, ничего не может произойти. Кроме того, в Windows есть собственный встроенный брандмауэр. Если программа использует порт и брандмауэр позволяет это, любой компьютер в любом месте может позвонить на ваш IP-адрес с помощью этого порта и отправить на него данные.

По крайней мере, так обстоит дело в теории ... на практике это случай, когда у вас есть маршрутизатор, к которому подключено несколько ПК, ноутбуков и планшетов. Теперь предположим, что вы хотите отправить данные на свой компьютер где-то за пределами вашей собственной сети, тогда возникает проблема. Ваш маршрутизатор выполняет то, что называется NAT или преобразованием сетевых адресов. Это необходимо, потому что ваш интернет-провайдер дает вам только один IP-адрес для каждого подключения к Интернету, поэтому вы можете подключить к Интернету ровно одно устройство с этим одним IP-адресом. Маршрутизатор решает эту проблему, будучи единственным маршрутизатором, который напрямую подключен к вашему провайдеру и поэтому принимает этот IP-адрес, а затем распределяет IP-адреса на ваши собственные устройства.

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

Вы можете задаться вопросом, как Интернет вообще все еще работает в вашей сети. Когда вы посещаете веб-сайт, данные также отправляются туда и обратно, и эти данные просто поступают на ваш компьютер без настройки перенаправления портов. Это работает, потому что ваш маршрутизатор уже применяет переадресацию портов для соединений, которые вы устанавливаете изнутри, так что все пакеты приходят правильно, где они должны быть. Сама по себе переадресация портов не представляет угрозы для безопасности. Этот риск возникает из-за того, что приложение прослушивает этот порт. Предположим, вы перенаправляете порт X на ПК, который никогда не обновляете, тогда это серьезный риск из-за известных дыр в безопасности. Поэтому важно всегда поддерживать устройство в актуальном состоянии, когда вы перенаправляете на него порт.

03 UPnP

UPnP расшифровывается как Universal Plug and Play. Это позволяет устройствам в сети «видеть» друг друга. Каждое устройство может сообщать о себе в сети, что упрощает взаимодействие и взаимодействие устройств друг с другом. Одна из функций UPnP - разрешить устройству пересылать порты, поэтому вам не нужно делать это вручную.

Предположим, ваш Xbox хочет получать трафик на порт 32400, тогда устройство может автоматически запросить это у маршрутизатора, который затем создаст соответствующее правило и, следовательно, перенаправит весь трафик на этот порт на ваш Xbox с помощью IP или MAC- адрес. Однако UPnP представляет собой угрозу безопасности. Проблема в том, что UPnP не использует никаких форм аутентификации. Вредоносное ПО может легко открывать порты. Проблема в том, что UPnP можно использовать удаленно. Многие реализации UPnP от производителей маршрутизаторов небезопасны. В 2013 году компания сканировала Интернет в течение шести месяцев, чтобы увидеть, какие устройства отвечают на UPnP. Ответили не менее 6900 устройств, 80 процентов из которых были связаны с домашними устройствами, такими как принтер, веб-камера или IP-камера.Поэтому мы рекомендуем отключить UPnP на вашем маршрутизаторе. Наиболее важные выводы исследования можно найти в рамке «UPnP safe?»

UPnP Safe?

Основные выводы исследования безопасности UPnP, проведенного Rapid7.

- 2,2 процента всех общедоступных IPv4-адресов ответили на UPnP-трафик через Интернет, или 81 миллион уникальных IP-адресов.

- 20 процентов этих IP-адресов не только отвечали на интернет-трафик, но также предлагали доступный удаленно API для настройки устройства UPnP!

23 миллиона устройств используют уязвимую версию libupnp, широко используемой программной библиотеки, реализующей протокол UPnP. Утечки в этой версии можно использовать удаленно, для чего требуется только один пакет UDP.