我在c#.net中有一个windows应用程序,它使用mysql数据库存储数据。mysql数据库和windows应用程序在同一台计算机上。我正在对我工作的系统进行安全审计,其中一个要求是加密c#和mysql之间的所有通信。我已经实现了openssl,连接现在已经加密了,但是我还需要加密c和mysql之间的数据通信。例如,当插入查询从c#执行时,数据包软件(echo mirage)显示明文(带数据的整个插入查询)可能是因为我的c#应用程序使用硬代码查询而不是存储过程。如何加密流量?请帮忙
bbuxkriu1#
如果您的要求之一是“加密c#和mysql之间的所有通信”,那么我建议设置 require_secure_transport 系统变量(在mysql服务器上)设置为1。这将完全防止创建任何不安全的连接。您还需要根据本教程(您在注解中引用了本教程)将mysql服务器配置为使用ssl。在c程序中,确保 SslMode=Required 在连接字符串中。这将确保c#和mysql之间的所有通信,包括查询和响应,都是加密的(除了在连接开始时的一个简短的明文握手)。一旦这样做,echo mirage(或任何网络数据包捕获工具)将无法读取在线查询的纯文本。
require_secure_transport
SslMode=Required
1条答案
按热度按时间bbuxkriu1#
如果您的要求之一是“加密c#和mysql之间的所有通信”,那么我建议设置
require_secure_transport
系统变量(在mysql服务器上)设置为1。这将完全防止创建任何不安全的连接。您还需要根据本教程(您在注解中引用了本教程)将mysql服务器配置为使用ssl。
在c程序中,确保
SslMode=Required
在连接字符串中。这将确保c#和mysql之间的所有通信,包括查询和响应,都是加密的(除了在连接开始时的一个简短的明文握手)。一旦这样做,echo mirage(或任何网络数据包捕获工具)将无法读取在线查询的纯文本。