ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

c#-Azure SQL连接的安全性如何?

2019-11-08 13:05:15  阅读:183  来源: 互联网

标签:azure security azure-sql-database networking c


我正在使用WPF应用程序进行工作,该应用程序使用EF 6和定义的连接字符串连接到Azure SQL(没有Web服务可以在运行SQL和Web服务器的Azure上节省资金).

所以我的问题是这种连接的安全性如何?

我有连接字符串Encrypt = True(所以我正在使用SSL).
我正在使用AD用户凭证连接到数据库本身(AD用户和相应的包含的DB用户的组合,不幸的是,用户名和密码在app的配置文件中).
我已经在Azure AD中注册了应用程序,并授予其使用此包含的数据库用户匹配的AD用户访问数据库的权限. (我正在使用此应用程序客户端ID来识别通信来自我的WPF应用程序).

我在这里看到的唯一威胁是,如果有人获得安装了应用程序的计算机的访问权限,并从配置文件中检索建立连接并进行身份验证所需的所有信息.

但是我在网络方面真的很虚弱,我不知道有人能从窒息的网络流量中获取那些信息. (我自己尝试过使用wireshark,但是对我来说,这一切看起来简直是胡言乱语)

那么,有人知道如何以任何方式破坏这种交流吗?

解决方法:

SQL Server和SQL Azure支持数据库连接的加密(动态加密).请注意,SSL是该术语的较旧术语-当前支持与SQL引擎(在任何情况下)进行通信的最佳功能是TLS 1.2.请注意,与SQL Azure对话时,您需要具有正确(最新)的客户端驱动程序版本才能获得此安全性.使用这些驱动程序时,SQL Azure默认情况下会强制执行加密.您可以在这篇文章中阅读其当前状态:
https://support.microsoft.com/en-us/help/3135244/tls-1-2-support-for-microsoft-sql-server

关于您的更广泛的问题,编写应用程序(2层或3层)时,需要考虑很多事情.您应该查看Azure SQL DB上的防火墙以锁定启用的所有路径.您应该使用SQL权限模型来限制每个用户/角色在数据库中进行操作时可以执行的操作.您应该使用audit来跟踪谁(以及从何处)连接到数据库.您应确保使用的是TDE(默认情况下,SQL Azure中的新数据库处于启用状态). SQL中还有其他安全功能,它们可能也对您有用(行级安全性,数据屏蔽,始终加密等).网络部分实际上只是设计安全解决方案的起点.

标签:azure,security,azure-sql-database,networking,c
来源: https://codeday.me/bug/20191108/2008233.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有