O firewall McAfee bloqueia somente localhost em subprocesso

2

Esta é uma questão relacionada à programação, mas pareceu mais apropriada para o SuperUser do que para o StackOverflow.

Instalei o McAfee (uma versão de teste do LiveSafe - Internet Security) no meu PC. Eu estou executando um programa em Python que usa CherryPy para configurar um servidor web em localhost (127.0.0.1). Eu tenho um programa separado na mesma máquina que envia solicitações para o programa CherryPy.

Esta comunicação do host local falha (veja o log abaixo) quando o firewall da McAfee está ativado e funciona quando está desligado.

No entanto , quando executo o servidor CherryPy como seu próprio aplicativo (por exemplo, inicie-o a partir de um prompt cmd), as coisas funcionam mesmo com o firewall ativado. Mas quando eu deixo meu programa principal lançar o .exe CherrPy / Python como um subprocesso (que é como o meu aplicativo normalmente funciona - o aplicativo principal "navegador" inicia o aplicativo CherryPy como um subprocesso) ele faz não funciona .

Então, para resumir:

  • Meu aplicativo precisa executar esse servidor CherryPy como um subprocesso.
  • Quando o firewall da McAfee está ativo, ele bloqueia a comunicação do host local entre o meu aplicativo principal e o subprocesso.
  • Mas quando executo o CherryPy e meu aplicativo principal como seu aplicativo de nível superior, tudo funciona.
  • Tentei fazer as alterações óbvias no painel de controle da McAfee para permitir uma exceção para os nomes dos meus programas (o aplicativo principal e o aplicativo do servidor CherryPy) e a porta única que eles usam para se comunicar (56677), mas não t ajuda.

Eu fiz algumas leituras nos blogs da comunidade da McAfee, e vejo que tem havido uma longa história em relação à questão de bloquear ou não bloquear o host local. E também vejo algo sobre "spoofing de processo". Por isso, estou tentando entender por que ele bloqueia o subprocesso e se há uma maneira de (a) configurar o McAfee para não fazer isso enquanto ainda está deixando o firewall ativado ou (b) iniciar meu processo de uma maneira diferente que impeça essa disciminação do subprocesso (estou usando a API do Win32 CreateProcess() para ativá-la - talvez ShellExecuteEx() daria resultados diferentes?).

Abaixo está o registro CherryPy mostrando que ele não foi iniciado.

[14/Aug/2015:19:45:39] ENGINE Bus STARTING
[14/Aug/2015:19:45:39] ENGINE Set handler for console events.
[14/Aug/2015:19:45:39] ENGINE Started monitor thread 'Autoreloader'.
[14/Aug/2015:19:45:39] ENGINE Started monitor thread '_TimeoutMonitor'.
[14/Aug/2015:19:47:20] ENGINE Error in 'start' listener <bound method Server.start of <cherrypy._cpserver.Server object at 0x02547250>>
Traceback (most recent call last):
  File "cherrypy\process\wspbus.pyc", line 205, in publish
  File "cherrypy\_cpserver.pyc", line 168, in start
  File "cherrypy\process\servers.pyc", line 177, in start
  File "cherrypy\process\servers.pyc", line 233, in wait
  File "cherrypy\process\servers.pyc", line 459, in wait_for_occupied_port
IOError: Port 56677 not bound on '127.0.0.1'
    
por M Katz 15.08.2015 / 06:03

0 respostas