Я использую Entity Framework 5 в автономном клиенте WPF. Как настроить структуру сущности, чтобы мой пароль базы данных, который находится в строке соединения, не был в виде обычного текста в памяти?Как защитить строку подключения EF?
ответ
Существует два основных способа борьбы с безопасностью строки с базами данных.
Как правильно указано @ MUG4N и @BNicoll, вы можете зашифровать строки подключения в вашем app.config (или web.config), что позволит избежать легкости чтения настроек. Однако в этом случае фактическое имя пользователя и пароль сохраняются на аппарате, а это означает, что с небольшой работой вы можете получить пароль открытого текста.
На мой взгляд, гораздо лучшим решением является использование учетной записи, запускающей приложение для аутентификации непосредственно с SQL. Это означает, что имя пользователя/пароль никогда не используется в цикле auth, и вместо этого используется проверка подлинности на основе токенов NTLM или кебероскопия, которая намного безопаснее и не требует хранения дешифруемых паролей.
Чтобы использовать этот метод, вам необходимо убедиться, что вы находитесь в домене и предоставить разрешение учетной записи пользователя, запускающей приложение, для доступа к базе данных. Затем вам нужно будет заменить имя пользователя/пароль в строке подключения Integrated Security=SSPI;
К сожалению, этот метод требует, чтобы вы работали в домене Windows, который может быть непригоден в вашем случае.
Заканчивать MS Whitepaper на security in connection strings
Вместо этого в серверной среде требуется хранить дешифруемые аутентификационные токены (если у вас нет HSM/sysadmin, чтобы сделать это для вас при запуске). Не так плохо, как пользовательские пароли, конечно, но примерно эквивалентно случайным образом выбранным паролям. –
@tc. поскольку я понимаю это, если у вас нет обратимого шифрования для домена, нет способа перейти от зашифрованного токена пользователя (который хранится локально) к исходному паролю. Токены также являются специфичными для машин, которые уменьшают атаки, если они скомпрометированы только из взломанной машины. –
@tc. Рекомендации CF MS «Чтобы ограничить доступ к источнику данных, вы должны защитить информацию о соединении, такую как идентификатор пользователя, пароль и имя источника данных. Чтобы избежать раскрытия информации о пользователе, мы рекомендуем использовать проверку подлинности Windows (иногда называемую интегрированной безопасностью), где это возможно. Аутентификация Windows указана в строке соединения с помощью ключевых слов Integrated Security или Trusted_Connection, что исключает необходимость использования идентификатора пользователя и пароля. » –
- 1. Как защитить мою строку подключения? powershell + xml
- 2. Как защитить строку подключения mySQL в PHP?
- 3. EF не позволяет мне указать строку подключения
- 4. Как защитить строку подключения web.config от других разработчиков?
- 5. как защитить строку подключения в visual studio 2008
- 6. Как защитить строки подключения в VS?
- 7. Как правильно установить строку подключения для EF DB?
- 8. Как EF Code Сначала создайте строку подключения в первый раз?
- 9. Какой лучший способ защитить строку подключения к базе данных?
- 10. Как защитить несколько строк подключения в приложении
- 11. Строка подключения EF Code First
- 12. Как защитить строку от взлома
- 13. Как переименовать строку подключения DbConext?
- 14. Установить строку подключения в Runtime - EF Code First
- 15. ошибка при попытке программно создать строку подключения для EF 6
- 16. Как прочно защитить web.config
- 17. Как защитить строки подключения, используемые модульным тестом в TFS?
- 18. Как написать строку подключения
- 19. Как создать строку подключения для правильного MySql
- 20. Динамическое подключение строки подключения к EF
- 21. Как защитить строку javascript в php
- 22. Как защитить секретную строку в приложении Android?
- 23. Как сохранить строку подключения mysql
- 24. Как получить строку подключения C#?
- 25. Как зашифровать строку подключения web.config
- 26. Как шифровать строку подключения Sql?
- 27. Как найти строку подключения LDAP?
- 28. EF код первый косяк подключения к БД
- 29. Как защитить данные подключения к базе данных от хакера ресурсов?
- 30. Как защитить учетные данные для подключения SQL Azure DB?
нет необходимости в конфигурации на основе эф, см: http://stackoverflow.com/questions/8760048/encrypt-connectionstring-in-entity-framework-first-code – MUG4N
http://msdn.microsoft.com/en-us/library/dtkwfdky(v=vs.100).aspx Эта страница может помочь вам зашифровать ваш файл конфигурации. –