web-dev-qa-db-fra.com

L'insert que l'accès à la DB offre une sécurité supplémentaire?

Il est prévu que si nos nœuds Web au fil du public soient compromis, un attaquant aura accès à toutes nos données. Il arrive simplement que les données entrées à partir des utilisateurs extérieures doivent être accessibles à des utilisateurs internes.

Cela offre-t-il une sécurité supplémentaire si nous ne donnons que des nœuds Web Insérer un accès, et n'autorise que l'accès en lecture/écriture à partir de nœuds confrontés internes?

Une idée associée serait d'utiliser la messagerie pour réussir le message d'écriture à partir du nœud Web au nœud interne qui gérerait toute modification de DB.

Mon gut me dit que ceux-ci atténueraient les deux fuites de données sur une infraction au nœud Web. Y a-t-il quelque chose que je suis négligeant?

10
user3282193

La réponse courte est "oui", elle offre une sécurité supplémentaire car vous le rendez plus difficile pour un attaquant de gagner des informations que ces utilisateurs extérieurs entrent.

La longue réponse est qu'un attaquant ciblé pourrait:

  1. utilisez les nœuds Web compromis pour détourner vos utilisateurs extérieurs vers son serveur ou injecter des logiciels malveillants, probablement peu de différence à noter dans l'interface Web, car il a accès à vos sources de votre page.
  2. utilisez les nœuds Web compromis pour capturer les données futures entrées par les utilisateurs extérieurs et transmettre ces données sur ses serveurs pour capturer, au fil du temps, répliquant des parties de votre base de données.
  3. traverser du nœud Web sur le réseau interne au fil du temps, par exemple grâce à de nouveaux trous de sécurité trouvés dans l'interface de base de données ou à toute autre interface que vous exposez aux nœuds Web.
15
calloc_org

Absolument! Cependant, la terminologie serait un utilisateur uniquement . Vous utiliseriez toujours le même dB.

La plupart des serveurs de base de données ont un concept de contrôle d'accès interne, qui est indépendant du contrôle d'accès au système d'exploitation.

Fondamentalement, l'insert que seul utilisateur n'aurait que INSERT privilège, puis uniquement pour les tables particulières qu'il devrait insérer dans.

Cela limiterait un peu la portée des attaques SQLI.

Voir: Quels sont les prestations de sécurité à une base de données d'utilisateurs distincte?

7
Bryan Field