论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
安全
›
终端安全
›
MySQL系列之长途管理(安全)
MySQL系列之长途管理(安全)
悠扬随风
论坛元老
|
5 天前
|
显示全部楼层
|
阅读模式
楼主
主题
1784
|
帖子
1784
|
积分
5352
导览
媒介
Q:怎样保障长途登录安全
一、长途登录的主要方式
1. 用户名/口令
2. SSH
3. SSL/TLS
二、使用TLS协议加密毗连
1. 服务端
2. 客户端
结语
精彩回放
媒介
在我们的学习或工作过程中,作为开发、测试或运维职员,常常会通过各类客户端软件,长途登录MySQL数据库。作为DBA大概须要考虑这里轻易出现的“纰漏”。比如在上篇文章(快捷入口)中,假如我们未设置保持登录的有效期,那么黑客大概会使用这个漏洞,进行数据窃听。
当然我们能想到的,在MySQL自身迭代的过程中,天然也会涉及。本日博主开始讲讲MySQL是怎样做长途登录安全吧。
Q:怎样保障长途登录安全
提示:本文示例均已MySQL5.7为例。
一、长途登录的主要方式
首先来看看MySQL支持哪些登录范例:
1. 用户名/口令
这是长途登录最常用的方式,只要提供主机、用户、暗码即可,如下图所示:
提示:使用简单,但不安全。
2. SSH
通过SSH协议(Secure Shell)创建一个安全的加密通道,以Shell命令的方式访问长途数据库。此时数据库服务须要开通相关权限。
3. SSL/TLS
通过SSL协议登录数据库,实现安全访问。
二、使用TLS协议加密毗连
本文主要介绍通过TLS协议加密长途毗连。各位先试想一下,如未实现传输加密,效果会怎么样?
MySQL支持使用TLS(传输层安全)协议在客户端和服务器之间进行加密。TLS使用加密算法来确保通过公共网络吸收到的数据是可信的。因此为实现加密,我们通常须要围绕以下几方面完成相关设置。
1. 服务端
在服务端,--ssl选项指定服务器允许但不须要加密毗连。默认情况下启用此选项,因此不须要显式指定。假如须要客户端使用加密毗连,必须在服务端启用变量:require_secure_transport。
在
my.cnf
文件中,进行如下界说:
[mysqld]
require_secure_transport=ON
复制代码
在此基础上,指定以下配套变量:
[mysqld]
ssl_ca=CA证书公钥文件
ssl_cert=MySQL服务证书公钥文件
ssl_key=MySQL服务证书私钥文件
复制代码
2. 客户端
默认情况下,假如服务器支持加密毗连,MySQL客户端程序会尝试创建加密毗连,并通过--ssl差别的模式加以控制:
–ssl mode=PREFERRED
在没有–ssl模式选项的情况下,客户端会尝试使用加密进行毗连,假如无法创建加密毗连,则会退回到未加密的毗连。这也是显式–ssl mode=PREFERRED选项的行为。
–ssl mode=REQUIRED
客户端须要加密毗连,假如无法创建毗连,则会失败。
–ssl mode=DISABLED
客户端使用未加密的毗连。
–ssl mode=VERIFY_CA或VERIFY_IDENTITY
客户端须要加密毗连,还须要对服务器CA证书进行验证,并(使用VERIFY_IENTITY)对其证书中的服务器主机名进行验证。
提示:
假如选择默认设置–ssl mode为PREFERRED时,将天生加密毗连。但是,客户端验证服务器的身份非常告急,因此设置–ssl mode为VERIFY_CA或VERIFY_IDENTITY是比默认选项更好的选择,它可以帮助防止复杂的中央人攻击。VERIFY_CA使客户端查抄服务器的证书是否有效。VERIFY_IDENTITY使客户端查抄服务器的证书是否有效,并使客户端查抄客户端使用的主机名是否与服务器证书匹配。如满足该安全要求,你必须先确保服务器的CA证书对当前情况中使用它的全部客户端都是可靠的,否则将导致可用性问题。
客户端的以下选项(或毗连参数)标识了客户端在与服务器创建加密毗连时使用的证书和密钥文件。它们类似于服务器端使用的ssl_ca、ssl_cert和ssl_key体系变量,但–ssl-cert和–ssl-key标识客户端公钥和私钥:
--ssl-ca:CA证书公钥文件,必须与服务端CA证书一致
--ssl-cert:客户端证书公钥文件
--ssl-key:客户端证书私钥文件
复制代码
为了提高安全性,客户端可以提供与服务端CA证书的相同CA证书,并启用主机名身份验证。通过这种方式,服务器和客户端将信任放在同一个CA证书上。客户端验证其毗连的主机是否是预期的主机:
要指定CA证书,请使用–ssl-CA(或–ssl-capath),并指定–ssl-mode=VERIFY_CA。
要同时启用主机名身份验证,请使用–ssl mode=VERIFY_identity,而不是–ssl mode=VERIFY_CA。
假如要确定与服务器的当前毗连是否使用加密,请查抄ssl_cipher状态变量值:
SHOW SESSION STATUS LIKE 'ssl_cipher';
复制代码
假如该值为空,则毗连未加密。否则,毗连将被加密,该值表示加密暗码。
结语
本文参考MySQL官方文章介绍了MySQL怎样实现长途毗连的安全性,包括一样平常设置建议。如对安全有更改的要求,可参考本文加以实践,接待关注。
走过的、途经的盆友们,点点赞,收收藏,并加以指导,以备不时之需哈~
精彩回放
MySQL系列之身份鉴别(安全)
MySQL系列之数据授权(privilege)
MySQL系列之怎样在Linux只安装客户端
MySQL系列之怎样精确的使用窗口函数(基于8.0版本)
MySQL系列之数据导入导出
MySQL系列之索引入门(上)
MySQL系列之索引入门(下)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
悠扬随风
论坛元老
这个人很懒什么都没写!
楼主热帖
(8) PyQt 设计并实现【工厂扫码装箱系 ...
Java Long类parseLong()方法具有什么功 ...
王心凌再次爆火,为了防止收费,我连夜 ...
IDEA: 如何导入项目模块 以及 将 Java ...
【Web前端】HTML详解(上篇)
命题逻辑等值演算
详解kubernetes五种暴露服务的方式 ...
Uniapp进行APP打包——iOS 系统 ...
Oracle ORA-10917: TABLESPACE GROUP c ...
互联网官方协议标准(rfc5000) ...
标签云
国产数据库
集成商
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表