Node.js是领先的JavaScript运行时之一,正在逐渐占领市场份额。当某件事在技术中流行起来时,它就会成为数百万专家关注的焦点,包括安全专家、攻击者、黑客等。 Node.js 核心是安全的,但当您安装第三方软件包时,它的配置、安装和部署方式可能需要额外的安全性来保护您的 Web 应用程序免受黑客攻击。仅供参考,83% 的 Snyk 用户在他们的应用程序中发现了一个或多个漏洞。 Snyk 是流行的 Node.js 安全扫描平台之一。最近的另一项研究表明,整个 npm 生态系统的约 14% 受到了影响。澳洲電話號碼庫
在我的上一篇文章中,我提到在 Node.js 应用程序中查找安全漏洞,许多人询问如何修复/保护它们。
内容 隐藏
1 提高 Node JS 安全性的最佳实践
2 斯尼克
3 扰频器
4 Cloudflare WAF
5 头盔
6 N|固体
7 速率限制灵活
8 中国表面科学基金
9 结论
9.1 相关出版物:
提高 Node JS 安全性的最佳实践
没有任何框架,包括 Node JS,可以称为 100% 安全。因此,您应该遵循以下安全实践以避免风险:
定期记录和跟踪活动以检测漏洞
不要阻塞事件循环
使用扁平的 Promise 链来避免嵌套级别错误
为您的生态系统创建强大的身份验证策略
管理错误以防止未经授权的攻击
在您的应用程序中使用反 CSRF 令牌
仅发送必要的信息来阻止数据泄露
使用cookie标志正确管理会话
控制请求大小以防止 DoS 攻击
使用自定义包设置和非默认用户密码
为每个请求实施访问控制规则
定期更新软件包以免受威胁和攻击
使用适当的安全标头防范 Web 安全漏洞
为了应用的稳定性,不要使用危险的函数
使用严格模式以避免错误和错误
现在我们将了解保护 NodeJS 应用程序安全的最佳工具。
斯尼克
Snyk 可以集成到 GitHub、Jenkins、Circle CI、Tarvis、Code Ship 和 Bamboo 中,以查找和修复已知漏洞。您可以了解应用程序的依赖关系,并在代码中检测到风险时接收实时警报。
在高水平上,Snyk 提供完整的安全保护,包括以下内容:
查找代码中的漏洞
实时代码监控
修复易受攻击的依赖项
当新的弱点影响您的应用程序时,您会收到通知。
与您的团队成员合作
Snyk 维护自己的漏洞数据库,目前支持 Node.js、Ruby、Scala、Python、PHP、.NET、Go 等。
加扰器
Jscrambler 采用一种有趣、独特的方法来确保客户端代码和网页的完整性。
Jscrambler 使您的Web 应用程序具有自我安全性,以打击欺诈、避免运行时代码修改和数据泄露,并防止声誉和业务损失。另一个有趣的功能是应用程序逻辑和数据以难以理解的方式进行转换并隐藏在客户端。这使得猜测应用程序中使用的算法和技术变得困难。
Jscrambler 的一些功能包括:
实时检测、通知和保护
防止代码注入、DOM 攻击、浏览器中间人攻击、机器人、零日攻击。
防止凭证、信用卡、敏感数据丢失
防止恶意软件注入
Jscrambler 支持大多数 JavaScript 框架,如 Angular、Ionic、Meteor、Vue.js、React、Express、Socket、React、Koa 等。
因此,请尝试让您的 JavaScript 应用程序防弹。
Cloudflare WAF
Cloudflare WAF(Web 应用程序防火墙)可保护您的Web 应用程序免受云端(网络边缘)的影响。您不需要在节点应用程序中安装任何内容。
WAF规则分为三种类型:
]
OWASP - 保护您的应用程序免受 10 大 OWASP 漏洞的影响。
自定义规则 - 您可以定义规则。
Cloudflare 自定义规则 - Cloudflare 根据应用程序定义的规则。
通过使用 Cloudflare,您无需为站点添加任何安全性,而是可以利用其快速CDN来实现更好的内容交付。 Cloudflare WAF 提供专业版套餐,每月费用为 20 美元。云安全提供商的另一个选择是SUCURI和 StackPath,这是一种保护您的网站免受DDoS、恶意软件 、已知漏洞等侵害的综合解决方案。
头盔
Helmet 是 Express 和 Koa的中间件,用于提供遵循 OWASP 最佳实践的安全标头。它允许您实现HTTP 响应标头,例如 HSTS、CSP、Referrer-Policy、Expect CT 等。
N|固体