Как мне прервать разговор UDP от удаленного клиента к процессу локального сервера в Windows

393
Griffon26

У меня есть часть программного обеспечения UDP-сервера с закрытым исходным кодом, работающая в Windows, и я хочу иметь возможность запретить любые неправильно работающие клиенты, даже если сервер и клиент уже обмениваются данными.

Используемый протокол - UDP, поэтому на стороне сервера нет сокета, специфичного для этого клиента, который я мог бы закрыть с помощью чего-то вроде TCPview или currports.

Я пытался заблокировать соединения с портом сервера и с него с помощью брандмауэра Windows в режиме повышенной безопасности, но если во время блокировки связь продолжается, разговор не прерывается. Согласно документам по фильтрации с отслеживанием состояния все UDP-пакеты, которыми обмениваются два хоста, являются частью одного потока и будут продолжать авторизоваться, пока не произойдет изменение политики. В журнале событий я подтвердил, что добавление правил в брандмауэр приводит к событию 5447 изменения политики и что мои фильтры находятся на требуемом уровне FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V4. Так почему же это не останавливает общение?

Если вышеупомянутый маршрут не вариант, есть ли другой способ, о котором я не думал? Это не должна быть существующая программа, я готов написать код для нее сам.

0
UDP - это протокол без сохранения состояния. Простая блокировка порта для определенного IP-адреса - это все, что нужно, и последствия должны быть незамедлительными. Appleoddity 5 лет назад 0
@Appleoddity Это относится к брандмауэру без сохранения состояния, но в брандмауэре без сохранения состояния вы не сможете заблокировать весь входящий трафик и все же сможете получать ответы на исходящий трафик. Вот почему брандмауэры с отслеживанием состояния отслеживают соединения; [разрешен входящий трафик, связанный с исходящим трафиком] (https://en.wikipedia.org/wiki/Stateful_firewall#Description). В моем тесте с брандмауэром Windows я видел, что даже соединение, которое было инициировано извне, не будет разорвано, когда будут установлены правила блокировки для обоих направлений. Griffon26 5 лет назад 0
Изменение политики может относиться к локальной политике безопасности. Затем посмотрите [эту статью] (https://www.ultimatewindowssecurity.com/securitylog/book/page.aspx?spid=chapter11) список событий, рассматриваемых как таковые. harrymc 5 лет назад 0

0 ответов на вопрос