Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
Запрос на функцию: Исправить UPnP, чтобы вручную добавленные правила учитывались., feature-request
 
Привет! Я заметил, что если у вас есть список вручную внесённых порт-форвардов (manual NAT) на некоторые серверы и порты внутри сети, они могут быть перезаписаны любым устройством с UPnP. Ваш уровень поддержки Tier 2 говорит, что это сделано специально.  

То есть, если вы вручную внесли порт-форвард в список с правилом для файрвола, соответствующим этому порт-форварду, эти порты должны быть недоступны для любого UPnP-устройства.  

В моей сети несколько сегментов, один из них для публичного использования, и иногда UPnP просто удобнее. Речь не о том, что безопаснее, а о том, должен ли UPnP иметь возможность перезаписывать вручную внесённые порт-форварды.  

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

формулировка первая (моя) — не давайте UPnP перезаписывать вручную добавленные правила  
формулировка вторая (waterside) — сделать список портов, которые UPnP должен обходить стороной.

Обе формулировки дают пользователю контроль над теми портами, которыми он хочет управлять полностью.
 
Учитывая, что мое последнее обновление было более чем за сутки до вашего ответа: вы вообще не удосужились прочитать сообщение перед тем, как отвечать? Серьезно: я дал вам предложение по нормальному запросу на функцию, а в ответ получил непрофессиональную атаку? На этом от меня всё. У вас есть предложение — решать вам, как дальше поступать. Можете продолжать топать ножками или принять во внимание предоставленную информацию, чтобы лучше достичь своих целей и решить свои проблемы.
 
Ты постоянно говоришь, что в других файерволах приоритет всегда у ручных правил, а не у UPnP. Было бы полезно привести конкретные примеры (например, указать производителя и конкретное решение файервола). Как я уже говорил, у меня такой опыт отсутствует, да и в целом это противоречит назначению UPnP (IGD/NAT-PMP) в общем. Это не связано конкретно с пользовательским интерфейсом. Вместо этого я предложил альтернативу — отправить запрос на добавление функции, которая поддерживала бы именно ту возможность в UPnP, созданную для решения твоей проблемы, что было бы правильным путём, а не менять ожидаемое и заранее известное поведение. Тебе решать — хочешь ли ты действительно найти решение или просто жаловаться и нападать на других.
 
У тебя явно проблема — ругаешь меня за то, что я не согласен с тобой. Как я уже говорил, исходя из моего опыта с разными фаерволами, вручную заданные правила имеют приоритет, а UPnP использует другие порты по необходимости. У меня есть оборудование, которому UPnP нужен для работы, и на любом другом фаерволе мои ручные правила имеют приоритет, но не на Ubiquiti. Так что можешь забрать свое мнение и пойти поиграть где-нибудь в другом месте. У меня есть обоснованная просьба, которую сотрудник Ubiquiti сказал оставить здесь как запрос на функционал. Я это сделал, не для того, чтобы читать твои нытья о своем идеальном мире...

Правка: В твоем последнем изменении, похоже, ты действительно понял, чего я хотел, только другими словами. То есть эти порты не должны быть доступны для UPnP, и по моему мнению, именно это я и писал. Тогда зачем сначала составлять список портов, которых UPnP должен избегать, а потом создавать правила для ручной переадресации портов? Почему нельзя сделать так, чтобы вручную заданное правило в фаерволе и переадресация портов были такими же, как и для UPnP, чтобы избегать этих портов?
 
Ты просишь кардинально изменить поведение, которое:  
- Нарушит существующие настройки, где правила UPnP должны иметь приоритет.  
- Будет отличаться от того, как UPnP работает во всех остальных местах.  
- Не так просто реализовать. Если ты спокойно об этом подумаешь, поймёшь почему.  

Например, с явными правилами NAT и файрвола — где именно должен находиться UPnP? Его обрабатывают первым специально.  

Если у тебя есть общее правило, которое блокирует конкретный трафик, то должен ли UPnP ломаться, если хочет этот трафик перенаправить? Если твой ответ "да", значит ты не понимаешь UPnP и его суть.  

Повторюсь: если ты не хочешь, чтобы устройство могло произвольно перенаправлять порты на твоём шлюзе, не используй UPnP. Это базовое правило, которое всем известно. Нельзя требовать сразу всё и так, как тебе хочется, независимо от того, насколько ты ощущаешь своё "право" на это.  

Речь не о том, что кто-то что-то не так понял. Я даже заметил, что, возможно, именно так ты считаешь, что должно быть, но это не то, как работает UPnP. Именно по этой причине UPnP часто считается небезопасным — все знают, что именно так оно и работает. Обычный совет при изучении вопроса — отключить UPnP, если не хочешь такого поведения. Это точно не уникально для Ubiquiti.  

