查找Node.js安全漏洞,并在有人破解您的应用程序之前通过修复来保护它们。
有一些在线工具可以找到 PHP,WordPress,Joomla等常见的安全漏洞,他们可能无法检测您的应用程序是否构建在Node.js上。
在最新发现中,超过80%的snyk用户发现他们的Node.js应用程序容易受到攻击
由于配置错误,过时的NPM包等可能存在数百个漏洞,以下安全扫描程序应该能够帮助您找到安全漏洞。
注意:本文重点介绍查找漏洞和添加安全保护的工具,了解如何保护node.js免受在线威胁。
1 Snyk
Snyk检查你的node.js GitHub存储库以查找依赖项中的弱点并持续修复它们。您可以使用NPM安装它。使用Snyk有四个主要优点
- 测试易受攻击的依赖项
- 获得有关新漏洞的通知
- 通过必要的升级和补丁来降低风险
- 防止添加更多依赖项
您可以在公共Node.js应用程序GitHub存储库中免费使用Snyk。除了您的应用程序,您还可以在公共NPM包上执行测试,如express,ionic等。
您可以查看其中一个测试应用程序的扫描结果。
2来源清除
使用SourceClear自动扫描Node.js应用程序,并在部署到生产环境之前修复问题。Source Clear帮助您构建安全的应用程序,而不仅仅是Node.js,还支持Python,Ruby和Java项目。
Source Clear管理大量库和漏洞数据库,以检测项目中的所有类型的安全风险。使用Source Clear,您可以灵活地与构建工具集成并自动扫描新提交。
您可以完全了解所使用的库,看看它们是否容易受到攻击。
3节点安全平台
节点安全平台也称为nsp,是监控节点应用程序安全性的最流行的解决方案之一。
您可以在GitHub pull请求中添加检查,因此在生产环境中不会部署易受攻击的代码。
NSP是免费的开源和第一个私人回购。
4 Acunetix
Acunetix扫描整个网站,查找前端和服务器端应用程序中的安全漏洞,并为您提供可操作的结果。
针对超过3000个漏洞的Acunetix测试包括OWASP前10名,XSS,SQLi等。您可以注册14天试用以查看您的存储桶中是否有漏洞。
5 Retire.js
Retire.js会检查您的代码是否存在已知的公共漏洞,并告知您是否有任何detect.Retire.js是命令行扫描程序,并且可用作Chrome和Firefox扩展程序。
6 OWASP依赖性检查
与Retire.js类似,OWASP依赖性检查确定Node.js,Python和Ruby中是否存在任何公开披露的漏洞。
您可以将其用作命令行,ant任务,Maven或Jenkins插件。
此外,您可以考虑实施头盔,以使用必要的HTTP标头保护您的应用。默认情况下,头盔可帮助您应用以下标题。
- DNS预取
- 隐藏X-Powered-By
- HTTP严格传输安全性
- NoSniff
- XSS保护
实施后,您可以使用在线工具来验证HTTP标头。
7 NodeJsScan
静态代码扫描程序。NodeJsScan可以与CI / CD管道集成并准备好它的docker。它的自托管解决方案具有漂亮的仪表板。
您可以将NodeJsScan用作基于Web的CLI或Python API。它扫描远程代码注入,打开重定向,SQL注入,XSS等。
结论
上述工具应该能够帮助您扫描nodejs应用程序中的安全漏洞,以便您可以保护它们。除了保护核心Nodejs应用程序之外,您还应该考虑使用WAF来防御在线威胁和DDoS攻击。