我们有一个 Web 服务,我们正尝试在生产中对其施加访问限制。此 Web 服务位于基于 LAN 的内部服务器上。它由位于同一服务器上的 Web 应用程序和位于 DMZ 服务器上的 Web 应用程序调用。这是我们想要授予此服务访问权限的唯一两个地方。即 Localhost(127.0.0.1 IP)和 DMZ 服务器的 IP。
在 IIS 7.5 中,我已将功能设置设置为Deny
针对未指定的客户端。然后输入两个类似于以下内容的允许条目:
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site" -section:system.webServer/security/ipSecurity /+"[ipAddress='127.0.0.1',allowed='True']" /commit:apphost
有两个 IP 地址。对于实际服务器,我尝试了 127.0.0.1 和服务器的实际 IP - 两者都没有区别。我还通过命令行和 IIS 管理器输入了这些。同样,两者都没有区别。
此设置允许从 DMZ 进行访问,但不允许从本地主机进行访问。
但是,如果我选中复选框Enable domain name restrictions
,则使用服务器 IP 进行反向查找nslookup
,并为该域添加允许条目。这样就可以了。但是,正如选中此框时出现的警告所述,这是一个成本更高的选项,因为每个传入请求都需要反向查找。
如果重要的话,这些都是对 Web 服务的 HTTPS 调用,但我不怀疑它有重要意义。
我肯定做错了什么,但我不知道?任何帮助都非常感谢。
答案1
答案2
只需使用 Windows 防火墙来配置谁被允许连接。
- 将 IIS 设置为“默认”并删除所有限制
- 确保不允许端口 80 或 IIS 服务器的传入流量。
- 为 DMZ 的 IP 创建 FW 规则。
https://www.howtogeek.com/112564/how-to-create-advanced-firewall-rules-in-the-windows-firewall/