Найдите уязвимость безопасности Node.js и защитите ее, исправив недочеты, прежде чем кто-то взломает ваше приложение.
Существуют некоторые онлайн-инструменты для поиска распространенных уязвимостей безопасности в PHP, WordPress, Joomla и т. д, и они могут быть не в состоянии определить, построено ли ваше приложение на Node.js.
Согласно последним данным, более 80% пользователей snyk обнаружили, что их приложение Node.js уязвимо.
Могут быть сотни уязвимостей из-за неправильной конфигурации, устаревшего пакета NPM и т. д, и следующие сканеры безопасности смогут помочь вам в поиске лазеек безопасности.
Примечание. В этой статье основное внимание уделяется инструментам для поиска уязвимости, а также для дополнительной защиты.
1 Snyk
Snyk проверяет ваш GitHub-репозиторий node.js на наличие слабых мест в зависимостях и постоянно исправляет их.
Вы можете установить это с помощью NPM.
Есть четыре основных преимущества использования Snyk
- Тест на уязвимые зависимости
- Получать уведомления о новых уязвимостях
- Снижение риска путем необходимого обновления и исправлений
- Запретить добавление дополнительных зависимостей
Вы можете взглянуть на результаты сканирования одного из тестовых приложений.
2 Source Clear
Просканируйте приложение Node.js, которое автоматически компилируется с помощью SourceClear, и устраняйте проблемы перед развертыванием в рабочей среде.
Source Clear поможет вам создать безопасное приложение и не только Node.js, но и поддерживать проекты Python, Ruby & Java.
Source Clear управляет большим количеством библиотек и баз данных уязвимостей для обнаружения всех типов угроз безопасности в вашем проекте.
С Source Clear вы можете гибко интегрироваться с инструментами сборки и автоматически сканировать новые коммиты.
У вас есть полное представление об используемых библиотеках и вы посмотрите, являются ли они уязвимыми.
3 Node Security Platform
Платформа Node Security также известна как nsp – одно из самых популярных решений для мониторинга вашего узла для обеспечения безопасности.
Вы можете добавить проверку в сам запрос GitHub, чтобы уязвимый код не развертывался в производственной среде.
NSP бесплатен для открытого исходного кода и первого частного репозитория.
4 Acunetix
Acunetix сканирует весь ваш веб-сайт на наличие уязвимостей в интерфейсных и серверных приложениях и дает вам действенные результаты.
Тест Acunetix включает более чем 3000 уязвимостей в том числе OWASP top 10, XSS, SQLi и т. д.
Вы можете подписаться на 14-дневную пробную версию, чтобы увидеть, есть ли дыра в вашей среде.
5 Retire.js
Retire.js проверяет ваш код на наличие общедоступных уязвимостей и сообщает, есть ли обнаруженные.
Retire.js является сканером командной строки и доступен как расширение Chrome и Firefox.
6 OWASP Dependency Check
Как и в случае с Retire.js, проверка зависимостей OWASP выявляет наличие открытых уязвимостей в Node.js, Python и Ruby.
Вы можете использовать это как командную строку, задачу ant, плагин Maven или Jenkins.
Кроме того, вы можете рассмотреть возможность использования helmet для защиты ваших приложений с необходимыми заголовками HTTP.
По умолчанию helmet помогает применять следующие заголовки.
- DNS Prefetch
- Hide X-Powered-By
- HTTP Strict Transport Security
- NoSniff
- XSS Защита
7 NodeJsScan
Сканер статического кода. NodeJsScan может быть интегрирован с конвейерами CI / CD и готов к Docker.
Самостоятельное решение с красивой приборной панелью.
Вы можете использовать NodeJsScan в качестве веб-интерфейса, CLI или Python API.
Сканирует для удаленного внедрения кода, открытого перенаправления, SQL-инъекции, XSS и т. д.
Заключение
Вышеуказанные инструменты в состоянии помочь в сканировании вашего приложения nodejs на предмет уязвимостей, чтобы вы могли защитить свое приложение.
Помимо защиты основного приложения Nodejs, вам также следует рассмотреть возможность использования WAF для защиты от сетевых угроз и DDoS-атак.