Какую учетную запись пользователя назначить владельцем при подключении базы данных SQL Server? - PullRequest
1 голос
/ 21 апреля 2010

Это простой вопрос безопасности и производительности базы данных , но я всегда использовал в качестве владельца либо специального пользователя (например, mydbuser), либо встроенную учетную запись Windows Network Service. при подключении баз данных к моим экземплярам SQL Server.

  • При развертывании моей базы данных на рабочем сервере, есть ли конкретный пользователь, которого я должен придерживаться или которого следует избегать? Я думаю, что использование учетной записи с установленным паролем может открыть базу данных до потенциальной проблемы безопасности.

Редактировать: Исправлено NETWORK SECURITY до Network Service

1 Ответ

1 голос
/ 22 апреля 2010

Вы всегда должны следовать правилу «Наименее привилегированный доступ».

Помимо этого, учитывается, какие приложения используют базу данных. В идеале ваша база данных недоступна через открытый интернет ( блочный порт 1433! ). Таким образом, злоумышленник будет вынужден получить доступ к базе данных через приложение через SQL-инъекцию.

Черви / вредоносные программы / эксплойты чаще всего нацелены на cmd.exe (или другую оболочку, например bash под Linux). MS-SQL предоставляет злоумышленникам доступ к cmd.exe с помощью вызова функции xp_cmdshell () sql. Черви полагаются на эту функцию для распространения. Что еще хуже на старых версиях MS-SQL, у «sa» был нулевой пароль, и черви активно использовали его для распространения.

Независимо от того, какую учетную запись вы предоставляете, MS-SQL запрещает доступ к cmd.exe. Убедитесь, что ни один из приложений не использует учетную запись «sa», вместо этого предоставьте им конкретную учетную запись, в которой есть только те кости, которые мне нужны для работы. Даже если вы не предоставляете приложению доступ к xp_cmdshell (), возможно провести атаку на повышение привилегий через внедрение SQL. Например, SqlNinja попытается перебором учетной записи «sa» с помощью SQL-инъекции.

Я также рекомендую выполнить эти шаги, изложенные в моем Microsoft , особенно тестирование, чтобы убедиться, что ваши системы безопасности держат воду.

...