我正在设置一个NGINX反向代理,它位于API前面。我想用:
proxy_set_header X-Secret-Key ${SECRET_VALUE};
将令牌添加到请求中,然后由API读取。${SECRET_VALUE}从秘密库中提取,并在运行时注入到conf文件中。就这个问题而言,我们可以假设秘密库是安全的。我们还可以假设API没有做任何愚蠢的事情,比如将X-Secret-Key添加到响应头,并且反向代理和API之间的连接是安全的。
我的问题是:攻击者是否可以以这种方式查看代理添加的请求头?或者,它们只对代理本身和API可见吗?
非常感谢。
发布于 2021-03-22 14:55:47
..。一个袭击者..。
没有通用攻击者,也没有通用攻击目标。如果您指的是在代理前面的攻击者,那么他们将无法访问API密钥,前提是“API不会做任何傻事”。
如果攻击者可以破坏代理,或者可以使用代理中的信息泄漏来访问密钥,那么攻击者就可以访问密钥。如果有可能破坏代理,或者如果存在密钥泄漏的信息泄漏是未知的,只是根据您的描述。
此外,如果攻击者在代理和API之间,他们可能也能够访问API密钥,这取决于代理和API之间的连接在多大程度上防止MITM攻击。
发布于 2021-03-22 14:57:22
如果使用https,则连接通过SSL/TLS。在这种情况下,SSL/TLS为所有请求头和响应头提供了真实性、完整性和保密性,就像对请求主体和响应主体一样。只有SSL/TLS连接的端点可以看到这些连接的明文;而且(就所有意图和目的而言)它们都是安全的,不受MITM攻击者的窃听和篡改。
发布于 2021-03-22 16:08:05
API中存在服务器端漏洞,使得攻击者能够读取请求标头。例如,注入脆弱性允许攻击者生成代码在服务器上运行。可以对此进行调整,以查看请求头。要减轻这一点(以及其他潜在的漏洞),请通过OWASP安全测试指南获取您的API。另外,为您的API在OWASP上处理任何特定于平台的项。
海事组织,我不太关心MITM的攻击技术。由于HTTPS的安全性是如此容易部署,因此应该已经减轻了这一问题。确保你在使用安全协议和密码!此级别上的攻击表示远更大的问题。不是说它不会发生;只是说有人将自己插入到您的web代理和API之间意味着一个严重的事件;比简单地读取HTTP请求头更严重,因为它们可以访问所有的东西。
https://security.stackexchange.com/questions/246446
复制相似问题