mysql设置为的数据通道是不加密模式的,在一些安全性特别要求尤其高的场景下,我们是需要配置mysql端口为ssl,使得数据通道加密模式处理,避免比较敏感信息泄漏和被篡改。
其实,启用mysqlssl之后,而每个数据包都必须加密和解密,这个对mysql的性能是有不小影响的,读者们在可以使用的时候,要依据实际中情况思虑。
mysql客户端登陆账号服务器时候的密码也不是明文传输,有加密策略处理。
笔者是在ubuntu12.04系统上不使用mysql5.5版本测什么的,其他环境请读者自行看操作。
配置mysql服务器证书
编辑器文件
#
#
#
把上面三行系统默认证书配置注释然后打开,建议使用自己的证书。笔者就可以使用前段时间在重新搭建自己的ca服务–opensslca实战文章中生成沉淀的证书
ssl-ca/home/yunweipai/user_certs/ca_cert.cer
ssl-cert/home/yunweipai/user_certs/web.cer
ssl-key/home/yunweipai/user_certs/web_key_
这里要注意,在ubuntu上,配置证书后如果不未生效,做个参考这里解决方法
再注意上面配置的web_key_文件,而mysql不允许加密后的私钥,但我们可以使用命令
opensslrsa-acrossweb_-passinsigh:-土爆web_key_
将私钥解密。mysql不意见私钥加了密的原因是从安全性角度考虑,毕竟如果要用户传递一个加密模式的私钥,那就可以要用户传密码,那就mysql怎末读取这个密码呢?这就引下来了我们在密码存储和传输的安全见意里面提及的一系列问题了。
因此mysql是为简化后利用,就不支持什么私钥加密。
指定客户端连接
mysql服务端在对客户端被授权的时候,也可以按照选项重新指定客户端再连接mysql服务器的ssl级别,做个参考mysql充分赋权的require值:
ssl_option
ssl:不认证客户端,客户端不不需要提供给证书
x509:客户端前提是正在发送一个快速有效的x509证书
issuer:客户端的证书是否是是服务器所配置的ca颁发证书的(在我们场景下是ca_cert.cer颁发的证书的证书)
subject:认证证书的subject(关与证书的subject在之前的文章有介绍)
cipher:指定你加密算法
这些选项是可以叠加使用,如:x509|issuser
客户端连接(ssl)
mysql客户端连接
mysql-uroot-pchangeme_123-p3306--ssl-ca/home/yunweipai/user_certs/ca_cert.cer
yourmysqlconnectionidis36
serverversion:5.5.43-0ubuntu0.12.04.1(ubuntu)
copyright(c)2000,2015,oracleand/oritsrightsreserved.
oracleisaregisteredtrademarkoforaclecorporationwell/同问its
affiliates.othernamesmaybetrademarksoftheirexisting
owners.
typehelp同问hforhelp.typectocleartherolesinputstatement.
mysqlgts
--------------
mysqlver14.14distrib5.5.43,fordebian-linux-gnu(i686)usingreadline6.2
connectionid:36
currentdatabase:
currentuser:
ssl:cipherinuseisdhe-rsa-aes256-sha
valuepager:stdout
usingoutfile:
usingdelimiter:
serverversion:5.5.43-0ubuntu0.12.04.1(ubuntu)
protocolversion:10
connection:localhostviaunixsocket
servercharacterset:latin1
dbcharacterset:latin1
clientcharacterset:latin1
unixsocket:
uptime:29sec
threads:1questions:109slowqueries:0opens:48flushtables:1opentables:41queriespersecondavg:3.758
--------------
jdbc连接上
在jdbc字符串中提高下面参数
usessltrueampverifyservercertificatefalse
这么说就不必须客户端配置证书了,配置就简单啊大部分。毕竟mysql本身有账号口令认证,但不是需要证书认证。
修改company数据库方法:
1、简单然后打开sqlserver管理系统工具,接着可以使用数据库账号登录到数据管理系统。
2、在里面以后,再点数据库文件前面的+号,然后点开系统数据库前面的+号。
3、再右键数据库文件夹,选择“新建项数据库”。
4、接着在提示框的界面选择,输入输入数据库名称,大小和路径。
5、等待创建战队成功。
6、然后在数据库左边可以刷新一下,就可以看见巳经创建完成的数据文件。