金鱼哥RHCA回忆录:RH236GlusterFS-数据传输加密(理论)

举报
金鱼哥 发表于 2022/06/04 18:17:11 2022/06/04
【摘要】 第十五章 GlusterFS-数据传输加密(理论)

🎹 个人简介:大家好,我是 金鱼哥,CSDN运维领域新星创作者,华为云·云享专家,阿里云社区·专家博主
📚个人资质:CCNA、HCNP、CSNA(网络分析师),软考初级、中级网络工程师、RHCSA、RHCE、RHCA、RHCI、ITIL😜
💬格言:努力不一定成功,但要想成功就必须努力🔥


在数据传输过程中,将数据进行加密,防止非授权用户的访问

通过TLS/SSL来实现

在gluster中,主要有两个地方需要加密:

  1. I/O加密,客户端---->server

  2. 管理加密,在一个信任的存储池内,各个节点gusterd进程之间也要连接,所以也要加密


TLS/SSL加密

CA中心

1.server创建自己的密钥对(公钥+私钥),并且使用自己的私钥生成证书申请文件,生成证书申请的时候,还会把自己的公钥也放进去

2.将生成的证书申请文件,发送到CA中心进行签名

3.CA中心,有自己的密钥对和自签名证书,自签名证书里包含了CA中心的公钥,使用自己的私钥,对收到的证书申请进行签名,并回传给server


验证过程

1.客户端发送访问请求到server

2.server将经过CA中心签过名的证书发送给客户端

3.客户端收到这个证书,首先要对这个证书进行验证,因为这个证书是用CA中心的私钥创建的,所以需要用CA中心的公钥进行验证,而CA中心的公钥就在CA中心的自签名证书里,也就是说客户端需要有CA中心的自签名证书

4.如果验证成功,也就说明server是受信任的

5.同理,server端也可以验证客户端


加密过程

加密分对称加密和非对称加密

非对称加密:更加安全,相对于对称加密来说,加解密过程非常慢

对称加密:密码容易泄漏,但加解密速度快

所以,我们可以先通过非对称加密来传输对称加密的密码,然后使用对称加密来进行数据的加解密。

1.客户端生成一个随机密码,使用server的公钥加密,并传递给server

2.server使用自己的私钥解密,得到这个密码

3.随后,双方就使用这个密码进行对称加解密


创建CA中心

让自己成为CA中心,这个配置大概在172行

# vim /etc/pki/tls/openssl.cnf 
basicConstraints=CA:TRUE
# /etc/pki/tls/misc/CA -newca 

配置一个新的CA中心,命令执行后会有一个交互,交互过程中输入国家(C)、省名(ST)、城市名、组织名(O)、团队名(OU)、common name(一般为域名,CN)、邮箱(emailAddress),文件名直接回车就好,保护私钥密码可不输,直接回车。交互后的信息可以在/etc/pki/CA/index.txt中查看,此信息可以用在申请证书申请文件上,使填写的信息除了common name之外,与CA证书的自签名信息一致,防止中途填错信息导致证书申请文件生成错误。

生成的CA根证书
# ls /etc/pki/CA/cacert.pem 
生成的CA私钥
# ls /etc/pki/CA/private/cakey.pem 

证书和密钥

在所有节点和客户端(此处以node1为例)

生成node1的RSA私钥
# openssl genrsa -out /etc/ssl/glusterfs.key 2048 
#注意,密钥文件名字必须叫glusterfs.key

创建证书申请文件
# openssl req -new -sha256 -key /etc/ssl/glusterfs.key \ 
-out /etc/ssl/node1.csr \ 
-subj '/C=CN/ST=GD/O=togogo/OU=rhca/CN=client/emailAddress=admin@togogo.com'

将申请文件传到CA中心:
# scp /etc/ssl/node1.csr root@desktop:/root 

到CA中心

