我正在部署一个测试版 ASP.NET 应用程序,并希望将 HTTP 访问限制为几个选定的 IP。考虑到我们环境的配置,对我来说,实现此目的的最简单方法是通过 Web 服务器本身的某种形式的 IP 白名单。这可能会对性能、配置产生影响,甚至可能产生更多影响,具体取决于哪个进程负责在机器上处理此问题。
最好在 IIS、Windows 防火墙或其他替代方案中配置接受的 IP 地址吗?
答案1
您可以使用 IP 限制。
打开 IIS 管理器 > 在 IPv4 地址限制下
单击“允许”以允许 IPv4 地址或 IPv4 地址范围连接到管理服务。
在添加允许连接规则对话框中 > 单击特定 IPv4 地址,然后在框中键入 IPv4 地址。
要允许 IP 地址范围,请单击 IPv4 地址范围,在框中键入 IPv4 地址,然后在子网掩码框中键入子网掩码。在操作窗格中,单击应用,然后单击开始。
答案2
另一个选择是交换机或路由器上的访问列表,具体取决于这些源 IP 所在的位置。
我总是倾向于在一些网络设备(交换机、路由器、硬件防火墙)上做这种事情,我过去知道有人使用 Windows 防火墙应用了类似的限制,但后来另一位技术人员通过 GPO 禁用了所有服务器上的 Windows 防火墙,它就变得毫无用处了。
答案3
您可能应该在防火墙中设置它,而不是依赖 IIS 来通过 IP 地址进行过滤。