Неправильно ли использовать Integrated Security=True
на рабочем сервере в ASP.NET?
Должен ли я использовать "Integrated Security = True" в производственной среде?
Ответ 1
Нет - совершенно безопасно *
Все, что вы делаете, говорит о том, что вы собираетесь использовать учетные данные (обычно) пользователя Windows, для которого выполняется этот процесс, для аутентификации с помощью SQL Server (в отличие от предоставления имени пользователя и пароля).
Фактически, в целом использование интегрированной безопасности считается более безопасным.
(*) Конечно, это всегда зависит от вашей точной ситуации, но в общем случае да, это нормально.
Ответ 2
Это может быть хорошо или плохо, в зависимости от учетной записи, которую IIS использует для запуска веб-приложения.
В любом случае существует явное преимущество того, что идентификатор и пароль пользователя SQL не отображаются в строке подключения; всегда хорошая вещь.
Однако вам необходимо тщательно настроить производственную среду. Я бы предложил создать отдельную учетную запись пользователя для использования IIS для запуска веб-приложения. Эта учетная запись пользователя может быть настроена для доступа только к SQL-ресурсам, требуемым вашим приложением. Это защитит вас от несанкционированного доступа к другим приложениям в случае нарушения безопасности вашего веб-приложения.
Я слышал о программистах, занимающихся акробатикой, когда в момент времени из зашифрованного ресурса загружается строка подключения SQL с идентификатором пользователя и паролем: -)
Ответ 3
Ответ на вопрос заголовка:
Вы не должны прикасаться (меньше использовать) что-либо в производственной среде, пока у вас возникают такие вопросы или сомнения!
Ответ на вопрос:
SQL Server в производстве не должен быть включен для аутентификации SQL Server вообще
Обновление:
Я с удивлением вижу, что все ответы используют вероятностные "это зависит", "в некоторых случаях", "больше" возможностей.