Как Вы настраиваете SQL Server MS для предотвращения представления всех имен базы данных и логинов какого-либо аутентифицируемого пользователя?

Вот английский, за которым я следую (ориентированные подсказки Cisco):

6
задан 4 March 2010 в 19:43
5 ответов

Говоря со стороны разработки, я могу сказать, что администратор должен смочь заблокировать всех вниз к их собственной базе данных (и вероятно ведущее устройство также для метаданных). Из MSDN список SQL Server securables включает базы данных, и полномочия включают способность даже видеть базу данных. Вот ссылка на соображения безопасности MSDN для баз данных.

4
ответ дан 3 December 2019 в 00:27

Studio управления получает список баз данных от sys.databases. Полномочия по умолчанию на sys.databases для каждого входа в систему для наблюдения только своей собственной базы данных:

Если вызывающая сторона sys.databases не является владельцем базы данных, и база данных не является ведущим устройством или tempdb, минимальные полномочия, требуемые видеть, что соответствующая строка, ИЗМЕНЯЮТ ЛЮБУЮ БАЗУ ДАННЫХ или ПРОСМАТРИВАЮТ ЛЮБОЕ разрешение уровня сервера базы данных или разрешение CREATE DATABASE в основной базе данных. База данных, с которой подключена вызывающая сторона, может всегда просматриваться в sys.databases.

Если у Вас есть логины, которые видят базы данных другой, который их собственное, это подразумевает, сказал, что логины имеют ненужные полномочия, как CREATE DATABASE.

3
ответ дан 3 December 2019 в 00:27

Используя MS SQL этот путь как общий хост не кажется мне желательный вообще - но Вы получаете то, за что Вы платите. Если Ваши положения и условия Вашего контракта не говорят, что Вы получаете свой собственный экземпляр SQL и только получаете базу данных в общем экземпляре, то Вы действительно получаете то, за что Вы платите.

0
ответ дан 3 December 2019 в 00:27

Это скрывает другие БД и пользователей, но только для одного пользователя (вероятно, то, что вам все равно нужно). Я тестировал его на MS SQL 2008 R2.

В Server Management Studio:

  • Создайте учетную запись пользователя, не устанавливайте никаких разрешений
  • Откройте свойства сервера> Разрешения> выберите новую учетную запись> проверьте Поле «Запретить просмотр баз данных»
  • Откройте свойства базы данных> Файлы> установите владельцем БД учетную запись пользователя
0
ответ дан 3 December 2019 в 00:27

Чтобы скрыть базы данных для всех LOGINS, удалите/отзовите разрешение "VIEW ANY DATABASE" из роли публичного сервера

http://sqlism.blogspot.com/2014/10/preventing-logins-and-users-to-see. html

0
ответ дан 3 December 2019 в 00:27

Теги

Похожие вопросы