9.6. 为 PCP redis 配置安全连接

您可以在 performance co-pilot (PCP)、Grafana 和 PCP redis 之间建立安全连接。在这些组件之间建立安全连接有助于防止未授权方访问或修改正在收集和监控的数据。

先决条件

  • 已安装 PCP。如需更多信息,请参阅安装并启用 PCP
  • grafana-server 被配置。如需更多信息,请参阅设置 grafana-server
  • PCP redis 已安装。如需更多信息,请参阅配置 PCP Redis
  • 私有客户端密钥存储在 /etc/redis/client.key 文件中。如果您使用其他路径,请修改流程相应步骤中的路径。

    有关创建私钥和证书签名请求(CSR)的详细信息,以及如何从证书颁发机构(CA)请求证书,请参阅您的 CA 文档。

  • TLS 客户端证书存储在 /etc/redis/client.crt 文件中。如果您使用其他路径,请修改流程相应步骤中的路径。
  • TLS 服务器密钥存储在 /etc/redis/redis.key 文件中。如果您使用其他路径,请修改流程相应步骤中的路径。
  • TLS 服务器证书存储在 /etc/redis/redis.crt 文件中。如果您使用其他路径,请修改流程相应步骤中的路径。
  • CA 证书存储在 /etc/redis/ca.crt 文件中。如果您使用其他路径,请修改流程相应步骤中的路径。

另外,对于 pmproxy 守护进程:

  • 私有服务器密钥存储在 /etc/pcp/tls/server.key 文件中。如果您使用其他路径,请修改流程相应步骤中的路径。

步骤

  1. 以 root 用户身份,打开 /etc/redis/redis.conf 文件,并调整 TLS/SSL 选项以反映以下属性:

    port 0
    tls-port 6379
    tls-cert-file /etc/redis/redis.crt
    tls-key-file /etc/redis/redis.key
    tls-client-key-file /etc/redis/client.key
    tls-client-cert-file /etc/redis/client.crt
    tls-ca-cert-file /etc/redis/ca.crt
  2. 确保 redis 可以访问 TLS 证书:

    # su redis -s /bin/bash -c \
      'ls -1 /etc/redis/ca.crt /etc/redis/redis.key /etc/redis/redis.crt'
    /etc/redis/ca.crt
    /etc/redis/redis.crt
    /etc/redis/redis.key
  3. 重启 redis 服务器以应用配置更改:

    # systemctl restart redis

验证

  • 确认 TLS 配置可以正常工作:

    # redis-cli --tls --cert /etc/redis/client.crt \
        --key /etc/redis/client.key \
        --cacert /etc/redis/ca.crt <<< "PING"
    PONG

    不成功的 TLS 配置可能导致以下错误信息:

    Could not negotiate a TLS connection: Invalid CA Certificate File/Directory