Splunk替换默认3年的自签证书
01 问题描述
Splunk默认的自签证书为3年,证书过期后会导致KVStore存储无法使用。为了不每三年重启一次Splunk,解决证书的问题。故签发一个100年的自签证书。
02 创建CA根证书(颁发机构证书)
根证书颁发机构证书充当基础证书,用于签署其他证书,您将分发到部署中的 Splunk 平台实例。它被称为“根证书颁发机构证书”的原因如下:作为证书颁发机构,您确定信任基于此根证书的任何证书。
您只需创建一个根证书颁发机构证书。
2.1 创建证书保存目录
1
| $ mkdir /opt/splunk/etc/auth/tls
|
2.2 创建CA证书私钥
进入到/opt/splunk/etc/auth/tls
目录为根证书颁发机构证书创建私钥
1
| $ /opt/splunk/bin/splunk cmd openssl genrsa -out CA-PrivateKey.key 2048
|
2.3 生成CSR文件
基于刚才创建的CA私钥生成CA-Certificate.csr文件
1
| $ /opt/splunk/bin/splunk cmd openssl req -new -key CA-PrivateKey.key -out CA-Certificate.csr -subj "/C=CN/ST=guangdong/L=shenzhen/O=eccom/OU=IT/CN=site=xxx.info,email=xx.xxxx@outlook.com,server=splunk"
|
subj参数可以自定义设置如下是subj参数说明
参数 |
示例 |
含义 |
C |
CN |
国家(Country Name) |
ST |
guangdong |
州或省(State or Province Name) |
L |
shenzhen |
地区或市(Locality Name) |
O |
Eccom |
组织(Organization Name) |
OU |
IT |
部门(Organization Unit Name) |
CN |
CN=site=xxx.info,email=xx.xxxx@outlook.com,server=splunk |
证书使用者的通用名称(Common Name) |
2.4 生成CA证书
使用创建的CSR
文件并使用之前创建的CA私钥对其进行签名,创建根证书颁发机构证书。CA的证书有效期为100年!
1
| $ /opt/splunk/bin/splunk cmd openssl x509 -req -in CA-Certificate.csr -sha512 -signkey CA-PrivateKey.key -CAcreateserial -out CA-Certificate.pem -days 36500
|
03 创建服务器证书
3.1 创建服务器证书
创建根证书颁发机构证书后,您可以创建其他证书,然后使用CA(根)证书对其进行签名。
与根CA证书类似,您必须创建私钥和证书签名请求才能为Splunk服务器生成证书。
3.2 创建服务器证书私钥
1 2 3 4
| # 进入到/opt/splunk/etc/auth/tls目录,为服务器证书创建私钥 $ cd /opt/splunk/etc/auth/tls # 创建私钥 $ /opt/splunk/bin/splunk cmd openssl genrsa -out ServerPrivateKey.key 2048
|
3.3 生成服务器CSR文件
在每台服务器上执行,这里使用了Linuxhostname
命令为每台服务器设置单独的证书CN信息,最终subj它的效果为:/C=CN/ST=guangdong/L=shenzhen/O=eccom/OU=IT/CN=LinuxApps。其中的LinuxApps为服务器的主机名。
1
| $ /opt/splunk/bin/splunk cmd openssl req -new -key ServerPrivateKey.key -out ServerCertificate.csr -subj "/C=CN/ST=guangdong/L=shenzhen/O=eccom/OU=IT/CN=`hostname`"
|
3.4 生成服务器证书
1
| $ /opt/splunk/bin/splunk cmd openssl x509 -req -in ServerCertificate.csr -SHA256 -CA CA-Certificate.pem -CAkey CA-PrivateKey.key -CAcreateserial -out ServerCertificate.pem -days 36500
|
3.5 合并证书
1
| $ cat ServerCertificate.pem ServerPrivateKey.key CA-Certificate.pem > server.pem
|
04 服务器调整
4.1 证书备份
进入到/opt/splunk/etc/auth/目录
1 2 3 4 5 6 7 8
| 进入到/opt/splunk/etc/auth/目录 $ cd /opt/splunk/etc/auth/
# 备份 ca.pem 证书 mv ca.pem ca.pem_bak
# 备份 server.pem 证书 mv server.pem server.pem_bak
|
4.2 证书迁移
1 2
| $ cp /opt/splunk/etc/auth/tls/CA-Certificate.pem /opt/splunk/etc/auth/ca.pem $ cp /opt/splunk/etc/auth/tls/server.pem /opt/splunk/etc/auth/server.pem
|
4.3 重启Splunk服务
1
| /opt/splunk/bin/splunk restart
|
05 检查证书
有效期检查
1 2 3
| $ openssl x509 -in /opt/splunk/etc/auth/server.pem -noout -dates notBefore=Aug 23 15:03:56 2024 GMT notAfter=Jul 30 15:03:56 2124 GMT
|
Splunk 8089端口证书检查