Se você estiver executando um aplicativo da Web na porta 8080 e não quiser que usuários externos vejam o aplicativo, como você o bloqueia no Firewall do Windows?

1

Quando estou trabalhando no meu aplicativo em uma cafeteria, quero garantir que ninguém possa ver o aplicativo, que é executado em localhost:8080 .

Como você configura o Firewall do Windows para bloquear conexões externas ao 8080, mas ainda permite que você se conecte à porta em sua própria máquina?

    
por Corduroy 07.05.2011 / 17:08

3 respostas

2

Esta solução abaixo se aplica à maioria das versões de sites locais do Windows II.

Em geral, ninguém além de você pode acessar seu site local usando "localhost". Isso é um endereço de loopback que sempre aponta para o mesmo computador e para o site da II na caixa. Assim, se outro usuário tentasse usar esse endereço, ele apontaria de volta para seu próprio site padrão em seus IIs em sua caixa.

Mas ... Acho que sua pergunta é se alguém pode acessar sua instância de "website padrão" em sua caixa dentro de uma nova rede. Não com "localhost", mas sim, eles podem usar o seu IP local atribuído ou o nome do seu PC na rede, se eles pudessem ver também. Portanto, esta é uma questão muito esclarecida. Dê a si mesmo crédito por perguntar.

  1. Eles podem obter seu IP local na rede por meio de um ping ou outro meio. Eles podem usar esse IP e tentar a porta 80 ou 8080 se você adicionou isso.
  2. Eles podem ver o nome do seu computador e também permitirão que eles experimentem a porta 80 ou 8080 e vejam seu site padrão local em IIs. Exemplo: " link " funcionará de alguém dentro de uma rede. Então, sim, eles podem acessar seu site no seu computador dessa maneira se alguém puder ver o nome do seu laptop.

Para evitar tudo isso, faça o seguinte:

  1. Vá para o IIs no seu laptop ou PC (clique com o botão direito do mouse no meu pc e escolha "Gerenciar", em seguida, role em Serviços e Aplicativos). Escolha Serviços de Informações da Internet e, em seguida, procure o painel direito do seu site.
  2. Encontre seu site "padrão" atribuído dentro do IIs. Essa é a que, em geral, estará ouvindo as chamadas http de fora da sua caixa. Geralmente é chamado de padrão, a menos que você possa alterar seu nome. Nesse caso, veja abaixo a ligação do nome do host preto. Esse é o padrão.
  3. Clique com o botão direito do mouse no site na listagem em árvore e escolha "Editar vinculações"
  4. Nela, clique na entrada em branco da sua porta 80 e / ou 8080 para http e / ou https, se usada.
  5. Deve estar em branco sob o nome do host e "todos não atribuídos" para o IP. Isso significa que seu site padrão enviará ao navegador do usuário qualquer resposta onde tenha sido digitada na barra de endereço do navegador, o nome da rede do PC ou o IP da rede local e a porta combp atribuídos a essa caixa. Não é bom!
  6. Clique para editar as entradas do nome do host em branco para que haja algum nome ou IP adicionado. Qualquer coisa menos em branco. Eu digitaria um dos seguintes: "localhost" ou "127.0.0.1" (endereço de loop back) na caixa nome do host. Você também pode atribuir loopbacks IPv6 ou nomes de texto personalizados. Mas você precisaria encontrar o arquivo de texto do Host armazenado na pasta do Windows nessa caixa e adicionar manualmente o IP de loopback e o novo nome a ele. Uma dor no traseiro. Então, apenas digite um dos dois itens apenas no nome do host e clique em salvar. Eu deixaria o IP como "todos não atribuídos", embora você também possa reduzir isso para um IP. Quando você explicitamente altera o nome do host para uma dessas entradas, isso é necessário para acessar o site no navegador. Localhost é o único endereço que será aceito agora para quem acessa seu site. Mas localhost irá falhar para todos, mas você, como isso aponta para a caixa local de usuários. Ao tornar isso explícito para o nome do host, o servidor não responderá mais ao seu IP de rede, nome ou qualquer outra coisa que não seja o host local, independentemente do IP que tentar. Eu prefiro usar o 127.0.0.1 para o nome do host, pois ele agora requer um IP explícito e substitui todos os IPs não atribuídos, e nenhum nome de texto funcionará agora. Mas cabe a você.
  7. Faça também essa alteração para a entrada da porta 8080. Eu suponho que você adicionou um nome de host em branco também.
  8. Verifique se você não tem entradas de IP do nome do host em branco na sua lista de ligações para as portas 80 ou 8080 e os protocolos http ou https.
  9. Lembre-se de reiniciar a instância do seu website ou IIs.

Você pode testar isso agora usando seu PC ou outro em sua rede e digitando seu PCName: 8080 ou seu NetworkIP: 8080 atribuído localmente em seu navegador. Experimente aqueles com porta 80 também. Nenhum vai funcionar. Você deve obter um 404 Not Found, onde antes alguém poderia digitar e ver seu site na rede de vários computadores. Não me pergunte por que a Microsoft construiu dessa maneira. Este sistema de host local tem sido assim há mais de quinze anos em IIs. Para mim, sempre foi uma bagunça complicada!

Antigamente, quando tínhamos vários servidores e sites na rede e queríamos maneiras rápidas de acessá-los e testá-los, usávamos apenas os nomes de computadores, portas ou vinculam as configurações de IPs nos IIs a nomes personalizados em arquivos host .

Boa sorte!

-Mitch Stokely

    
por 26.02.2015 / 11:52
0

As respostas para este questionam meu em Stackoverflow.com permite que você configure isso, no entanto, isso está usando o Apache em vez do IIS.

    
por 07.05.2011 / 17:26
0

O Firewall do Windows deve fazer isso automaticamente por padrão, a menos que você o abra explicitamente. Que talvez você tenha para quando você não está no café, mas os perfis de rede (Casa / Trabalho ou Público) ou o que você deseja usar. Se você tiver uma regra que permita acesso ao 8080, certifique-se de que ele esteja ativado apenas para Home / Work e não para Public. Supondo que você use Público ao se conectar a um ponto de acesso não confiável, o que obviamente deveria fazer.

    
por 07.05.2011 / 17:54