Je recherche des "meilleures pratiques de sécurité" pour un serveur MongoDB, à part des meilleures pratiques de sécurité du serveur "Général". Pourriez-vous me signaler aux ressources utiles? p>
4 Réponses :
Il y a deux approches: p>
- Auth code> Option dans l'environnement fiable. Habituellement, c'est un réseau local où l'application, la base de données installée. Et les serveurs en dehors de ce réseau n'ont pas accès à MongoDB et à d'autres ressources. LI>
- Installez mongodb avec em>
- Auth code> Option dans l'environnement où les ports de MongoDb non bloqués par pare-feu et tout le monde peut y accéder. Li>
ol>
Plus de détails sur la sécurité Vous pouvez trouver ici . P>
Les préoccupations de sécurité sont toujours spécifiques à une application. Il n'est vraiment pas possible de répondre pleinement à cette question de manière générale. P>
Souvent des applications qui s'appuient sur une base de données NOSQL seront susceptibles de owasp A4 - Référence d'objet direct insécurité . Il convient de noter que la valeur Un autre problème courant est CWE-602 - Application du côté du client de la sécurité côté serveur a >. Le client ne doit plus jamais faire confiance et s'ils interagissent avec la base de données directement, ils possèdent la base de données, _id code> n'est pas une nonce cryptographique, cette valeur est fortement dépendante d'un horodatage et qu'il est assez facile pour un attaquant de deviner ces valeurs. P>
En supposant que vous avez un service Web interagissant avec le MongoDB P>
Le serveur mérite uniquement des droits, vous avez besoin d'une connexion régulière pour laisser le serveur paire de droits d'accès avec un client à l'aide d'une session. De cette façon, vous devriez éviter les droits de forgeage. P> li>
Filtrez tous les demandes de clients. C'est assez facile, la Mongo demande être un JSON, vous pouvez limiter le JSON à un schéma spécifique aussi comme surcharge la demande avec limitations / restrictions. Notez que le serveur surchargera la demande en utilisant les variables de la session. Cela peut être effectué à la fois pour les restrictions d'accès, mais également pour éviter le client d'envoyer des demandes lourdes qui surchargeront votre système. P> Li>
Filtrez le résultat, "Prix l'arbre". Cela pourrait être un dernier chèque si, par exemple, vous acceptez de renvoyer le nom de l'utilisateur, mais pas son identifiant. Cela dit, il s'agit plus probable d'une étape de plus sur le filtrage de la demande du client. P> li>
Utilisez une connexion sécurisée HTTPS. Cela assurera tous les deux votre client à parler avec le serveur de droite, mais également votre serveur pour parler toujours avec le même client (sans détournement en théorie). P> li>
Évitez d'empiler toutes les informations ensemble, essayez d'utiliser des modèles autant que possible de cette façon, vous gagnerez à la clarté, mais évitez également les informations sensibles à stocker au mauvais endroit. P> Li> ul>
Quel essentiel doit être fait est
Ouvrir la coque MongoDB P> use admin
db.addUser("admin","adminpassword")
Cette réponse est vraiment assez limite, à mon avis; C'est auto-promotionnel et n'inclut pas vraiment aucune information de valeur ici, sur ce site. Enfin, vous avez négligé d'inclure la divulgation requise qu'il s'agit de votre site que vous reliez. J'ajoute cette divulgation ici; N'oubliez pas cette divulgation dans le futur b>, s'il vous plaît.
Bien sûr, je vais faire cette prochaine fois.
Il y a d'excellentes informations dans les réponses ci-dessous. Je trouve souvent des questions fermées comme «non constructives» qui ont des informations que je ne pouvais pas facilement trouver sans l'aide de ceux qui l'ont agrégé ici. Je veux dire "Ne soyez pas découragé lorsque vous posez des questions ou de répondre, obtenez-vous fermé." Je pense qu'il y a beaucoup de fermetures et de rapprocheurs trop zélés. Je réponds à beaucoup de questions
bash code> et peut vous dire qu'il n'y a jamais de meilleur i> way / réponse, mais ces questions ne sont jamais fermées.