Разрешить удаленное подключение только для определенных пользователей

Я просто включил удаленные подключения в моей установке SQL Server Express 2012. Теперь я немного беспокоюсь о безопасности сервера, потому что разрешение на соединение со всеми звучит как большая дыра в безопасности для меня.

Можно ли сообщить SQL Server об отключении, если пользователь пытается аутентифицироваться с пользователем, который не входит в мой список «разрешить»? Если это так, я мог бы добавить пользователя мониторинга в этот список и не беспокоиться о том, что мои учетные записи администратора доступны.

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

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

Существует хорошая статья о том, что такое безопасность SQL Server здесь

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

Триггер входа запускается каждый раз, когда пользователь входит в систему. Вы можете создать таблицу «разрешенных» пользователей, а в триггере, если они не находятся в таблице, вы ROLLBACK, фактически запретив вход в систему.

Вот информация о создании триггера входа в систему

Вы должны иметь возможность настроить сервер db только для приема соединений с определенных IP-адресов, а не для всех из них. Я не уверен в синтаксисе T-SQL, но кто-то наверняка перезвонит правильному.

Если вы действительно имеете в виду бизнес, то, как говорится, вы хотите аутентифицировать клиентов, используя сертификаты, которые вы им даете. См. Это и различные статьи, на которые он ссылается:

https://security.stackexchange.com/questions/14589/advantages-of-client-certificates-for-client-authentication

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

Это тихий / невидимый для «Доверенных логинов» (где авторизация происходит из учетной записи входа в Windows или домена), но все равно это происходит.

Если вы посмотрите в папку «Безопасность» вашего сервера (в SSMS), вы увидите список авторизованных логинов для вас SQL Server. Добавляя или удаляя их, вы можете контролировать, кто может фактически создать сеанс на вашем SQL Server.

  • Экземпляр по умолчанию для SQL Server 2012 не работает
  • Сбой базы данных SQL Server 2012 Express
  • Полнотекстовый поиск не работает, если включено стоп-слово, даже если стоп-лист пуст
  • Получить файл .sql из базы данных SQL Server 2012
  • microsoft sql server 2012 express edition - ограничение одновременных вставок
  • Как предотвратить «истечение тайм-аута запроса»? (Ошибка SQLNCLI11 '80040e31')
  • «Сервисный брокер». Главный сервер «sa» не может получить доступ к базе данных в контексте текущей безопасности
  • Почему я не могу подключиться к общему экземпляру SQL Server 2012 LocalDB?
  • Имея базовую проблему SQL с использованием Microsoft SQL Server 2012
  • СОЗДАТЬ МАСТЕР-КЛЮЧ - Ошибка проверки пароля
  • как вставить значение в таблицу типов данных изображения
  • Interesting Posts

    Чтение SSIS из плоского файла

    SQL Server, как запустить обновление в динамическом списке имен таблиц

    лучший способ достичь 30 000 вставок в секунду в SQL

    Переименование столбца в MS SQL Server 2005

    Сохраненная процедура: имя столбца не отображается во время выполнения выходных параметров

    SQL Profiler 2008 Deadlock Graph ToolTip Не показывать фактические операторы

    Как вернуть результат оператора SELECT COUNT в виде строки в C #?

    Как определить, следует ли использовать join в linq для sql?

    Удаление букв (az) из оператора select

    SQL построить запрос из результата

    Стратегии кеширования на стороне сервера для автозаполнения jQuery?

    Почему я не могу подключиться к удаленному SQL-серверу через приложение C #?

    Сопоставление структуры базы данных с SQL Server на DynamoDB

    При использовании nhibernate, как я могу сделать ThenFetch (), а затем вносить в mulitple Properties / join?

    Преобразование столбца из String в Int-Alter Script MSSQL

    Давайте будем гением компьютера.