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