如果 IP 地址不是“秘密”,IP 地址白名单是不是有用?

Posted

技术标签:

【中文标题】如果 IP 地址不是“秘密”,IP 地址白名单是不是有用?【英文标题】:Is IP address whitelisting useful if the IP address is not "secret"?如果 IP 地址不是“秘密”,IP 地址白名单是否有用? 【发布时间】:2019-01-08 11:07:00 【问题描述】:

我正在开发一个可以访问用户提供的 API 密钥的应用程序。该应用程序代表我们的用户进行 API 调用。

我们使用的 API 允许用户将可以使用其 API 密钥的 IP 地址列入白名单。我正在考虑告诉我们的用户将应用程序的 IP 地址列入白名单,以增加一层安全性,以便只允许来自我们 IP 地址的请求。

但我了解到,欺骗 IP 地址相当容易,并且考虑到我将告诉我们的用户将哪个 IP 地址列入白名单(这意味着,坏人不必费力地查看哪些 IP 地址是有效的),我想知道这是否值得付出努力?

如果恶意行为者以某种方式获取用户 API 密钥,IP 地址白名单真的会增加任何有意义的安全层吗?或者这对于坏演员来说只是一个小小的不便?

谢谢!

【问题讨论】:

【参考方案1】:

向某人发送带有虚假源地址的数据包很容易,但要获得路由回您的响应要困难得多。换句话说,如果 API 需要在源和目标之间建立连接,则通过源 IP 限制访问非常有效。在 TCP 之上运行的所有东西都需要这样的连接。如果您的 API 使用 UDP(不太可能)并且没有验证请求来源的机制,那么它不会有太大帮助。

另外,您可能想尝试在这里问同样的问题 - https://security.stackexchange.com/

【讨论】:

以上是关于如果 IP 地址不是“秘密”,IP 地址白名单是不是有用?的主要内容,如果未能解决你的问题,请参考以下文章

win2008服务器 防火墙如何加ip地址的白名单

根据国家/地区重定向,但如果 IP 被列入白名单则允许

设置SSH登录IP白名单,过滤非法IP密码登录请求

批量屏蔽符合条件的IP地址,支持添加白名单,IP段,增量,大于指定次数的IP

如何将 AWS RDS 安全组中的 Zapier IP 地址列入白名单

我是不是需要将任何 IP 列入白名单才能使用 Mandrill API?