Ты отказываешься понять правильное поведение в отношении UPnP. Твоё мнение, что поведение сломано, совершенно неуместно. Оно работает именно так, как задумано, и не сломано. Исправлять здесь нечего.  

[Редактирование]: Вместо того чтобы жаловаться на то, что "сломано то, что не сломано", лучше подай запрос на добавление в UniFi поддержки правил разрешений для UPnP. Тогда ты сможешь задавать запреты для нужных портов, и устройства не смогут их перенаправлять.
 
Ты просто не понимаешь: UPnP так не работает. Неважно, как ты хочешь, чтобы он работал или как думаешь, что он работает. Ты постоянно ссылаешься на другие шлюзы — поведение здесь такое же, с каким я сталкивался на многих других платформах, когда смешивают UPnP и ручные правила. Я не понимаю, почему ты думаешь, что BSD или Linux отличаются — это совсем не так, и в разных форумах обсуждают именно такое же поведение (другие тоже были удивлены). Ты слишком зациклен на UPnP, хотя видишь одно из его известных ограничений. Вместо того чтобы признать это, ты продолжаешь настаивать, что должно быть иначе. Исправлять тут нечего, потому что именно так и задумано работать при смешивании UPnP и ручных правил. Поэтому UPnP чаще всего и отключают. Ещё раз: если тебе не нравится такое поведение, просто отключи UPnP на проблемном устройстве или вообще на самом роутере.
 
Если устройство запрашивает порт 80, шлюз должен ответить, что он занят, и предложить порт 85 или 8070. Вот что происходит, когда 10 устройств одновременно запрашивают порт 80. Так почему же устройство не может уважать вручную добавленные правила, как это делают другие производители шлюзов? Если сделать файрвол на базе стандартного BSD или Linux, он работает именно так, так что только оборудование Ubiquiti ведёт себя иначе... И это совсем несложно реализовать. Если перезагрузить USG, UPnP начинает работать как надо, пока не запустишь новый UPnP. Тогда помогает только перезагрузка USG. То есть, если USG — последнее устройство, которое загружается, оно ведёт себя как ожидается. И, как я говорил в оригинальном посте, я не хочу обсуждать, что должно или не должно быть. Я попросил исправление, чтобы вручную добавленные правила соблюдались и не перезаписывались устройствами UPnP. Так сложно ли понять и прочитать это?
 
Порт к устройству не предлагает шлюз — именно устройство запрашивает у роутера перенаправление порта. Возможно, именно этот момент вы упускаете. Нет никакого «рукопожатия», и шлюз не «предлагает» какой-либо порт (зарезервированный или другой) — максимум, конечное устройство может запросить перечень уже перенаправленных портов (подсказка: большинство устройств этого не делает и не использует такую информацию).  

Именно конечное устройство запрашивает перенаправление порта, а роутер выполняет инструкцию этого устройства. Для справки, используемая реализация — это стандарт с открытым исходным кодом, применяемый в Linux, BSD и других системах, и поведение во всех них одинаково. Так работает UPnP (IGD). Возможно, вам это не нравится, но такая природа протокола.  

В вашем исходном сообщении вы упомянули, что обсуждение касается не безопасности UPnP, но именно этот момент — один из множества факторов, по которым UPnP не считается безопасным (иначе говоря, такое поведение известно и ожидалось, но не всегда желаемо).  

Хотя вам может хотелось бы, чтобы UPnP работал иначе — он именно так не работает и не предназначен для работы иначе. Пожалуйста, поймите разницу.  

Еще раз: если вы не хотите такого поведения, отключите UPnP на проблемном устройстве или вообще на роутере.
 
Я всё ещё считаю, что большинство других фаерволов, с которыми я сталкивался за последние 25 лет, не предоставляют зарезервированные порты для устройств UPnP. Это именно фаервол говорит: «У меня есть эти порты, можешь использовать их для UPnP-устройства». И, как я уже говорил, сейчас это не вопрос предприятия или дома. Если у вас есть камера, которая общается с внешним сервером, она хочет использовать порт 80, но так же хорошо работает и с портом 8042. Камера использует UPnP как часть рукопожатия с внешним сервером, чтобы сказать, на каком порту можно подключаться, этот порт она сообщает внешнему серверу. Но суть в том, что она через UPnP узнаёт, какой порт используется снаружи, и этот порт потом показывается в приложении на телефоне или клиенте.

Если у вас дом с несколькими комнатами в аренду для студентов и домашний офис, готовы ли вы настраивать все игровые приставки для всех жильцов, все ваши умные домашние устройства? Намного проще позволить нескольким сегментам использовать UPnP, но когда почта, VPN и другие сервисы перестают работать, потому что один пользователь включил свою PS5 или Xbox — вот тут и начинаются проблемы. Именно поэтому я считаю, что UPnP не должен предлагать зарезервированные порты и лучше разрешить использовать только те порты, которые нужны для других сервисов.
Страницы: 1
Читают тему (гостей: 1)