如何保护我的 IP 免受欺骗或保护?
Posted
技术标签:
【中文标题】如何保护我的 IP 免受欺骗或保护?【英文标题】:How can I secure my IPN from bieng spoofed or secured? 【发布时间】:2020-11-17 16:51:05 【问题描述】:我有一个 Paypal 的 IPN。 我有一个使用 express 框架的简单 NodeJS 服务器。 我有一个简单的 PayPal IPN 处理程序 url 的后包装器。
我有一个简单的 IP 地址检查来检查 POST 请求是否来自 PayPal。
我的问题是,如果有人伪造 IP 地址并向 IPN 处理程序发送 POST 请求,他们会影响我的后端系统,因为 IPN 处理程序具有根据 POST 数据确定的功能。
我怎样才能使它更安全?
谢谢。
【问题讨论】:
【参考方案1】:防止 IP 欺骗不是您可以在服务器端做的事情。您可以做的可能是实施机制来评估 IP 是否有效并查看它的潜在来源。之后,您可以将 IP 本身限制为您可以接受的解决方案。
欺骗部分是客户端,这意味着如果客户端使用代理,例如,他可以通过它欺骗 IP,而您将无法立即分辨。
查看这篇简短的文章,了解一些总体思路 (https://www.kaspersky.com/resource-center/threats/ip-spoofing)
【讨论】:
谢谢伙计。文章没有提到任何应对欺骗的具体技术,只是给出了笼统的思路和解决方案。 实际上它确实提到了分析它的方法。您无法阻止用户尝试欺骗它。处理的方法是通过复杂的网络分析异常事件,比如如果你 99% 的用户来自欧洲,但突然你有一个来自马达加斯加的 IP。 问题是我使用的是 IPN,并且我检查了 IP 地址是否为 PayPals。有人可以使用带有 POST 数据的函数来欺骗 PayPal 的 IP 地址并操纵我的数据库。 在这种情况下,我想说最简单的做法是设置安全措施,只允许来自该 IP 地址的有效数据。不要以为即使支付宝也会给你正确的数据。如果他们改变了他们这边的一些东西,你希望能够毫无问题地抓住它。对这些数据进行验证既满足了安全需求,也满足了 paypal 的集成需求。不过,这可能会解决这个问题。【参考方案2】: IPN 是一项非常古老、非常笨拙的服务。你可能不应该使用它。总是有更好和更可靠的方法来完成您尝试使用 PayPal 执行的任何操作,包括同步 server-side capture 或仅在某些异步通知需要时使用 Webhooks 但是,如果出于某种奇怪的原因,您坚持将这种旧服务集成为支付依赖项,则其架构具有内置的验证步骤,您可以将 IPN 消息发回 PayPal 以进行验证。见https://developer.paypal.com/docs/api-basics/notifications/ipn/IPNIntro/#ipn-protocol-and-architecture【讨论】:
以上是关于如何保护我的 IP 免受欺骗或保护?的主要内容,如果未能解决你的问题,请参考以下文章