J'ai un site ASP.NET MVC avec une application d'administration de site privé sécurisée avec l'autorisation ASP.NET SQL. Je dois ajouter un identifiant pour le site public afin de permettre aux visiteurs de s'inscrire à un compte. Je pense que je devrais créer un espace de stockage totalement séparé pour le site public, plutôt que d'étendre la base de données utilisateur existante et de compter sur des rôles pour empêcher les utilisateurs publics de se retrouver dans le back-office. Y a-t-il une raison de ne pas le faire?Devrais-je étendre la sécurité ASP.NET pour un site public?
Répondre
Oui il y a. Vous pouvez isoler la base de données privée de la base de données publique. Créez deux comptes d'utilisateurs de base de données, assurez-vous qu'ils n'ont accès qu'à la base de données dont ils ont besoin. Les applications publiques et privées utiliseront différents comptes. Ensuite, verrouillez les comptes de base de données pour vous assurer qu'ils ne disposent que des droits nécessaires au fonctionnement de l'application Web. (Je ne sais pas quelle base de données vous utilisez.) Si vous utilisez ms-sql assurez-vous qu'ils n'ont pas accès à xp_cmdshell, si vous êtes sous mysql assurez-vous que le compte n'a pas de privilèges FILE. Si une vulnérabilité SQL Injection est trouvée dans la partie publique de votre site, alors ils pourront accéder à cette base de données, laissant votre site privé non affecté par l'attaque.
Le temps et potentiellement l'argent seraient une raison. Sinon, si vous avez le temps. Selon le besoin, ne sachant pas exactement les problèmes en cours, il pourrait également ajouter beaucoup de complexité ...
HTH.
Avez-vous déjà un utilisateur avec plus d'un rôle? Pourriez-vous finir par stocker le même utilisateur dans plus d'une base de données? Si c'est le cas, je garderais vos utilisateurs dans une base de données unifiée.
- 1. Comment étendre un site Web?
- 2. Fonctionnalité «Envoyer un e-mail» pour un site Web public
- 3. Sécurité quand le code source est public
- 4. Comment implémenter la sécurité pour le site ASP.NET MVC pour refuser l'accès à un groupe particulier?
- 5. filtre Markup recherché pour un site Web public
- 6. La clé primaire du public serait-elle un risque potentiel pour la sécurité?
- 7. Comment vérifier la sécurité du site asp.net 4 mvc2?
- 8. Conséquences pour la sécurité du stockage du fichier de clés dans un dépôt public
- 9. Considérations de sécurité pour une application web ASP.Net qui sera utilisée sur un ordinateur public ou un kiosque
- 10. la sécurité des applications ASP.NET MVC
- 11. Quelles sont les autorisations de sécurité minimales pour un site Web dans ASP.NET?
- 12. Est-ce une tentative pour briser la sécurité de mon site ASP.Net?
- 13. Python "étendre" pour un dictionnaire
- 14. sécurité du site Web
- 15. Comment protéger une application Flex sur un site Web public?
- 16. Étendre le DropDown pour Item ToolTip, Asp.net, C#
- 17. Sécurité ASP.NET
- 18. Quelle sécurité technique puis-je mettre en place pour protéger un profil public contre un cyber-harceleur?
- 19. Plan du site ASP.NET MVC pour un site hiérarchique traditionnel
- 20. Dépôt public pour une installation Drupal: Quels sont les risques de sécurité?
- 21. asp.net WebForms & asp.net options de sécurité MVC
- 22. Asp.NET MVC et sécurité
- 23. Coldfusion, site web dreamweaver Sécurité
- 24. La page "Site est en construction" pour le site asp.net
- 25. Quelle approche peut-on utiliser pour étendre la sécurité WCF au-delà du domaine actuel?
- 26. Étendre asp.net ImageButton à css Sprite
- 27. Stockage des utilisateurs d'un site Web public dans Active Directory
- 28. Le service WCF public requiert une authentification, même si aucune sécurité n'est spécifiée
- 29. Meilleure pratique pour créer un site public et un site d'administration privé à l'aide de Ruby on Rails?
- 30. ASP.NET MVC 2 Preview 2 - Étendre LabelExtensions.LabelFor
Hrm, je ne sais pas à ce sujet. Une partie de moi dit, si le site est vulnérable à l'injection SQL, j'ai des problèmes beaucoup plus importants, et c'est juste un contrôle des dégâts. – Paul
@Paul vous devriez essayer d'exploiter les vulnérabilités d'injection sql, et peut-être que cette partie disparaîtra. C'est ce qu'on appelle la défense en profondeur, vous pourriez ne pas être en mesure de trouver tout ce que vous devez planifier pour le pire. C'est pourquoi vous hash mots de passe. Si vous avez correctement configuré vos permissions sql, le plus qu'un attaquant peut obtenir est un select supplémentaire. L'exécution de plusieurs requêtes et l'accès à cmd.exe ne devraient pas être possibles, mais c'est par défaut. – rook
Ah, "Défense en profondeur" est exactement ce que je cherchais. Donc, c'était mon plan original mais maintenant j'ai l'impression que je peux le défendre intelligemment. Après un peu de lecture, il semble que Défense en profondeur se réfère à la protection contre différents vecteurs d'attaque, pas la même attaque pénétrant la première couche de défense. Je dirais que la raison pour laquelle vous hachez les mots de passe est principalement d'empêcher les employés malveillants de voler les comptes des utilisateurs - mais cette même logique fonctionne pour mon cas. – Paul