我打算开始我的第一个网站。该网站是一个HTML5 + CSS + JS网站,后端运行node.js,提供存储在mongodb上的数据。我想知道哪一个是关于安全性的最佳解决方案:
网络托管(SSL和cloudflare)+端口3000上的VPS服务(带有敏感数据的SSL,cloudflare和node.js;用户和传递以及本地mongodb)
同一个VPS中的所有内容。
您可以提供任何其他方法。
问题在于,在第一种方法中,架构中有两个元素,所以如果有人想要破解它,我认为它更难。另一方面,在第二种方法中,如果VPS被黑客攻击,一切都被黑客入侵,他们可以访问密码,mongodb数据库。我非常痴迷于安全性,因为它是我的第一个网站,我不知道为保护我的VPS(node.js和mongodb)需要做些什么。
此外,我想知道效率方面,这对于每天访问量为1000次的10MB网站来说是最佳解决方案。
答案 0 :(得分:2)
无论您决定部署多少实际服务器,我都强烈建议不要直接从node.js提供您的站点。相反,通过更强大的http服务器(如Apache或Nginx甚至lighttpd)代理它。出于一个非常简单的原因,node.js中的http模块从未打算防止蠕虫和黑客攻击以及各种其他恶意软件。
我自己从头开始编写Web服务器,并注意到一般情况下,您将在服务器联机的第一个小时内进行第一次黑客攻击。你会在最慢的日子里每天进行十几次黑客攻击,并从那里上升。这些尝试非常普遍,大多数服务器软件不再将它们记录在访问日志中,只是阻止它们。
根据我个人的经验,我估计大约5%到10%的带宽被黑客/感染尝试失败所消耗。那是我没有受到积极攻击的时候。
通过默默无闻的安全并不是一个好的安全措施。特别是因为节点的http模块首先并不是很模糊,而且有一天人们必然会发现一个可以破解的弱点。
除了安全性之外,与node.js相比,您还浪费了更少的CPU周期,而忽略了Apache或Nginx中的这些黑客攻击尝试,因为您不需要运行任何javascript代码来处理它们。
答案 1 :(得分:1)