我有一个网络服务器设置微软 Azure并且它有一个与之关联的域名,如www.example.com
。此 Web 服务器非常关键,我不希望除 1 或 2 人之外的任何人知道确切的 URL 或 IP。我认为直接访问此 Web 服务器将带来巨大的安全威胁,并希望阻止我的员工直接访问它。
为什么需要限制?
- 防止直接访问
- 我不希望我的员工在办公室外访问我的网络服务器。
即使应用了这些限制,我仍然希望有一两个人能够直接访问此网络服务器(以防出现任何紧急情况)。
我的想法
在我的办公室设置反向代理。允许员工访问我的 Web 服务器,就像 Web 服务器位于我们的本地网络上一样。
因此,当用户输入
172.16.10.1 <---> Reverse Proxy <---> www.example.com
我不确定我计划做的事是否可行。如果您有其他想法,请告诉我。
目前我还没有设置阻止直接访问。我还没有尝试任何操作。
编辑
我无法使用 IP 限制对我的 Web 服务器的访问(还有其他原因)
答案1
我无法使用 IP 限制对我的 Web 服务器的访问(还有其他原因)
隐蔽式的安全措施从来都行不通。许多敌对实体不断在互联网上扫描(易受攻击的)主机,因此即使你没有在某处发布确切的 URL 或 IP 地址,它仍然可以被找到(而且由于你使用的是公共云,因此将要被发现)。
因此,当用户输入
172.16.10.1 <---> 反向代理 <---> www.example.com
我不确定我计划做的事是否可行。如果您有其他想法,请告诉我。
您只是试图解决如何向内部用户公开您的服务,而根本没有解决您的安全问题。
除非在网络级别进行限制,否则没有办法解决这个问题,这仍然是使用位于公共云的资源的最佳方法。
答案2
如果只有少数人可以访问服务器,那为什么要将其放在公共互联网上呢?试图隐藏域名和 IP 地址并不能阻止自动攻击随机通过所有公共 IP 地址进行。有关绝密域名的信息也有可能泄露。对于关键服务来说,这不是一种合适的方法。
当然,您可以使用防火墙仅允许来自办公网络的公共 IP 地址的连接,但 Azure 有一个更好的选择:使用Azure 虚拟网络服务器根本不需要有公共 IP 地址。相反,可以使用私有 IP 地址通过站点到站点 VPN 从办公室 LAN 访问服务器。这使得云上的虚拟服务器就像您拥有本地服务器一样。
答案3
您可以朝两个方向移动:
- 设置防火墙,仅允许端口 80/443 上的出站流量流向选定的 IP 范围
- 从网络服务器设置基本身份验证。
- 设置 VPN:通过 VPN 代理你的网络流量
第二种解决方案是基于密码的,因此每个需要获得访问权限的用户都需要使用 user:pass 进行身份验证(不需要数据库)。
对于第一个解决方案,如果不允许与服务器交互(基于防火墙),则任何人都无法连接
答案4
您可以将 DNS 更新为 c-name 记录,并使用应用程序层负载均衡器(如应用程序网关)重定向到它。