Использование SP_OACreate, SP_OAMethod и т. Д. Является угрозой безопасности? - PullRequest
1 голос
/ 23 апреля 2010

Мне сказали, что использование SP_OACreate, SP_OAMethod в SQL Server 2000 представляет угрозу безопасности.

Я использую строгое имя в сборке и хранится в GAC на машине SQL Server.

Каковы последствия / компромисс для безопасности?

Ответы [ 2 ]

5 голосов
/ 30 ноября 2011

Эти расширенные хранимые процедуры позволяют создавать экземпляры объекта OLE («ActiveX») изнутри SQL Server.Типичный пример использования: создание объекта MSXML и отправка ему некоторых данных базы данных в виде HTTP POST.

На мой взгляд, есть две проблемы с процедурами sp_OACreate и т. Д.1006 * Только участники в роли sysadmin могут выполнять их по умолчанию.Предоставление и проверка этих разрешений - это боль.(Вы должны добавить пользователя в базу данных Master и предоставить ему разрешения в этой базе данных.)

Предоставленное разрешение очень широкое.Вы не можете просто сказать: «Хорошо, пользователь, у тебя есть право создавать объекты такого типа и делать с ними xyz».Вместо этого вы говорите: «Хорошо, пользователь, у вас есть право создавать любой объект OLE, который вы хотите, и делать все, что вы хотите».Это довольно широкий холст.

0 голосов
/ 23 апреля 2010

Не уверен, что вы пытаетесь, но для SQL 2000 вы должны прочитать Использование расширенных хранимых процедур или хранимых процедур SP_OA для загрузки CLR в SQL Server не поддерживается .

Существует риск того, что выдолжен предоставить EXECUTE разрешение на SP_OACreate пользователю.Это означает, что если они впоследствии найдут способ выполнить произвольный SQL, они могут создать экземпляры любой библиотеки, доступной на сервере.Другая проблема заключается в том, что SP_OACreate загружает библиотеку в процессе, поэтому, если она бомбит, ваш сервер тоже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...