客户端和服务器程序运行在同一台 Windows 7 计算机上。我可以通过端口管理限制对服务器的访问吗?

客户端和服务器程序运行在同一台 Windows 7 计算机上。我可以通过端口管理限制对服务器的访问吗?

我在跑步Windows 7的- 64 位。
我有一个程序可以在客户端服务器模式,这是:事实上,两个程序在同一台 Windows 计算机上运行的客户端和服务器。
客户端建立沟通通过 7070 TCP 端口与服务器连接。

但有一个问题:服务器程序运行在提升模式,客户端程序向其发送命令以执行。因此,任何能够执行客户端程序的人都可以执行管理程序(在某些情况下是一个很大的安全漏洞)将它们发送到服务器。

服务器程序监听,如上所述,端口 7070 TCP

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

它只监听来自本地机器,因此上面一行的内容改为127.0.0.1:7070而不是0.0.0.0:7070

有什么办法只允许某些用户或群组可以连接到它吗?我不知道这是否是防火墙的问题,因为严格来说,我的 LAN 中没有网络流量。

注意:对于有兴趣的人,是确切的程序。我正在开发几种针对此安全漏洞的解决方法(完成后我可能会在 StackOverFlow 论坛上发布),但它们都无法解决网络端口问题。

答案1

简短回答:不。

较长的回答:您似乎在询问限制谁可以连接到 TCP 端口本身,而这远远低于您甚至拥有“用户”、“身份验证”和“授权”等概念的级别——所有这些都是您需要获得所要求的东西。在这个级别上,您只有计算机和网络。

如果您的应用程序具有任何类型的身份验证机制,那么这就是此类事情发生的地方。

在此级别上要做的是限制可以通过防火墙连接到该端口的 IP 地址或 IP 范围。这可能实现相同的最终目标,但它不是基于“用户”或“组”,而是基于他们连接的“位置”。

或者,您可以配置一个仅允许授权用户连接的 VPN,然后仅允许该 VPN 上的用户连接到您的程序。如果您要采用这种方式,则需要通过 Google 搜索一些设置指南,因为“如何配置 VPN”超出了此类简单问答网站的范围。

相关内容