Programa cliente e servidor sendo executado no mesmo computador com Windows 7. Posso restringir o acesso ao servidor por meio do gerenciamento de portas?

0

eu estou correndo Windows 7 - 64 bits
Eu tenho um programa que funciona em servidor cliente modo, isto é: há, de fato, dois programas (um cliente e um servidor) que é executado no mesmo computador Windows.
O cliente estabelece comunicação com o servidor via porta TCP 7070.

Mas há um problema: o programa do servidor é executado modo elevado e o programa cliente envia comandos para serem executados. Então, qualquer pessoa capaz de executar o programa cliente poderia executar programas de administração (uma grande falha de segurança para alguns casos), enviando-os para o servidor.

O programa do servidor escuta, como dito, porta 7070 TCP :

C:\>netstat -ano | find "7070" /i
  TCP    127.0.0.1:7070         0.0.0.0:0              LISTENING       9804

Apenas escuta as conexões do máquina local , então a linha acima diz 127.0.0.1:7070 ao invés de 0.0.0.0:7070.

Existe alguma maneira de permitir apenas certos usuários ou grupos para se conectar a ele? Não sei se isso é um problema de firewall, porque não há, estritamente, tráfego de rede em toda a minha LAN.

NOTA: para alguém interessado, isto é o programa exato. Estou desenvolvendo várias soluções alternativas para essa falha de segurança (que possivelmente postarei no fórum do StackOverFlow quando terminar), mas nenhuma delas funciona com a porta da rede.

Sopalajo de Arrierez
fonte

Respostas:

1

Resposta curta: Não.

Resposta mais longa: parece que você está perguntando sobre como restringir quem pode se conectar à própria porta TCP, e isso está bem abaixo do nível em que você tem conceitos como "usuários", "autenticação" e "autorização" - todas as coisas que você precisa obter o que você está pedindo. Neste nível você tem apenas computadores e redes.

Se seu aplicativo tiver algum tipo de mecanismo de autenticação, esse é o lugar para esse tipo de coisa.

O que você posso fazer neste nível é limitar os endereços IP ou intervalos de IP que podem se conectar a essa porta através do seu firewall. Isso pode atingir o mesmo objetivo final, mas não se baseia em "usuários" ou "grupos", mas sim em "onde" eles estão se conectando.

Como alternativa, você pode configurar uma VPN que permita que apenas usuários autorizados se conectem a ela e permitir que somente usuários da VPN se conectem ao seu programa. Se essa for a rota que você deseja seguir, será necessário usar alguns guias de configuração no Google, pois "Como configuro uma VPN" está além do escopo de um site de perguntas e respostas simples como este.

Kromey
fonte
Você está certo, @Kromey, isso é apenas uma questão de restringir quem pode se conectar à própria porta TCP. Eu mudei a descrição do problema (e até mesmo o título) para ajudar a entender o problema. Obrigado. Eu estava pensando que, desde que existam programas que relatem qual usuário e qual programa está usando qual porta e programas para matar outro processo, haveria uma mistura disso. Eu acho que vou perguntar no SoftwareRecs melhor.
Sopalajo de Arrierez