当前位置: 首页 > news >正文

各组件证书配置文件yml

1. Elasticsearch 配置(elasticsearch.yml

需配置:
  • 自身的实体证书(用于 Transport 层节点间通信、HTTP 层外部客户端通信);
  • CA 根证书(用于验证其他节点 / 组件的实体证书)。
yaml
 
 
# 基本配置
cluster.name: my-elk-cluster
node.name: es-node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch# 网络配置(需与实体证书中的hostname一致)
network.host: 192.168.1.100  # 实际IP/域名
http.port: 9200# 1. Transport层(节点间通信)SSL配置
xpack.security.transport.ssl.enabled: true
# 自身的实体证书(包含公钥+私钥,p12格式)
xpack.security.transport.ssl.keystore.path: certs/es-node.p12
xpack.security.transport.ssl.keystore.password: your_es_keystore_pwd  # 实体证书密码
# CA根证书(用于验证其他节点的实体证书)
xpack.security.transport.ssl.truststore.path: certs/elastic-ca.p12
xpack.security.transport.ssl.truststore.password: your_ca_pwd  # CA证书密码(若设置)# 2. HTTP层(与Kibana/Logstash通信)SSL配置
xpack.security.http.ssl.enabled: true
# 可复用Transport层的实体证书(或单独生成,此处复用)
xpack.security.http.ssl.keystore.path: certs/es-node.p12
xpack.security.http.ssl.keystore.password: your_es_keystore_pwd
# CA根证书(用于验证客户端如Kibana的实体证书,可选,若开启客户端证书验证)
xpack.security.http.ssl.truststore.path: certs/elastic-ca.p12
xpack.security.http.ssl.truststore.password: your_ca_pwd# 启用安全功能(必须开启,否则SSL配置不生效)
xpack.security.enabled: true
 

2. Logstash 配置(/etc/logstash/conf.d/logstash.conf

需配置:
  • 输入端(如 Beats):自身的实体证书(供 Filebeat 验证)+ CA 根证书(验证 Filebeat 的实体证书);
  • 输出端(到 Elasticsearch):CA 根证书(验证 ES 的实体证书)+ 自身的实体证书(供 ES 验证,可选)。
ruby
 
 
# 输入:接收Filebeat数据(需SSL加密)
input {beats {port => 5044# 启用SSLssl => true# 自身的实体证书(公钥,供Filebeat验证Logstash身份)ssl_certificate => "/etc/logstash/certs/logstash-cert.pem"# 自身的实体私钥ssl_key => "/etc/logstash/certs/logstash-key.pem"# CA根证书(用于验证Filebeat的实体证书是否可信)ssl_certificate_authorities => ["/etc/logstash/certs/elastic-ca.pem"]# 强制验证Filebeat的证书(确保来源可信)ssl_verify_mode => "force_peer"}
}# 过滤:按需添加(示例)
filter {grok {match => { "message" => "%{COMBINEDAPACHELOG}" }}
}# 输出:发送到Elasticsearch(需SSL加密)
output {elasticsearch {hosts => ["https://192.168.1.100:9200"]  # ES的HTTPS地址# 访问ES的账号密码(需提前在ES中创建)user => "logstash_writer"password => "logstash_pwd"# 启用SSLssl => true# CA根证书(用于验证ES的实体证书是否可信)cacert => "/etc/logstash/certs/elastic-ca.pem"# 若ES开启了客户端证书验证,需添加Logstash的实体证书(可选)# ssl_certificate => "/etc/logstash/certs/logstash-cert.pem"# ssl_key => "/etc/logstash/certs/logstash-key.pem"}
}
 

3. Filebeat 配置(filebeat.yml

需配置:
  • 输出到 Logstash:自身的实体证书(供 Logstash 验证)+ CA 根证书(验证 Logstash 的实体证书)。
yaml
 
 
# 启用模块(按需开启,如nginx、syslog等)
filebeat.modules:
- module: nginxaccess:enabled: truepaths:- /var/log/nginx/access.log# 输出到Logstash
output.logstash:hosts: ["192.168.1.101:5044"]  # Logstash地址# SSL配置ssl:enabled: true# CA根证书(用于验证Logstash的实体证书是否可信)certificate_authorities: ["/etc/filebeat/certs/elastic-ca.pem"]# 自身的实体证书(供Logstash验证Filebeat身份)certificate: "/etc/filebeat/certs/filebeat-cert.pem"# 自身的实体私钥key: "/etc/filebeat/certs/filebeat-key.pem"# 日志配置(可选)
logging.level: info
logging.to_files: true
logging.files:path: /var/log/filebeat
 

4. Kibana 配置(kibana.yml

需配置两部分:
  • 内部通信(与 ES):自身的实体证书(供 ES 验证)+ CA 根证书(验证 ES 的实体证书);
  • 外部访问(用户浏览器):公共 CA 签发的实体证书(供浏览器信任)。
yaml
 
 
# 基本配置
server.name: kibana
server.host: "192.168.1.102"  # 实际IP/域名# 1. 与Elasticsearch内部通信的SSL配置
elasticsearch.hosts: ["https://192.168.1.100:9200"]  # ES的HTTPS地址
# 访问ES的账号密码(kibana_system用户,需提前在ES中创建)
elasticsearch.username: "kibana_system"
elasticsearch.password: "kibana_pwd"
# CA根证书(用于验证ES的实体证书是否可信)
elasticsearch.ssl.certificateAuthorities: ["/etc/kibana/certs/elastic-ca.pem"]
# 自身的实体证书(供ES验证Kibana身份,可选,若ES开启客户端验证)
elasticsearch.ssl.certificate: "/etc/kibana/certs/kibana-cert.pem"
elasticsearch.ssl.key: "/etc/kibana/certs/kibana-key.pem"# 2. 外部访问(用户浏览器)的HTTPS配置(公共CA证书)
server.ssl.enabled: true
# 公共CA签发的实体证书(公钥,如Let's Encrypt的kibana.yourdomain.com证书)
server.ssl.certificate: "/etc/kibana/certs/public-kibana-cert.pem"
# 公共CA证书对应的私钥
server.ssl.key: "/etc/kibana/certs/public-kibana-key.pem"
# 公共CA的根证书(可选,浏览器通常已预装,无需配置)
# server.ssl.certificateAuthorities: ["/etc/kibana/certs/public-ca-root.pem"]# 日志配置(可选)
logging:appenders:file:path: /var/log/kibananame: kibana-logroot:appenders: [file]
 

配置要点总结

  1. 每个组件都需要两类证书:
    • 自身的实体证书(xxx-cert.pem/xxx.p12 + 私钥):证明 “我是谁”;
    • CA 根证书(elastic-ca.pem/elastic-ca.p12):验证 “对方的实体证书是否可信”。
  2. Kibana 的特殊性:
    • 内部与 ES 通信:用自签名 CA 体系(elastic-ca.pem + 自身实体证书);
    • 外部用户访问:用公共 CA 证书(public-kibana-cert.pem),确保浏览器信任。
  3. 证书路径与权限:
    • 所有证书路径建议用绝对路径;
    • 确保组件进程(如elasticsearchkibana用户)对证书文件有读取权限(chown命令设置)。
  4. 一致性检查:
    • 实体证书中的hostname必须包含组件实际通信的 IP / 域名(否则 SSL 验证会报 “主机名不匹配” 错误);
    • 所有实体证书必须由同一 CA 根证书(elastic-ca)签发。
按此配置后,ELK 内部通信会通过自签名 CA 实现加密互信,Kibana 外部访问会通过公共 CA 实现浏览器信任,兼顾安全性和易用性。

 

http://www.gsyq.cn/news/51561.html

相关文章:

  • jmeter查看天气/快递操作
  • 详细介绍:MySQL——用户权限和管理
  • Django F对象完全指南:数据库层面的字段操作
  • Why cant Google appear in New York?
  • [AGC001E] BBQ Hard 分析
  • 哈希从入门到入土『给学弟学妹们讲课用的』
  • 20232303 2025-2026-1 《网络与系统攻防技术》实验五实验报告
  • .net 8+, 类库无法引用 WebApplication 的解决方案
  • 网络分析模型七
  • 2025-11-16
  • P14092 [ICPC 2023 Seoul R] M. S. I. S.
  • 【具身智能科普】表格分析核心概念、技术体系、应用场景落地、商业化等 - 指南
  • temperature、top_p、top_k
  • PyCharm gitee: Merge with strategy ort failed.
  • 获取数据,转换成JSON,返回到前端页面
  • 2025年11月副业平台推荐榜:五强生态模式深度解析
  • 完整教程:MySQL 8.0.29 及以上版本中 SSL/TLS 会话复用(Session Reuse)
  • 红队、蓝队与紫队:网络安全攻防演练的三大支柱
  • 2025年11月副业平台评价榜:零门槛生态对比助你安全增收
  • 调整电话交换机 3CX 对接微软 Teams 直接路由
  • Pycharm为什么会自动创建__pycache__
  • 山东大学 计算机图形学实验 二维网格剖分 Catmull-Clark算法
  • 什么是“组态路径”?
  • 深入探索剖析 JVM 的启动过程
  • noip8多校2
  • 2025年11月冷媒剂厂家榜单:五强技术参数与口碑对比评测
  • 工业级时序数据库选型指南:技巧架构与场景化实践
  • 20232429 2025-2026-1 《网络与系统攻防技术》实验五实验报告
  • P5797 [SEERC 2019] Max or Min
  • 完整教程:【论文精读】Latent-Shift:基于时间偏移模块的高效文本生成视频技术