Параметры конфигурации безопасности SQL Server для клиентского / серверного приложения Windows Desktop - PullRequest
0 голосов
/ 17 декабря 2009

Я занимаюсь разработкой клиент-серверного приложения Windows в .NET, где клиентское приложение подключается к SQL Server Express 2005 через собственный клиент SQL и строку подключения. Затем клиент выполняет SQL через соединение с базой данных напрямую (без хранимых процедур).

Как я могу настроить безопасность SQL Server (или Windows) таким образом, чтобы только мои подписанные двоичные файлы приложения могли подключаться к базе данных и ничего с клиентских компьютеров? (т. е. не SQL Server Management Studio Express, взломанные версии моих двоичных файлов или другой вредоносный код) Нужно ли мне встраивать криптографические ключи в мое приложение? Если да, то как их защитить от атак разборки?

Клиентские или серверные машины могут быть размещены в корпоративном домене. Использование полной версии SQL Server вместо SQL Server Express также возможно. Я также хотел бы по-прежнему иметь возможность локально запускать SSMSE на компьютере-сервере для обновлений и поддержки (на сервере будет обеспечена физическая защита «замки и блокировки» для предотвращения доступа к нему).

Мое приложение должно считывать данные из таблиц для расчета сводной информации. Сводная информация не нуждается в защите, но подробные отдельные строки делают. Я думаю, что это требование исключает любую форму разрешений на основе таблиц в сочетании с учетными записями Windows или именами и паролями пользователей SQL Server.

Ответы [ 2 ]

0 голосов
/ 18 декабря 2009

Я бы использовал какую-то учетную запись Windows или комбинацию имени пользователя и пароля : -)

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

Единственный другой способ «входа» - это учетная запись, такая как «Администратор» или «SA», у которой есть роль сервера, предоставляющая доступ ко всему серверу SQL, поэтому вам нужно убедиться, что у пользователя нет доступа к серверу SQL через этот путь. Это довольно просто сделать - ограничить группу Builtin \ Administrators в SQL Server, например, назначив ей только Public, а не sysadmin, отключить учетную запись SA (если сервер имеет аутентификацию в смешанном режиме) и заменить другую учетную запись под вашим контролем действовать как администратор системы. Будьте осторожны, чтобы не запереться: -).

0 голосов
/ 17 декабря 2009

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

Вот немного информации о Роли приложений

...