Узнайте, как защитить свой сервер MongoDB от атак NoSQL-инъекций, отключив функции Javascript на стороне сервера.
Все следующие операции MongoDB позволяют запускать произвольные выражения JavaScript непосредственно на сервере:
- $ Где
- "уменьшение карты"
- "группа"
Эти методы могут быть действительно удобными, но они создают огромный риск безопасности для целостности вашей базы данных, если ваше приложение не очищает и не экранирует заданные пользователем значения должным образом, что подтверждается многими отчетами об атаках с использованием NoSQL-инъекций. .
Действительно, вы можете выражать большинство запросов в MongoDB без JavaScript, поэтому наиболее разумным вариантом является полное отключение серверного Javascript.
Отключение серверного Javascript в MongoDB
Откройте /etc/mongod.conf
с помощью вашего любимого редактора кода и найдите раздел безопасности:
security:
authorization: "enabled"
Если вы не можете найти
mongod.conf
или вместо этого он называетсяmongodb.conf
, это означает, что вы используете действительно старую и неработающую версию MongoDB. Прочтите это руководство о том, как перейти на более новую версию.)
Обязательно добавьте следующую строку в раздел security
:
javascriptEnabled: false
Теперь сохраните файл и перезапустите mongod
:
$ sudo service mongodb restart
Готово! Теперь ваше развертывание устойчиво к инъекциям NoSQL!