我们有2个Rails应用程序(一个用于前端,另一个用于后端(api)托管在2个不同的服务器上。用户来到我们的前端应用程序并填写订单表单。然后我们发送json请求到后端和后端发送确认json对前端的响应。后端只能从我们的办公地址访问,并且只能与我们的前端应用程序进行通信。
今天我们从DigiCert
为我们的前端应用购买了EV ssl证书,一切正常。但是,由于我们在后端没有ssl证书,这是否意味着我们从前端传递到后端的数据将不会被加密?
DigiCert
购买另一张ssl证书? (有点贵)我已经经历了几个堆栈溢出问题,看起来建议是在两台服务器上安装ssl。这是我第一次尝试在服务器上设置ssl证书,所以在我为后端应用购买另一个ssl证书之前,我只想仔细检查。
更新
我发现很少有廉价的ssl证书,人们对这个更便宜的提供商有什么建议https://cheapsslsecurity.com.au/
答案 0 :(得分:4)
是的,您的后端需要SSL。这是存储所有逻辑和数据的重要场所。在前端不是那么重要,但如果你正在处理付款或任何其他机密信息是的,你需要在前端。
在公共站点上使用自签名的风险
与自签名SSL证书关联的安全警告 因担心网站无法保护而驱逐潜在客户 他们的凭据。品牌声誉和客户信任都是 损坏。
我完全同意this文章,不使用自签名SSL,尤其是在处理付款时。对于内部测试,您可以。但在生产中,强烈建议不要使用它。而是使用Certificate Authority
的SSL答案 1 :(得分:4)
SSL仅加密服务器和客户端之间的数据。
它不会使服务器安全。
它只会阻止在数据在客户端和服务器之间产生的所有小跳上发送未加密的数据。
您的后端可能位于完全独立的地理位置或隔壁的服务器场中。但是,它仍然可以通过几个路由器到达那里。没有SSL,数据将以原始方式发送。我有一些服务器,一些服务器位于不同的机架中,主机相同,有些服务器相距数百英里。在相同的地理环境中从一个机架到另一个机架仍需要在各种路由器上进行跳跃 - 不使用VPN。所以,是的,如果你非常偏执,前端和后端之间没有VPN,那么保护后端。但所有这一切都是加密两者之间的数据。它不会使服务器安全'。
这是什么意思?假设你的后端没有http存在(在网络上无法发现),那么后端的SSL可能有点过分。为什么?所有知道它存在的人都是员工 - 并且没有任何数量的SSL可以保护服务器免受任何知道它存在或如何访问它的人的影响。
SSL也不会保护您免受SQL注入等其他攻击。例如,Equifax声称的Equifax漏洞是Apache Struts中的一个漏洞(虽然我的猜测是有更多的东西比看到的更多)。
SSL是一个有缺陷系统的创可贴。它不会使服务器安全。它只是加密服务器和客户端之间的数据。