ELK-加密通信的说明和配置教程

介绍Elasticsearch节点之间的加密通信、浏览器与Kibana之间的加密通信、Kibana与Elasticsearch之间的加密通信、操作步骤和配置说明。
基于7.11。

1 Elasticsearch加密通信

Elastic Stack安全特性能够加密加密往返于Elasticsearch集群以及从其内部的通信。使用传输层安全性(TLS/SSL)保护连接的安全。
未启用加密的群集将以纯文本格式(包括密码)发送所有数据。如果启用了Elasticsearch安全功能,除非您具有试用许可证,否则必须配置SSL/TLS进行节点间通信。

1.1 Elasticsearch节点之间的加密通信

https://www.elastic.co/guide/en/elasticsearch/reference/7.11/configuring-tls.html#tls-transport

  • Verify that the xpack.security.enabled setting is true.(启用安全功能)
  • Generate a private key and X.509 certificate.(生成私钥和X.509证书)
  • Configure each node to:
    • Required: Enable TLS on the transport layer.(传输层启用TLS)
    • Recommended: Enable TLS on the HTTP layer.(HTTP层启用TLS)

1.2 HTTP客户端的加密通信

https://www.elastic.co/guide/en/elasticsearch/reference/7.11/configuring-tls.html#tls-http

  • Generate node certificates.(生成节点证书)
  • Enable TLS and specify the information required to access the node’s certificate.(启用TLS并指定节点证书)
  • Restart Elasticsearch.(重启Elasticsearch)

2 Kibana通信加密

传输层安全安全协议(SSL)和传输层安全协议(TLS)为数据传输提供加密。虽然这些术语通常可以互换使用,但 Kibana 只支持 TLS,它取代了旧的 SSL 协议。
浏览器将流量发送到 Kibana,Kibana 将流量发送到 Elasticsearch,这些通信通道分别配置为使用 TLS。

2.1 浏览器与Kibana之间的加密通信

https://www.elastic.co/guide/en/kibana/7.11/configuring-tls.html#configuring-tls-browser-kib

  1. 获得 Kibana 的服务器证书和私钥
  2. 配置 Kibana 以访问服务器证书和私钥
  3. 将 Kibana 配置为为入站连接启用 TLS
  4. 重启 Kibana

2.2 Kibana与Elasticsearch之间的加密通信

https://www.elastic.co/guide/en/kibana/7.11/configuring-tls.html#configuring-tls-kib-es

  • Enable TLS on the HTTP layer in Elasticsearch.(在Elasticsearch的HTTP层上启动TLS)
  • Obtain the certificate authority (CA) certificate chain for Elasticsearch.(获取Elasticsearch的证书颁发机构(CA)证书链)
    • used the elasticsearch-certutil http command,include the CA certificate chain in PEM format.(使用elasticsearch-certutil http命令生成CA证书链)
    • extract the CA certificate.(通过PKCS#12文件提取CA证书链)
  • Configure Kibana to trust the Elasticsearch CA certificate chain for the HTTP layer.(配置Kibana以信任HTTP层的Elasticsearch CA证书链)
  • Configure Kibana to enable TLS for outbound connections to Elasticsearch.(配置Kibana与Elasticsearch的连接启用TLS)

3 操作步骤

  1. 操作命令
# 进入Elasticsearch目录
cd /data/elk/elasticsearch-7.11.2
# 创建证书颁发机构:获得文件:elastic-stack-ca.p12
./bin/elasticsearch-certutil ca
# 为每个节点生成证书和私钥,获得文件:elastic-certificates.p12
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
# 生成专门用于加密HTTP客户端通信的证书,获得文件:elasticsearch-ssl-http.zip
./bin/elasticsearch-certutil http
# 解压HTTP通信证书,获得文件:elasticsearch/http.p12和kibana/elasticsearch-ca.pem
unzip elasticsearch-ssl-http.zip
# 在每个Elasticsearch节点的配置目录中创建一个文件夹certs,放置安全证书
mkdir /data/elk/elasticsearch-7.11.2/config/certs
cp elastic-certificates.p12 config/certs
cp elasticsearch/http.p12 config/certs
# 复制HTTP通信证书到Kibana配置目录
cp kibana/elasticsearch-ca.pem /data/elk/kibana-7.11.2/config
  1. 生成加密HTTP客户端通信证书说明(./bin/elasticsearch-certutil http)
    参考:https://lights8080.github.io/post/es-an-quan-security

4 参数配置

  1. Elasticsearch
    elasticsearch-7.11.2/config/elasticsearch.yml
# 在节点上启用Elasticsearch安全功能
xpack.security.enabled: true
# 节点间加密通信配置
xpack.security.transport.ssl.enabled: true
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 
# HTTP加密通信配置
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: "certs/http.p12"
  1. Kibana
    kibana-7.11.2/config/kibana.yml
# 配置Kibana与Elasticsearch的连接启用TLS
elasticsearch.hosts: ["https://127.0.0.1:9200"]
# 配置信任HTTP层的Elasticsearch CA证书链
elasticsearch.ssl.certificateAuthorities: ["/data/elk/kibana-7.11.2/config/elasticsearch-ca.pem"]
  1. Logstash
    logstash-7.11.2/config/logstash-sample.conf
output {
    elasticsearch {
            hosts => ["https://127.0.0.1:9200"]
            user => "elastic"
            password => "xxxxxx"
            cacert => "/data/elk/elasticsearch-7.11.2/config/certs/elasticsearch-ca.pem"
     }
}
  1. Metricbeat
    metricbeat-7.11.2/modules.d/elasticsearch-xpack.yml
- module: elasticsearch
  xpack.enabled: true
  period: 10s
  hosts: ["https://127.0.0.1:9200"]
  username: "elastic"
  password: "xxxxxx"
  ssl.certificate_authorities: ["/data/elk/elasticsearch-7.11.2/config/certs/elasticsearch-ca.pem"]
  1. 其他Elastic产品使用加密通信
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,386评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,142评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,704评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,702评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,716评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,573评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,314评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,230评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,680评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,873评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,991评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,706评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,329评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,910评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,038评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,158评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,941评论 2 355

推荐阅读更多精彩内容