5

Брандмауэр Windows 7 работает с параметрами по умолчанию, разрешающими исходящие подключения и блокирующими входящие подключения. У меня есть процесс, пытающийся регулярно подключаться из моей локальной сети, и это нормально. Когда работает программа, которая принимает соединение, все идет хорошо. Когда это не так, брандмауэр Windows 7 вызывает тайм-аут попытки подключения вместо отказа в подключении (как это и должно быть).

Я попытался создать правила, чтобы явно разрешить все подключения к этому порту, но время ожидания тем не менее. Мне интересно, блокирует ли брандмауэр пакет RST от отправки обратно? Полное отключение общего профиля приводит к отказу в соединении (как и ожидалось), а к правилу брандмауэра - нет.

Вот правила, которые я пробовал до сих пор без успеха:

Тип порта, TCP, Указанный порт 11211, Разрешить соединение, применить к Домену, Частному и Общему

Какие-либо предложения?

Примечание. Когда я говорю "отказано", я имею в виду ответ операционной системы на соединение, говорящий «извините, ничего не слушается». Проверьте это на своем локальном компьютере. Откройте командную строку и введите telnet localhost 60000 . Вы должны увидеть что-то вроде этого: Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused

Это соединение отказано. Операционная система "отклоняет" запрос, потому что (по крайней мере, в моей системе) ничего не прослушивает порт 60000.

Теперь попробуйте telnet example.com 60000 . Подождите. В конечном итоге вы увидите что-то вроде этого: Trying 192.0.43.10... telnet: connect to address 192.0.43.10: Operation timed out

Увидеть разницу? На сайте example.com нет хоста, который мог бы ответить "отказано", поэтому ваша локальная операционная система (например, не сервер) говорит: «Ничего нет, тайм-аут».

Очень разные. Проблема заключается в том, что брандмауэр Windows 7 не генерирует "отказ", как должно быть. Я хотел бы узнать, как это исправить.

1 ответ1

9

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

Вы можете отключить скрытый режим, изменив реестр, как описано здесь:

В Software\Policies\Microsoft\WindowsFirewall\DomainProfile, Software\Policies\Microsoft\WindowsFirewall\PrivateProfile, Software\Policies\Microsoft\WindowsFirewall\PublicProfile, Software\Policies\Microsoft\WindowsFirewall\StandardProfile добавьте REG_DWORD именем DisableStealthMode со значением 0x00000001

После этого вам нужно перезапустить службу брандмауэра Windows, чтобы изменения вступили в силу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .