Я бы ответил на основании того, что происходит в моей организации.Больше не рекомендуется хранить строки подключения к базе данных в файле config файла appsettings.json.Наши аудиторы постоянно просматривают репозитории, чтобы проверить, делает ли это кто-то.
В качестве лучшей практики мы помещаем строку подключения в Azure KeyVault.Он заботится о шифровании при хранении и расшифровке при получении.Если вы не хотите использовать сторонние решения, вам все равно будет хорошо, если вы позаботитесь о нескольких вещах -
- Зашифруйте пароль или всю строку подключения и сохраните ключ только в коде (не в конфигурации)
- Если ваша база данных находится на том же сервере, то вы можете полностью отключить проверку подлинности SQL Server и использовать только проверку подлинности Windows.Это усложнит задачу взлома.
- В шаге от шага 2 попробуйте отключить TCP / IP от SSCM и использовать только именованные каналы .Тогда никто не сможет подключиться к вашей базе данных за пределами вашей машины.
Есть много других вещей, которые могут пойти не так, если вы неправильно настроили безопасность в своем приложении.Если ваша служебная учетная запись скомпрометирована, даже третий пункт не может спасти вашу базу данных.Я бы посоветовал продолжить чтение по этому и относиться к этому как к бесконечному списку.