Я читал, что блокировка порта может быть ложноотрицательной (ошибка типа II) из-за методов оптимизации TCP / IP. Правильный удар по порту, заданный клиентом, может быть прочитан сервером как неправильный.
Можно ли этого избежать, используя только порты UDP и / или ICMP, и, если да, может ли демон блокировки портов открыть неупомянутый порт TCP? Или UDP и ICMP подвержены подобному смешиванию пакетов?
Вы получите лучшие результаты, если будете цитировать свои источники информации; вы можете неверно истолковать данные, или есть дополнительные детали, которые изменят характер любого ответа, который вы получите.
Тем не менее, в общем, любое выбивание порта, независимо от механизма, может быть нарушено промежуточным активным устройством. Некоторые из них более чувствительны, чем другие, но если у вас есть что-то посередине, что может изменять пакеты, есть вероятность, что вас наступят. Разработайте свой порт-стук соответствующим образом.
Блокировка порта имеет множество ограничений, которые устраняются авторизацией одиночного пакета (SPA). Ограничения в блокировке портов обычно включают: атаки с повторением обычно просты, сервер PK может быть тривиально подвергнут DoS-атаке промежуточным устройством, подменяющим пакет на последний наблюдаемый порт, не может быть передано очень много данных (что затрудняет передачу встроить надежные средства защиты) и многое другое. Эти проблемы решает SPA, как реализовано "fwknop" (http://www.cipherdyne.org/fwknop/) и описано в этой статье: http://www.cipherdyne.org/fwknop/docs/SPA.html Отказ от ответственности: я написал статью и разработал fwknop, поэтому я явно предвзято.