(1)SSL加密
1)查看是否默认支持SSL/TLS协议并且自动生成相关的文件
show variables like '%have_ssl%'
2)查看是否已使用SSL,一般为未使用
status
3)使用指定网络协议方式进行登录,仅限在当前会话
mysql -u root -p -hlocalhost --protocol=tcp
4)此时SSL已采用tcp的加密算法
status
5)查看当前支持的加密算法
show session status like '%ssl_ciph%'\G
6)强制使用SSL,可以在 /etc/my.cnf 配置文档中,加入以下配置信息,以后都要求走SSL
[mysql]
ssl-ca=/var/lib/mysql/ca.pem
ssl-cert=/var/lib/mysql/client-cert.pem
ssl-key=/var/lib/mysql/client-key.pem
[mysqld]
ssl-ca=/var/lib/mysql/ca.pem
ssl-cert=/var/lib/mysql/client-cert.pem
ssl-key=/var/lib/mysql/client-key.pem
7)然后重启数据库
systemctl restart mysqld
8)查看用户密码的设置标准
show variables like '%password%'
9)将已创建的用户设置为SSL加密连接
alter user 'root'@'localhost' require ssl
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码' REQUIRE SSL # 对新创建的用户设置SSL加密连接
(2)连接控制插件安装
1)/etc/my.cnf 配置文档中增加以下配置信息
[mysqld]
plugin-load-add = connection_control.so
connection-control = FORCE
connection-control-failed-login-attempts = FORCE
connection_control_min_connection_delay = 1000
connection_control_max_connection_delay = 86400
connection_control_failed_connections_threshold = 3
2)登入数据库,启用插件动态安装
INSTALL PLUGIN CONNECTION_CONTROL SONAME 'connection_control.so'
INSTALL PLUGIN ONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS SONAME 'connection_control.so'
3)验证是否正常安装
SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE 'connection%'
4)查看连接控制信息,此信息可以自定义修改
show variables like 'connection_control%'
信息说明:
connection_control_failed_connections_threshold
失败尝试的次数,默认为3,表示当连接失败3次后启用连接控制,0表示不开启
connection_control_max_connection_delay
响应延迟的最大时间,默认约25天
connection_control_min_connection_delay
响应延迟的最小时间,默认1000微秒,1秒
(3)强制客户端通过TCP/IP连接
1)强制客户端通过TCP/IP连接以测试SSL
mysql -u root -p --protocol=TCP
2)登入数据库,查看当前数据库的SSL连接状态
STATUS
3)在服务器上启用SSL后,与客户机上禁用的SSL连接
mysql -u root -p --protocol=TCP --ssl-mode=DISABLED
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。