2017-04-01 75 views
0

证书寄希望于AWS LAMBDA证书寄托在AWS LAMBDA

能否处理程序AWS拉姆达,通过API网关调用的函数,达到降入要求在所有的连接层来访问使用什么证书来建立客户端的SSL/TLS连接?我想为我正在构建的API实施证书锁定策略,因为我找到了十几种不锁定SSL的方式,并且API中的数据不是社交媒体帖子。

任何替代,如不可能?

如果lambda函数没有访问连接层是否有进一步实施安全而不是简单地说“SSL够”

最后手段

如果没有按LAMBDA以类似方式不能让我访问客户端连接的证书信息,我将不得不求助于非对称加密。

+0

*“我找到了十几种可以绕过SSL的方法”*实际上是什么意思?你如何绕过未实现的认证机制?您是否知道在服务器请求客户端证书之前,它需要知道它可以对其进行客户端证书认证的CA? (API网关不是。)或者,如果服务器不请求一个,客户端实际上并不提供证书* *。 (API网关没有。)系统没有客户端证书可以告诉您。 –

+0

@Michael你认为这是什么意思?男人在中间。证书链伪造。在HTTP重定向到HTTPS之前转发欺骗性HTTPS请求。如果您认为SSL不能被破坏,那么我们现在就停止对话。 –

+0

我从来没有建议SSL不能被攻破,但是您提到的问题都没有真正缓解当前问题的主题,即客户端身份验证。如果没有TLS,API网关已经不支持HTTP。当然,您仍然可以使用HSTS ...并使用自定义域名和证书,您应该也可以使用[HPKP](https://en.m.wikipedia.org/wiki/HTTP_Public_Key_Pinning)但这些也与客户证书无关......所以我试图理解你所说的内容。 –

回答

1

的AWS lambda函数不具有与HTTP请求的直接连接,它可以通过很多东西,例如被调用SNS订阅或简单的SDK调用。或者,这就是我猜想的目标,您可以通过AWS API网关调用Lambda函数。

所以,如果你想在你的lambda函数任何HTTP或TLS的详细信息,您需要确保该API网关是数据以某种方式注入,那将拉姆达功能的有效载荷。我不确定这是否可能,深入探索API Gateway documentation可能会进一步帮助您。

+0

谢谢。是的,我的意思是通过API网关进行调用。我还没有找到关于证书访问的任何信息,所以我倾向于认为它可能是不可能的。 –

+0

API网关是一种高级服务,所以如果低级HTTP/TLS数据不可访问,我不会感到惊讶。或者,您可以使用某种选择的语言(例如NodeJS)设置您自己的“API网关”,并在代码中调用您的Lambda函数。这样您就可以完全访问低级别的HTTP进程。该应用可以例如在Elastic Beanstalk或EC2实例中运行。 – Bram

+0

是的它是有道理的。你不能吃你的蛋糕,吃它。我的设置需要以lambda运行,以获得无服务器优势。我将探索文档以了解我可以从网关推入响应的内容。 –