Какой вред DBO может причинить серверу?
Помимо выполнения XP_CmdShell, которое я отключил в моей установке SQL 2005, что может сделать злонамеренный пользователь, который получает права DBO на мою базу данных:
- К моей базе данных,
- На мой сервер?
Я оцениваю наихудший риск для безопасности, когда кто-то получает DBO, чтобы оправдать запуск "наименее привилегированной" учетной записи пользователя в приложении. Некоторые утверждают, что, поскольку мы не работаем с "конфиденциальными данными", влияние того, кто получает DBO, минимально.
6 ответов
Он может запустить любой XP_ sproc, чтобы он мог испортить реестр и испортить весь ваш сервер с одной стороны. удалить / изменить таблицы и т.д...
dbo является владельцем базы данных - может быть или не быть sa. Как и в случае с dbo, вы можете свободно управлять собственной базой данных - очевидно, это может привести к изменению прав доступа, удалению таблиц и т. Д.
Как и у вас, у вас есть свободный контроль над сервером. Это включает в себя установку новых расширенных процедур (или сборок.NET, если у вас включен CLR), а также все, что может сделать dbo (для всех баз данных). И вы также можете снова включить xp_cmdshell.
Много информации в Интернете о внедрении SQL. Ограничение привилегий пользователя, с которым вы подключаетесь к SQL, является одним из очень важных препятствий.
http://en.wikipedia.org/wiki/SQL_injection
Вот простой, пугающий пример, с которым я столкнулся пару лет назад. Веб-сайт генерирует SQL-выражения на лету, используя URL-адреса, и запускает их. Я смог догадаться, что URL-адреса, как
www.blah.com/.../load.aspx?itemid=1
произвел SQL, как это
ВЫБРАТЬ * ИЗ элементов, где id = 1
поэтому я отправил этот URL:
www.blah.com/.../load.aspx?itemid=1; удаление элементов таблицы
бах.
По крайней мере, если бы соединение с БД не было dbo, это было бы неудачно.
Да уж. Типичная защита - "ну, по крайней мере, он ничего не может испортить вне своей базы данных" (xp_CmdShell не включен). Я, мне не комфортно, когда я запираюсь на бешеной собаке в запертом шкафу в моем доме. Но эта аналогия не слишком выгодна для менеджмента.
Проще говоря, если он владеет вашей базой данных, он pwns вашей базе данных. То есть, вы можете поцеловать ваши данные до свидания.
То есть, вы можете поцеловать ваши данные до свидания.
Но у вас есть резервные копии на диске и на ленте, так что вы золотой!