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

Я просто включил удаленные подключения в моей установке 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
  • Недостаток узла главной таблицы, SQL Server 2012 SP1
  • Как выбрать все даты с 2002 по 2013 год в Microsoft Sql Server 2012
  • Почему я не могу подключиться к общему экземпляру SQL Server 2012 LocalDB?
  • Как просмотреть запрос, который использовался для создания таблицы?
  • Есть ли способ генерировать миллионные адреса mac более эффективно?
  • Могу ли я разработать SQL Server Express для последующего развертывания на полном SQL Server?
  • Как получить значения за все месяцы в T-SQL
  • Настройка состояния NOCOUNT с локальной переменной
  • Полнотекстовый поиск не работает, если включено стоп-слово, даже если стоп-лист пуст
  • Получить файл .sql из базы данных SQL Server 2012
  • Interesting Posts

    Можно ли создать общий SP для определения медианы?

    Есть ли способ определения хранимой процедуры SQL Server, возвращает набор записей

    Альтернатива представлениям?

    SQL-хранимая процедура возвращает только первую строку таблицы, созданную функцией

    Индекс находился вне границ массива. (Microsoft.SqlServer.smo)

    Разница во времени выполнения хранимой процедуры SQL

    Является ли эта транзакция ROLLBACK (ed) для меня?

    Мой запрос SUM возвращает значение null. Он должен вернуть 0

    Как правильно использовать область транзакций для простого процесса ETL?

    Функции агрегации MySQL без предложения GROUP BY

    Как создать последовательность в SQL Server 2008

    SQL Server – по дате понедельника по номеру недели и году (просмотр)

    Получение самых последних записей из полнотекстового индекса SQL Server

    Уникальный отфильтрованный индекс и индексированное представление игнорируются оптимизатором

    Порядок XML, использующий FOR XML PATH

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