Защита соединительных строк во время разработки - PullRequest
2 голосов
/ 24 сентября 2010

Нам нужно защитить строки подключения во время разработки .На серверах мы используем DPAPI, который отлично работает.DPAPI не является опцией во время разработки, поскольку строки подключения необходимо расшифровывать на многих компьютерах.

Некоторые имена пользователей и пароли, используемые для dev, довольно чувствительны, и мы не хотим, чтобы они перемещались.Это нормально для всех разработчиков, чтобы иметь возможность расшифровывать их, просто хочу убедиться, что если кто-то еще получит в свои руки файлы конфигурации dev, тот человек не сможет расшифровать строки подключения.Использование всех учетных записей служб вместо секретного имени пользователя / пароля не представляется возможным из-за внешних ограничений.

Мое первое желание - использовать провайдера RSA для шифрования и установки сертификата на компьютерах разработчиков.

Итак, мои вопросы:

1) Как вы подходите к этой проблеме?

2) Если вы используете подход RSA, есть ли более современная документация, чем this

Спасибо

1 Ответ

2 голосов
/ 25 сентября 2010

Ну а после дополнительных исследований мы пошли с подходом RSA.Нашел еще обновленную документацию здесь .Если вы идете по этому пути, убедитесь, что вы прочитали все RSA, связанные по этой ссылке.Ниже приведены шаги, которые мы использовали, если кому-то интересно ...

- ТОЛЬКО В ПЕРВЫЙ РАЗ

- создайте контейнер ключа, сделав его экспортируемым

aspnet_regiis -pc "MyKeys" -exp

-addэтот раздел для файла конфигурации

<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>

-шифровать строки подключения

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

-дать файл конфигурации

-для расшифровки

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

-экспорт ключей (создаст keys.xml)

aspnet_regiis -pc "MyKeys" -exp

- На другом компьютере

-сохранить keys.xml где-нибудь

- импорт ключей.убедитесь, что имя (например, MyKeys) такое же

aspnet_regiis -pi "MyKeys" keys.xml

- удалить keys.xml !!!!!!!!!!!!!!

-дать разрешения учетной записи службы, если она работает как часть веб-приложения

например, aspnet_regiis -pa "PcscDev" "ASPNET"

...