【问题标题】:Microsoft BCP Username and Password Encrypt On the Wire?Microsoft BCP 用户名和密码在线加密?
【发布时间】:2018-10-09 21:17:08
【问题描述】:
我想使用 Microsoft BCP 通过 SQL 身份验证访问 Azure SQL。当我这样做时,命令行上传递的用户名和密码是否会通过网络加密?由于对 Azure SQL 的访问必须通过 Internet,因此如果密码以明文形式传输,则无法安全地使用带有 SQL 身份验证的 BCP。
我从上一篇文章中看到,“-X”标志强制 Sybase BCP 使用此选项,但 SQL Server BCP 未列出此选项。 Microsoft BCP 是否默认执行此操作?
【问题讨论】:
标签:
sql-server
azure-sql-database
bcp
【解决方案1】:
是的,密码将通过网络加密。来自 BCP 的登录 TDS 数据包像所有 Microsoft SQL Server 客户端应用程序一样被加密。此外,Azure SQL 数据库需要 TLS 加密。
【解决方案2】:
Jonathan Gao (MSFT) 在here 中写道:“无论选择何种客户端库,数据都使用表格数据流 (TDS) 通过安全套接字层 (SSL) 传输。Windows Azure SQL 数据库不支持未加密的连接。这将确保数据传输的安全,并有助于防止中间人跳转攻击。
用于加密的握手在 TDS 协议的 PRELOGIN 跳转流中完成,这是任何客户端与 SQL Server 和 SQL 数据库通信所必需的。