Elastic:为 Elasticsearch 启动 https 访问
HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。在Elastic SIEM的安全领域,我们需要把 Elasticsearch 的访问变为 https 的访问,这样使得我们的数据更加安全可靠。
在为 Elasticsearch 启动 https 访问之前需要确保 已设置Elastic账户安全密码访问,可参考
Elasticsearch、Elasticsearch-head、Kibana 安全设置账号密码验证登陆
Elasticsearch
在 Elasticsearch 安装目录下运行以下命令
# 生成 p12 证书,生成elastic-stack-ca.p12文件
./bin/elasticsearch-certutil ca
# 生成 证书和私钥,生成elastic-certificates.p12文件
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
# 生成 newfile.crt.pem 文件
openssl pkcs12 -in elastic-stack-ca.p12 -out newfile.crt.pem -clcerts -nokeys
# 修改 elastic-certificates.p12 文件的读取权限
chmod ugo+r elastic-certificates.p12
# 将 elastic-certificates.p12 文件移动到 Elasticsearch 安装目录下的 config 子目录中
mv elastic-certificates.p12 ./config
# 修改 newfile.crt.pem 文件的读取权限
chmod ugo+r newfile.crt.pem
# 将 newfile.crt.pem 文件移动到 Kibana 安装目录下的 config 子目录中(注意改成自己的 kibana 目录)
mv newfile.crt.pem /usr/local/environment/elk/kibana/kibana-7.8.0-linux-x86_64/config
文件名均使用缺省文件名,密码均为空(即直接按 Enter 键)
修改 Elasticsearch 安装目录下的 config 子目录下的 elasticsearch.yml 文件,添加/修改 以下配置
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: elastic-certificates.p12
xpack.security.http.ssl.truststore.path: elastic-certificates.p12
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
Kibana
修改 Kibana 安装目录下的 config 子目录下的 kibana.yml 文件,添加/修改 以下配置
elasticsearch.hosts: ["https://localhost:9200"]
elasticsearch.ssl.certificateAuthorities: ["config/newfile.crt.pem"]
elasticsearch.ssl.verificationMode: none
为了我们能够方便地访问,我们针对kibana不启用verificationMode
最后,我们重启 Elasticsearch 和 Kibana
更多详情请参考 官方文档