将申请文件传到CA中心,生成被CA签名过的证书:
# openssl ca -keyfile /etc/pki/CA/private/cakey.pem \ 
-cert /etc/pki/CA/cacert.pem \ 
-in /root/node1.csr \ 
-out /root/pem/node1.pem 
注意,如果想为某一个主机重新生成证书,COMMON NAME一样,默认是不允许的,除非:
# vim /etc/pki/tls/openssl.cnf 
unique_subject = no 
或是在此文件删除对应条目:
# vim /etc/pki/CA/index.txt 

否则会出现如下报错

Sign the certificate? [y/n]:y
failed to update database
TXT_DB error number 2
unable to write 'random state'
造成原因如下:
This thing happens when certificates share common data. You cannot have two 
certificates that look otherwise the same.

1. 修改demoCA下 index.txt.attr
将
unique_subject = yes
改完
unique_subject = no

2. 删除index.txt,然后重新创建一个同名空白文件
# rm index.txt
# touch index.txt 
将签过名的证书传给server和client
# scp /etc/pki/CA/newcerts/[签过名的私钥证书].pem root@node1:/etc/ssl/glusterfs.pem 
(这个其实是 -out 制定路径的证书)
目录下应该有两个.pem文件,一个是刚生成的证书,一个CA自签名的证书,可以cat看一下内容确认,(OpenSSL Generated Certificate)自签名证书需要进行下面的操作:

注意:证书名称必须叫glusterfs.pem


将CA中心的自签名证书传给server和client,一般为/etc/pki/CA/index.txt的第一条:
# scp /etc/pki/CA/newcerts/[CA中心的自签名证书].pem root@node1:/etc/ssl/glusterfs.ca 
(其实就是一开始时,CA中心生成在 /etc/pki/CA/cacert.pem 的证书)

注意:证书名称必须叫 glusterfs.ca

注:需要为所有节点创建证书,包括客户端,因为服务端也要验证客户端


配置加密

配置加密分为配置管理加密和配置I/O加密:

配置管理加密

在所有节点
# touch /var/lib/glusterd/secure-access 
创建这个文件,表示启用服务器之间,及客户端和服务器之间使用加密,需要在所有节点和客户端都有
# systemctl restart glusterd 
注意,以上步骤要在所有节点完成

配置I/O加密

先停止volume
# gluster volume stop vol1 
设置vol1这个volume允许其它server和客户端,通过ssl验证
# gluster volume set vol1 auth.ssl-allow 'node1,node2,node3,node4,desktop' 
注意,后面要写证书里面的common name
设置存储卷开启加密
# gluster volume set vol1 client.ssl on 
# gluster volume set vol1 server.ssl on 

启动卷:
# gluster volume start vol1 
配置使用DH算法,实现对称密钥的交换
# openssl dhparam -out /etc/ssl/dhparam.pem 2048 
在所有server节点执行,文档没这步,如果不做,后面客户端可能挂载不上,如果挂载不上,可查看日志:tail /var/log/glusterfs/mnt-vol1.log

配置客户端

设置开启管理加密:
# touch /var/lib/glusterd/secure-access 
拷贝CA证书及加密私有证书到客户端:
# scp /etc/pki/CA/newcerts/***.pem root@desktop:/etc/ssl/glusterfs.ca 
# scp /etc/pki/CA/newcerts/***.pem root@desktop:/etc/ssl/glusterfs.pem 
配置DH算法:
# openssl dhparam -out /etc/ssl/dhparam.pem 2048 
挂在卷测试:
# mount -t glusterfs node1:/vol1 /mnt/vol1

总结

RHCA认证需要经历5门的学习与考试,还是需要花不少时间去学习与备考的,好好加油,可以噶🤪。

以上就是【金鱼哥】对 第十五章 GlusterFS-数据传输加密(理论) 的简述和讲解。希望能对看到此文章的小伙伴有所帮助。

💾红帽认证专栏系列:
RHCSA专栏:戏说 RHCSA 认证
RHCE专栏:戏说 RHCE 认证
此文章收录在RHCA专栏:RHCA 回忆录

如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点。

如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。