У меня есть SQL Server, работающий на компьютере под управлением Windows 2008 R2, на котором должны выполняться основные запросы (SELECT/INSERT/UPDATE). Эти операции выполняются непосредственно клиентом, приложение, написанное на C#, которое установлено на одном компьютере в другом месте, поэтому соединение происходит через Интернет.Безопасность клиента/сервера в C#/SQL Server
Поскольку природа операций, выполняемых в БД, настолько проста, я бы предпочел не писать back-end поверх SQL Server. Поэтому настройка для обеспечения безопасности:
1) Имя пользователя и пароль, написанные на клиенте и отправленные.
2) Запрос запроса (параметризованный) запускается на сервере, а хэш и соль пароля возвращаются клиенту.
3) Пароль и соль добавляются, хешируются с использованием SHA_512 и сравниваются с хэшем пароля.
4) Если вам соответствуют два, вам предоставляется доступ к набору инструментов, который создает и отправляет запросы.
После изучения этой темы я чувствую, что эта система имеет некоторые недостатки в области безопасности, но я не могу точно указать, какие именно эти уязвимости могут быть.
Для одного у вас есть сервер в Интернете с портом 1433 открытым . – Paparazzi
Трафик между вашим клиентом и SQL-сервером [зашифрован] (https://technet.microsoft.com/en-us/library/ms189067 (v = sql.105) .aspx), право? –
Да SSL. На данный момент Im тестирует, так что все его локальные используют «Integrated Security». – Kafros