Защита вашего уровня данных в приложении C # - PullRequest
12 голосов
/ 01 августа 2009

Я думал о том, как защитить Уровень данных в Приложении C #, уровень в этом случае мог быть или Схемой модели LINQ to SQL, сохраненной с самим Приложением, связывающимся со строкой соединения с Базой данных SQL Server.

Или это может быть соединение между приложением и веб-сервисами.

Либо вам необходимо снизить уровень безопасности, например, строку подключения в приложении можно легко преобразовать, а веб-службы можно легко отслеживать и использовать по другим причинам, чем первоначальная цель приложения.

Итак, мой вопрос вкратце: Как вы решаете проблемы безопасности при обработке веб-сервисов и / или прямом подключении к SQL Server из приложения Windows Forms?

Ответы [ 12 ]

0 голосов
/ 01 августа 2009

Мне здесь не совсем понятно. Если приложение winforms вызывает веб-сервис, тогда используйте подходящую модель для взаимно доверенной аутентификации. Это может быть основано на клиентских и серверных сертификатах или SSL с клиентскими сертификатами или даже Net.Tcp, если вы все .Net. Тогда, однако, веб-сервис подвергается воздействию только доверенным клиентам. Затем веб-служба может оставаться за DMZ, а DB за другой DMZ. Используйте соответствующие правила брандмауэра, и IPSec-соединение между веб-сервисом и SQL является опцией.

Для прямого подключения к SQL-серверу для многих приложений winforms проблем много. Подключение к вашей БД должно быть аутентифицировано и зашифровано. В любом случае ваш сервер SQL будет выставлен, и я бы не рекомендовал такую ​​модель.

0 голосов
/ 01 августа 2009

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

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

Вы также можете использовать SSL-шифрование в веб-службах и предоставлять только конечные точки HTTPS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...