4.4. 为 Beast 配置 SSL
您可以将 Beast 前端 web 服务器配置为使用 OpenSSL 库来提供传输层安全性(TLS)。若要将安全套接字层(SSL)与 Beast 搭配使用,您需要从与 Ceph 对象网关节点的主机名匹配的证书颁发机构(CA)获取证书。Beast 还需要 secret 密钥、服务器证书以及 single .pem 文件中的任何其他 CA。
防止未经授权访问 .pem 文件,因为它包含 secret 密钥哈希。
红帽建议从带有 Subject Alternative Name(SAN)字段的 CA 获取证书,以及用于 S3 样式子域的通配符。
如果 Ceph 对象网关充当客户端和自定义证书,您可以在节点上导入自定义 CA,然后将 etc/pki 目录映射到容器,使用 Ceph 对象网关规格文件中的 extra_container_args 参数将它注入容器。
先决条件
- 一个运行良好、健康的 Red Hat Ceph Storage 集群。
- 安装 Ceph 对象网关软件包.
- 安装 OpenSSL 软件包.
- Ceph 对象网关节点的根级别访问权限.
流程
在当前目录中创建一个名为
rgw.yml的新文件:示例
[ceph: root@host01 /]# touch rgw.yml打开
rgw.yml文件进行编辑,并根据环境自定义该文件:语法
service_type: rgw service_id: SERVICE_ID service_name: SERVICE_NAME placement: hosts: - HOST_NAME spec: ssl: true rgw_frontend_ssl_certificate: CERT_HASH示例
service_type: rgw service_id: foo service_name: rgw.foo placement: hosts: - host01 spec: ssl: true rgw_frontend_ssl_certificate: | -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEA+Cf4l9OagD6x67HhdCy4Asqw89Zz9ZuGbH50/7ltIMQpJJU0 gu9ObNtIoC0zabJ7n1jujueYgIpOqGnhRSvsGJiEkgN81NLQ9rqAVaGpadjrNLcM bpgqJCZj0vzzmtFBCtenpb5l/EccMFcAydGtGeLP33SaWiZ4Rne56GBInk6SATI/ JSKweGD1y5GiAWipBR4C74HiAW9q6hCOuSdp/2WQxWT3T1j2sjlqxkHdtInUtwOm j5Ism276IndeQ9hR3reFR8PJnKIPx73oTBQ7p9CMR1J4ucq9Ny0J12wQYT00fmJp -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- MIIEBTCCAu2gAwIBAgIUGfYFsj8HyA9Zv2l600hxzT8+gG4wDQYJKoZIhvcNAQEL BQAwgYkxCzAJBgNVBAYTAklOMQwwCgYDVQQIDANLQVIxDDAKBgNVBAcMA0JMUjEM MAoGA1UECgwDUkhUMQswCQYDVQQLDAJCVTEkMCIGA1UEAwwbY2VwaC1zc2wtcmhj czUtOGRjeHY2LW5vZGU1MR0wGwYJKoZIhvcNAQkBFg5hYmNAcmVkaGF0LmNvbTAe -----END CERTIFICATE-----使用服务规格文件部署 Ceph 对象网关:
示例
[ceph: root@host01 /]# ceph orch apply -i rgw.yml
4.4.1. 使用 SAN 配置部署自签名 Cephadm 证书 复制链接链接已复制到粘贴板!
使用 Ceph 对象网关(RGW)条目为 Ceph 对象网关(RGW)条目配置自签名 SSL/TLS 证书对于保护多站点或多域 Ceph 环境中的 RGW 节点之间的通信至关重要。此过程可让管理员自动生成和部署支持多个域名或主机名的证书,为分布式部署提供更大的灵活性并提高安全性。
您可以使用 SAN 配置部署自签名 Cephadm 证书:
- 为 RGW 服务自动生成和部署 SSL/TLS 证书。
- 包含多个 SAN 条目,以支持各种域或主机名。
- 跨不同 Ceph 集群的 RGW 节点之间的安全通信,甚至跨越地理区域或域边界。
这种方法通过确保所有参与节点之间加密通信,简化了安全、可扩展的多站点 RGW 部署。
先决条件
开始前 ,确保您有以下先决条件:
- 一个运行良好、健康的 Red Hat Ceph Storage 集群。
- 安装 Ceph 对象网关软件包.
- 安装 OpenSSL 软件包.
- Ceph 对象网关节点的根级别访问权限.
流程
在当前目录中创建一个名为
rgw.yml的新文件:示例
[ceph: root@host01 /]# touch rgw.yml打开
rgw.yml文件进行编辑,并根据环境自定义该文件:语法
service_type: rgw service_id: SERVICE_ID service_name: SERVICE_NAME placement: hosts: - HOST_NAME spec: ssl: true rgw_frontend_ssl_certificate: CERT_HASH示例
service_type: rgw service_id: foo service_name: rgw.foo placement: hosts: - host01 spec: ssl: true rgw_frontend_ssl_certificate: | -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEA+Cf4l9OagD6x67HhdCy4Asqw89Zz9ZuGbH50/7ltIMQpJJU0 gu9ObNtIoC0zabJ7n1jujueYgIpOqGnhRSvsGJiEkgN81NLQ9rqAVaGpadjrNLcM bpgqJCZj0vzzmtFBCtenpb5l/EccMFcAydGtGeLP33SaWiZ4Rne56GBInk6SATI/ JSKweGD1y5GiAWipBR4C74HiAW9q6hCOuSdp/2WQxWT3T1j2sjlqxkHdtInUtwOm j5Ism276IndeQ9hR3reFR8PJnKIPx73oTBQ7p9CMR1J4ucq9Ny0J12wQYT00fmJp -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- MIIEBTCCAu2gAwIBAgIUGfYFsj8HyA9Zv2l600hxzT8+gG4wDQYJKoZIhvcNAQEL BQAwgYkxCzAJBgNVBAYTAklOMQwwCgYDVQQIDANLQVIxDDAKBgNVBAcMA0JMUjEM MAoGA1UECgwDUkhUMQswCQYDVQQLDAJCVTEkMCIGA1UEAwwbY2VwaC1zc2wtcmhj czUtOGRjeHY2LW5vZGU1MR0wGwYJKoZIhvcNAQkBFg5hYmNAcmVkaGF0LmNvbTAe -----END CERTIFICATE-----使用包含 SSL 配置和 SAN 设置的服务规格文件部署 Ceph 对象网关:
注意在部署使用 SSL 的
rgw服务之前,请务必创建rgw_realm、rgw_zone和rgw_zonegroup。示例
# cat rgw_spec.yaml service_type: rgw service_id: bar service_name: rgw.bar placement: hosts: - ceph-pri-hsm-squid-j9zu1f-node5 spec: rgw_frontend_port: 8085 generate_cert: true rgw_realm: india rgw_zone: primary rgw_zonegroup: shared ssl: true zonegroup_hostnames: - s3.example.com - s3.zone1.example.com
验证
部署 Ceph 对象网关(rgw)守护进程后,验证证书:
检索证书:
语法
ceph orch cert-store get cert rgw_frontend_ssl_cert --service-name RGW_SERVICE_NAME使用 OpenSSL 检查证书的 SANs 字段:
语法
[root@vm-00 ~]# openssl x509 -in rgw_cert.txt -noout -text示例
X509v3 extensions: X509v3 Subject Alternative Name: DNS:s3.zone1.example.com, DNS:s3.example.comX509v3 Subject Alternative Name 部分显示基于
rgw服务规格中定义的zonegroup_hostnames填充的 SAN。
Ceph 对象网关现在配置有 SSL/TLS 证书,包括支持多区或多区域部署所需的多个主机名或域的 SAN 修改。
4.4.2. 使用 Cephadm 配置 RGW 多站点 复制链接链接已复制到粘贴板!
在多站点 Ceph 集群中,使用 Cephadm 配置 RADOS 网关(RGW)。此设置保护 RGW 端点,并在站点之间启用数据复制,确保高可用性、灾难恢复和地理冗余。SSL 对客户端到RGW 通信进行加密,以进行安全数据访问。
先决条件
- 一个运行良好、健康的 Red Hat Ceph Storage 集群。
- 安装 Ceph 对象网关软件包.
- 安装 OpenSSL 软件包.
- Ceph 对象网关节点的根级别访问权限.
流程
从主站点获取 Cephadm-Root CA 证书:
语法
ceph orch cert-store get cert cephadm_root_ca_cert示例
[root@ceph-pri-hsm-cephadm-h0a759-node6 ~]# ceph orch cert-store get cert cephadm_root_ca_cert -----BEGIN CERTIFICATE----- MIIE4DCCAsigAwIBAgIUZJdD1pvtpWwIBdk9WgQltOMsssEwDQYJKoZIhvcNAQEL BQAwFzEVMBMGA1UEAwwMY2VwaGFkbS1yb290MB4XDTI0MTAzMDE0MzcwNFoXDTM0 MTAzMTE0MzcwNFowFzEVMBMGA1UEAwwMY2VwaGFkbS1yb290MIICIjANBgkqhkiG 9w0BAQEFAAOCAg8AMIICCgKCAgEAmYkNVL3rXAblrK12IEXcem4xW8Ki3bySGDcx ft9vSSDRNCTHUYt8LLeQ+EoOVmQGbDwF2/z3FmC8+Mdkg8dB/7c0zpjw1RAkegOy gZCxHxWk/oT25wZcr4SogDzSFbT7dPX3P3H+PxMa/bzvH7vgZjkTgT94sWXu3+Ll 5YbiD/DMEmgty2+UO+ZQOWQB9u9s8d8+tqGuaeAgAdB70D8wi/z4k+u76s4/697o VzyfF7Gj9uCacCJUIs8XXUkIkqlFGxWMJa/ENSHQdd/Un+nWDyiN0KCC5b98EMru lvqrlbdmmOsfUQFDIGI+s4/S90PZXsu8kjCj+sDB+A1371uaeWbn6jC5wjb6+p1H xcCnqwJUO3eJAk6HAvD0OGb6raaVdN5wmFxF8rQ/Ghmuk2UHyupjD5ieotyI8sad ugctyGLwx8/5BFSD7SDwvP2wqbIhGDv9yqpTUHpZqZLik1TOqvrRytdzgtMj2OK9 E6YmOYTajcXWshH1WwOoMjhPohHynXDTZdkNHWvfoy6KcvHYX9AiIEYX95CbM5O7 jOa9dMjp+tCbWrejZjyVV5zwtVsi5K2TmKOJseWg1QljqXU66ft7gvP69rG12e64 ZChnPiGjYJZoG+lJHgbb84Khhfg1foD1e/B6+3gaWpCkzlpvajzf4IhRGDaSRsKL NqQVraECAwEAAaMkMCIwDwYDVR0RBAgwBocECgBA8zAPBgNVHRMBAf8EBTADAQH/ MA0GCSqGSIb3DQEBCwUAA4ICAQApdrsNb4MjpuC81Dz7/9d3QkiafULbxvvEhIgZ dZZdfQPTv68HK4N0Ubw/3st5HRJCyejAICpiqgMnvR6q7DLgJ4CdMtvFiIRYZvG4 SF48s5ri1F5mBuIChdtd02IsjVt/zUt7Z4Wbco2F/g6MF6v5vJ5s8ZoOokNhw+h6 lcD85x+Bvg1ytbtJGFitTu+Rhi3h3SZhz2lJVyLkAj4C7R1Te/uUvPP1AiAVvzL9 bMY/KPPjqxsBf6YDlgNncZyRaXsu6lh428lviwUlz/Yl9hOIyYXBv2UYu41H22f3 u2Ewc+bNH2GfWFbbicXUSqIg6fFdKUgrXU/uRC99OIxVHU/P0KWIHJzsCclAJpBA J7KMGxOpRctMPl0aRtK4yWY92/E8rxNR5LAMBosE1V4iCQr9QkxFiu76Bp2Vz35f Ly/0vwfwXwYt2E3DVKKegcnIr355SjRoBChaYAsVK8qvSmtzQQENbUECMUKVtdtZ NbFRvfor+9uQemMC5ty9OfXCfTnLZ/wtL17NEMy5/7249L/3JrEwixOyooZR8zY0 wR7eN9iI5XHSW11F3qBdpqvpVubSrzxyoUPD2QpAWyraXn2QlLqsVTrCDj+heMda DTL4YvDlOnKyb08etBCJKKg90sJxkqTfQKipogTtQSlQrMLwGLfpf67NsJ9izeYt Mn1JbQ== -----END CERTIFICATE----- [root@ceph-pri-hsm-cephadm-h0a759-node6 ~]#在辅助站点上,将证书内容放在 /etc/pki/ca-trust/source/anchors 文件中:
语法
[root@ceph-sec-hsm-cephadm-h0a759-node6 ~]# cd /etc/pki/ca-trust/source/anchors [root@ ceph-sec-hsm-cephadm-h0a759-node6 anchors]#示例
[root@ceph-sec-hsm-cephadm-h0a759-node6 ~]# cd /etc/pki/ca-trust/source/anchors [root@ceph-sec-hsm-cephadm-h0a759-node6 anchors]# ls RH-IT-Root-CA.crt ceph-qe-ca.pem cephqe-ca.pem pri-site-cephadm-root-ca.crt [root@ceph-sec-hsm-cephadm-h0a759-node6 anchors]# cat pri-site-cephadm-root-ca.crt -----BEGIN CERTIFICATE----- MIIE4DCCAsigAwIBAgIUZJdD1pvtpWwIBdk9WgQltOMsssEwDQYJKoZIhvcNAQEL BQAwFzEVMBMGA1UEAwwMY2VwaGFkbS1yb290MB4XDTI0MTAzMDE0MzcwNFoXDTM0 MTAzMTE0MzcwNFowFzEVMBMGA1UEAwwMY2VwaGFkbS1yb290MIICIjANBgkqhkiG 9w0BAQEFAAOCAg8AMIICCgKCAgEAmYkNVL3rXAblrK12IEXcem4xW8Ki3bySGDcx ft9vSSDRNCTHUYt8LLeQ+EoOVmQGbDwF2/z3FmC8+Mdkg8dB/7c0zpjw1RAkegOy gZCxHxWk/oT25wZcr4SogDzSFbT7dPX3P3H+PxMa/bzvH7vgZjkTgT94sWXu3+Ll 5YbiD/DMEmgty2+UO+ZQOWQB9u9s8d8+tqGuaeAgAdB70D8wi/z4k+u76s4/697o VzyfF7Gj9uCacCJUIs8XXUkIkqlFGxWMJa/ENSHQdd/Un+nWDyiN0KCC5b98EMru lvqrlbdmmOsfUQFDIGI+s4/S90PZXsu8kjCj+sDB+A1371uaeWbn6jC5wjb6+p1H xcCnqwJUO3eJAk6HAvD0OGb6raaVdN5wmFxF8rQ/Ghmuk2UHyupjD5ieotyI8sad ugctyGLwx8/5BFSD7SDwvP2wqbIhGDv9yqpTUHpZqZLik1TOqvrRytdzgtMj2OK9 E6YmOYTajcXWshH1WwOoMjhPohHynXDTZdkNHWvfoy6KcvHYX9AiIEYX95CbM5O7 jOa9dMjp+tCbWrejZjyVV5zwtVsi5K2TmKOJseWg1QljqXU66ft7gvP69rG12e64 ZChnPiGjYJZoG+lJHgbb84Khhfg1foD1e/B6+3gaWpCkzlpvajzf4IhRGDaSRsKL NqQVraECAwEAAaMkMCIwDwYDVR0RBAgwBocECgBA8zAPBgNVHRMBAf8EBTADAQH/ MA0GCSqGSIb3DQEBCwUAA4ICAQApdrsNb4MjpuC81Dz7/9d3QkiafULbxvvEhIgZ dZZdfQPTv68HK4N0Ubw/3st5HRJCyejAICpiqgMnvR6q7DLgJ4CdMtvFiIRYZvG4 SF48s5ri1F5mBuIChdtd02IsjVt/zUt7Z4Wbco2F/g6MF6v5vJ5s8ZoOokNhw+h6 lcD85x+Bvg1ytbtJGFitTu+Rhi3h3SZhz2lJVyLkAj4C7R1Te/uUvPP1AiAVvzL9 bMY/KPPjqxsBf6YDlgNncZyRaXsu6lh428lviwUlz/Yl9hOIyYXBv2UYu41H22f3 u2Ewc+bNH2GfWFbbicXUSqIg6fFdKUgrXU/uRC99OIxVHU/P0KWIHJzsCclAJpBA J7KMGxOpRctMPl0aRtK4yWY92/E8rxNR5LAMBosE1V4iCQr9QkxFiu76Bp2Vz35f Ly/0vwfwXwYt2E3DVKKegcnIr355SjRoBChaYAsVK8qvSmtzQQENbUECMUKVtdtZ NbFRvfor+9uQemMC5ty9OfXCfTnLZ/wtL17NEMy5/7249L/3JrEwixOyooZR8zY0 wR7eN9iI5XHSW11F3qBdpqvpVubSrzxyoUPD2QpAWyraXn2QlLqsVTrCDj+heMda DTL4YvDlOnKyb08etBCJKKg90sJxkqTfQKipogTtQSlQrMLwGLfpf67NsJ9izeYt Mn1JbQ== -----END CERTIFICATE----- [root@ceph-sec-hsm-cephadm-h0a759-node6 anchors]#运行 update-ca-trust 命令:
语法
[root@ceph-sec-hsm-cephadm-h0a759-node6 anchors]# update-ca-trust [root@ceph-sec-hsm-cephadm-h0a759-node6 anchors]#验证与 Radosgw 的连接。现在,SSL 证书是可信的,您可以执行 swigradosgw-admincommandscommands,如 swigrealm pullor 在不遇到 SSL 证书问题的情况下检查同步状态:
语法
[root@ceph-sec-hsm-cephadm-h0a759-node6 anchors]# date; radosgw-admin realm pull --rgw-realm india --url https://10.0.65.88 --access-key 21e86bce636c3aa0 --secret cf764951f1fdde5d --default 2024-10-30T17:23:54.450+0000 7fe300751800 1 Set the period's master zonegroup shared as the default { "id": "b32e147e-6276-4a70-952c-334cc11d998c", "name": "india", "current_period": "3013ead2-56a8-4d90-808b-800d88817ac7", "epoch": 2 } [root@ceph-sec-hsm-cephadm-h0a759-node6 anchors]# [root@ceph-sec-hsm-cephadm-h0a759-node6 anchors]# date; curl https://10.0.65.88 <?xml version="1.0" encoding="UTF-8"?><ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Owner><ID>anonymous</ID></Owner><Buckets></Buckets></ListAllMyBucketsResult>[root@ceph-sec-hsm-cephadm-h0a759-node6 anchors]# [root@ceph-sec-hsm-cephadm-h0a759-node6 anchors]#- 在主站点上重复此过程。要建立相互信任,请使用相同的步骤将二级站点的 RGW SSL 证书复制到主站点。这样可确保两个站点都信任彼此的证书,并允许无缝的多站点 RGW 通信。