2010-09-24 4 views
2

Nous devons protéger les chaînes de connexion pendant le développement. Sur les serveurs, nous utilisons DPAPI qui fonctionne bien. DPAPI n'est pas une option pendant le développement car les chaînes de connexion doivent être décryptées sur de nombreuses machines.Protection des chaînes de connexion pendant le développement

Certains des noms d'utilisateur/mot de passe utilisés pour le développement sont plutôt sensibles et nous ne voulons pas qu'ils flottent. C'est bien pour tous les devs de pouvoir les décrypter, juste vouloir s'assurer que si quelqu'un d'autre met la main sur les fichiers de configuration de dev, cette personne ne peut pas déchiffrer les chaînes de connexion. L'utilisation de tous les comptes de service au lieu du nom d'utilisateur/mot de passe sensible n'est pas une option en raison de contraintes externes.

Ma première tendance est d'utiliser le fournisseur RSA pour crypter et installer le cert sur les machines de développement.

Donc, mes questions sont;

1) Comment abordez-vous ce problème?

2) Si vous prenez l'approche RSA est là plus à jour la documentation que this

Merci

+0

La base de données prend-elle en charge la sécurité intégrée (SSPI)? Ensuite, vous n'avez pas besoin de mots de passe dans la chaîne de connexion. – Richard

+0

@Richard - la sécurité intégrée n'est pas une option pour les systèmes que nous ciblons. –

+0

bien, il devrait si le ci-dessus est le scénario, je n'aime pas cette question :(Aussi, j'espère que tout cela est avec les serveurs de développement impliqués, et nous ne parlons pas de la production.Ce nom d'utilisateur particulier/pwds pour devs shouldn Ne pas utiliser pour autre chose – eglasius

Répondre

2

Eh bien, après plus de recherche, nous y sommes allés avec l'approche RSA. Trouvé une documentation plus à jour here. Si vous allez sur cette route, assurez-vous de lire tout ce qui est lié à RSA dans ce lien. Voici les étapes que nous avons utilisées si quelqu'un est intéressé ...

TEMPS --first SEULEMENT

-create le conteneur de clé, ce qui en fait exportables

aspnet_regiis -pc "MyKeys" -exp 

-add cette section pour un fichier de configuration

<configProtectedData> 
    <providers> 
    <add name="RsaProvider" 
     type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0,&#xD;&#xA;     Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,&#xD;&#xA;     processorArchitecture=MSIL" 


     keyContainerName="MyKeys" 
     useMachineContainer="true" /> 
    </providers> 
</configProtectedData> 

-encrypt les chaînes de connexion

aspnet_regiis -pef "connectionStrings" "C:\Working\MyApplication" -prov RsaProvider 

-accorderont le fichier de configuration

-pour

decrypt
aspnet_regiis -pdf "connectionStrings" "C:\Working\MyApplication" 

clés de -Exporter (créera keys.xml)

aspnet_regiis -pc "MyKeys" -exp 

--Le une autre machine

-save keys.xml quelque part

-importer les clés. assurez-vous que le nom (par exemple MyKeys) est le même

aspnet_regiis -pi "MyKeys" keys.xml

-delete keys.xml !!!!!!!!!!!!! !

autorisations -Donner au compte de service en cas d'exécution dans le cadre d'une webapp

par exempleaspnet_regiis -pa "PcscDev" "ASPNET"

Questions connexes