我有一个客户端连接到Azure SQL Server.在我添加的连接字符串中Encrypt=True
,以确保SQL Server和客户端之间的数据是加密的.
现在我想检查是否真的如此,我(以及其他所有人)都看不到SQL查询.检查这个问题的最佳方法是什么?我可以使用像Wireshark这样的嗅探器来检查端口1433(SQL端口)上的流量,但这是最好的方法吗?
确实,所有与SQL Azure的连接都是加密的 - 无论您是否使用该Encrypt=True
字符串.它会强制连接加密,即使你没有 - 因为连接设置不能降低安全级别.但是,出于几个原因,您确实希望使用该字符串.
每当您包含Encrypt=True
字符串时,连接都将要求您的客户端验证SQL Azure提供的证书,以确保密钥是Microsoft使用的密钥.如果您不包含该字符串,则可能 - 不太可能,但可能 - 有人可能会设置虚假DNS以使您的证书在其他地方得到验证.更有可能的是,证书不会被验证.如果无法验证证书,则连接尝试失败.有关更多信息,请参阅链接和链接.
因此,当您使用工具捕获数据包时,您都会获得加密数据包.没有人可以看到您的查询.