目前,我正在招聘一位将在处理信用卡的网站上工作的网络开发人员。虽然他没有登录支付网关UI的凭据,但他可以访问API登录和交易密钥,因为它嵌入在应用程序的代码中。

我想知道所有的“假设”。与该信息可能造成的损害类型有关的情景。显然,他可以处理信用卡,但钱会进入网站所有者的银行账户,所以我不确定可能造成多大的损失。任何人都可以想到任何其他可能的情况吗?

更新:正在使用的支付网关是Authorize.net。

有帮助吗?

解决方案

他们真的需要访问您的生产网站吗?

不要将密钥存储在代码中,将其存储在生产数据库中,也不要存储在生产服务器上的文件中。

其他提示

这里有一些好的答案,我只想补充说你可能在使用PCI时遇到麻烦。
PCI-DSS专门规定了职责分离,生产环境与开发/测试的隔离,加密密钥的保护以及不需要加密密钥的任何人等等。 正如@Matthew Watson所说,重新考虑这一点,并且不向开发人员授予生产访问权限。

顺便说一句,如果他可以直接访问API,您如何确保“资金进入网站所有者的银行帐户”?更不用说访问所有信用卡数据......

如果开发人员访问可能成为更大问题的原始信用卡号码,因为您的网站可能与欺诈活动相关联,假设开发人员是一个糟糕的苹果。 (他们可以将帐号,CCV,到期日期重定向到另一个站点,但这应该通过网络工具和全面的代码审查来发现。)

API是否执行“$ 1.00”收费(或“$ X.XX”)以验证信用卡可以收取一定金额(并因此将结果返回给呼叫者,例如“是”或“否”)?如果是这样,它可以用于自动验证互联网上交易的信用卡帐号,滥用此类系统可能会导致您回复。

对于我使用的任何网关,支付处理器将API密钥绑定到商家站点的特定IP或IP范围。话虽如此,除非有问题的恶意(?)代码在与商家相同的服务器上执行,否则在这方面不应该有任何安全问题。

如果您的商家网站不是这种情况,请与他们联系并询问是否可行。

支付网关是否允许撤销费用?如果是这样的话,可能会发生一些骗局。

网站流程是否退款?它将来会不会?

如果我们谈论的是恶意用途,那么如果进行了大量未经授权的购买,网站所有者可能会受到调查。如果对所有者进行调查,这将如何影响

根据您的描述,此开发人员似乎可以访问客户卡详细信息,在这种情况下,客户隐私可能会受到损害。您可以考虑对合同进行适当的措辞,以确保涵盖此角度。

然而,重点是,如果您正在处理敏感的项目/信息,那么最好找到您可以信任的人。雇用一个软件公司来完成这项工作可能会在以后为你节省一些时间。

首先,最好不要以纯文本格式存储此类信息。通常人们将此视为信用卡号码的二手知识(遗憾的是,仅仅是出于法律原因),但是您不希望其他具有数据库/源代码访问权限的私人数据应该被加密。您应该以良好加密的格式将帐户信息存储在某处,并且应该为开发人员提供一个测试帐户,以便在其开发工作站上使用。这样,只有具有服务器访问权限的人才能看到加密信息。

这样,您可以在开发人员的工作站上安装一个数据库,并在其本地数据库中存储(希望加密)测试帐户的API信息,但是当代码镜像到生产服务器上时,它仍将使用实时真实网关存储在生产服务器数据库中的信息,无需额外的代码/配置。

有了这个说法,我认为具有API身份验证细节的程序员不会做太多。无论哪种方式,在我看来,这不值得冒风险。

希望得到这个帮助。

PS:如果最终发生了一些不好的事情,你可以在采取预防措施之后在authorize.net上的网络界面中生成一个新密钥,以确保它不会再次发生。

在Authorize.Net的特定情况下,他们无法对自己的信用卡进行信用,因为Authorize.Net仅允许在过去六个月内通过它们进行的交易完成。如果您被授予未链接退款的例外,则允许唯一的例外。如果您已为此签署了正确的文书工作,并且有人拥有您的API登录和交易密钥,则可以将信用处理到他们自己的信用卡。你要抓住这个问题的唯一方法就是仔细监控你的陈述。

为了帮助缓解此问题,您应该在完成他们为您执行的工作后立即更改您的交易密钥。这将使他们在24小时后无用的钥匙。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top