介绍

安全套接字层(SSL)和传输层安全性(TLS)为传输中的数据提供加密。虽然这些术语通常可以互换使用,但Kibana仅支持TLS,它取代了旧的SSL协议。

浏览器将流量发送到Kibana,而Kibana将流量发送到Elasticsearch。这些通信通道分别配置为使用TLS。

TLS需要X.509证书来验证通信方并执行传输中数据的加密。每个证书都包含一个公共密钥,并具有一个关联的但独立的私有密钥;这些密钥用于加密操作。Kibana支持PEM或PKCS#12格式的证书和私钥。

加密浏览器和Kibana之间的流量

您无需为这种类型的加密启用Elasticsearch安全功能。

1、获取Kibana的服务器证书和私钥。

当从Web浏览器接收连接时,Kibana将需要使用此“服务器证书”和相应的私钥。

获取服务器证书时,必须正确设置其主题备用名称(SAN),以确保具有主机名验证的现代Web浏览器将信任它。您可以将一个或多个SAN设置为Kibana服务器的标准域名(FQDN),主机名或IP地址。选择SAN时,应该选择将用于连接浏览器中的Kibana的任何属性,这可能是FQDN。

您可以选择使用该elasticsearch-certutil工具生成证书签名请求(CSR)和私钥。例如:

bin/elasticsearch-certutil csr -name kibana-server -dns some-website.com,www.some-website.com

这将产生一个名为的ZIP存档kibana-server.zip。提取该归档文件以获得PEM格式的CSR(kibana-server.csr)和未加密的私钥(kibana-server.key)。在此示例中,CSR具有的公用名(CN)kibana-server,SAN的SAN some-website.com和的另一SAN www.some-website.com。

您将需要使用证书颁发机构(CA)签署CSR以获得服务器证书。该证书的签名将由配置为信任CA的Web浏览器进行验证。

2、配置Kibana以访问服务器证书和私钥。

a、如果您的服务器证书和私钥为PEM格式:

在中指定服务器证书和私钥kibana.yml:

server.ssl.certificate: "/path/to/kibana-server.crt"
server.ssl.key: "/path/to/kibana-server.key"

如果您的私钥已加密,则将解密密码添加到您的Kibana密钥库中:

bin/kibana-keystore add server.ssl.keyPassphrase

b、否则,如果您的服务器证书和私钥包含在PKCS#12文件中:

在中指定您的PKCS#12文件kibana.yml:

server.ssl.keystore.path: "/path/to/kibana-server.p12"

如果您的PKCS#12文件已加密,则将解密密码添加到Kibana密钥库中:

bin/kibana-keystore add server.ssl.keystore.password

如果您的PKCS#12文件没有使用密码保护,则取决于生成方式,您可能需要将其设置 server.ssl.keystore.password为空字符串。

有关证书和密钥设置的更多信息,请参阅Kibana配置设置。
3、配置Kibana以为入站连接启用TLS。

指定在kibana.yml以下位置使用TLS :

server.ssl.enabled: true

4、重新启动Kibana。
进行这些更改之后,您必须始终通过HTTPS访问Kibana。例如,https:// <your_kibana_host> .com。

加密Kibana和Elasticsearch之间的流量编辑

要执行此步骤,您必须启用Elasticsearch安全功能,或者必须具有为Elasticsearch提供HTTPS端点的代理。

1、在Elasticsearch的HTTP层上启用TLS。
2、获取Elasticsearch的证书颁发机构(CA)证书链。

当连接到Elasticsearch时,Kibana需要适当的CA证书链来正确建立信任。

a、如果您遵循Elasticsearch文档来生成节点证书并使用了该 elasticsearch-certutil http命令,请kibana在其输出中检查目录。根据您选择的选项,输出可能包含PEM格式的CA证书链。
b、否则,您可能为每个Elasticsearch节点都有一个PKCS#12文件。您可以从这些文件之一中提取CA证书链。例如:

openssl pkcs12 -in elastic-certificates.p12 -cacerts -nokeys -out elasticsearch-ca.pem

这将生成一个名为PEM格式的文​​件elasticsearch-ca.pem,其中包含PKCS#12文件中的所有CA证书。
3、配置Kibana以信任HTTP层的Elasticsearch CA证书链。

如果您的CA证书链为PEM格式:

在中指定一个或多个CA证书kibana.yml:

elasticsearch.ssl.certificateAuthorities: ["/path/to/elasticsearch-ca.pem"]

b、否则,如果您的CA证书链包含在PKCS#12文件中:

您不应使用包含私钥的PKCS#12文件。这是不必要的安全风险。如果只有一个包含私钥的PKCS#12文件,一种更安全的方法是提取PEM格式的CA证书链。

elasticsearch.ssl.truststore.path: "/path/to/elasticsearch-ca.p12"

在中指定您的PKCS#12文件kibana.yml:

elasticsearch.ssl.truststore.path: "/path/to/elasticsearch-ca.p12"

如果您的PKCS#12文件已加密,则将解密密码添加到Kibana密钥库中:

bin/kibana-keystore add elasticsearch.ssl.truststore.password

如果您的PKCS#12文件没有使用密码保护,则取决于生成方式,您可能需要将其设置 elasticsearch.ssl.truststore.password为空字符串。

有关证书和密钥设置的更多信息,请参阅Kibana配置设置。
4、配置Kibana以为与Elasticsearch的出站连接启用TLS。

在中为Elasticsearch指定HTTPS URL kibana.yml:

elasticsearch.hosts: ["https://<your_elasticsearch_host>.com:9200"]

使用HTTPS协议会导致默认elasticsearch.ssl.verificationMode选项full,该选项利用主机名验证。有关此设置的更多信息,请参阅Kibana配置设置。

如果启用了Elastic监视功能,并且已经设置了单独的Elasticsearch监视集群,则还可以配置Kibana以通过HTTPS连接到监视集群。步骤相同,但每个设置都以开头xpack.monitoring.。例如,xpack.monitoring.elasticsearch.hosts,xpack.monitoring.elasticsearch.ssl.truststore.path等。

参考链接 :
https://www.elastic.co/guide/en/kibana/current/configuring-tls.html#configuring-tls-kib-es

ELK官方文档:在Kibana加密通讯相关推荐

  1. ELK官方文档收集Kibana监视数据编辑

    注意:需要安装插件 X-PACK 介绍 如果在集群中启用弹性监控功能,则可以选择收集有关Kibana的指标. 以下方法涉及将度量发送到生产集群,该度量最终将它们路由到监视集群.有关替代方法,请参阅使用 ...

  2. 最新Elasticsearch8.4.3 + Kibana8.4.3在云服务器Centos7.9安装部署(参考官方文档)

    一.前言   最近笔者学习Elasticsearch,官方最新稳定版为 Elasticsearch-8.4.3,想在云服务器上Centos7.9搭建.搭建之路坑多路少啊(指网上的博文教程五花八门,基本 ...

  3. Flask官方文档学习--从零开始解读(一)

    介绍 Flask是一个基于Python语言的轻量级Web框架,与之经常对比的框架还有Django.Tornado等框架,当然学习这些肯定首先要有一点Python基础,当然由于框架带来的优越性,通常在实 ...

  4. 【Spring Boot官方文档原文理解翻译-持续更新中】

    [Spring Boot官方文档原文理解翻译-持续更新中] 文章目录 [Spring Boot官方文档原文理解翻译-持续更新中] Chapter 4. Getting Started 4.1. Int ...

  5. iOS 9官方文档(翻译)

    iOS9已经发布一段时间了,我也在最近升级了Xcdoe 7.0正式版,升级后才发现又有了很多奇妙的变化,于是查看官方文档的一些解释,顺便做了一些翻译,和大家分享一下(转载请注明出处). iPad多任务 ...

  6. 【kubernetes/k8s概念】Kubernetes1.12从零开始(初):课程介绍与官方文档汇总

    说明 资料和交流方式 Kubernetes的文档介绍 Kubernetes中的术语与资源的操作方法 Kubernetes的API约定与启用方法 Kubernetes中资源(Object)的定义 kub ...

  7. Android HIDL 官方文档(七,END)—— 网络堆栈配置工具(Network Stack Configuration Tools)

    网络工具封装 网络工具封装过滤器 1 供应商接口与链 2 允许使用的命令 21 ip 22 iptables ip6tables 23 ndc 24 tc 对应的官方文档地址:HIDL(General ...

  8. K8S-网络模型、POD/RC/SVC YAML 语法官方文档

    2019独角兽企业重金招聘Python工程师标准>>> K8S-网络模型.POD/RC/SVC YAML 语法官方文档 博客分类: Kubernetes K8S-网络模型.POD/R ...

  9. 如何在ORACLE CLOUD中创建和访问容器集群丨内附官方文档链接

    墨墨导读:本文描述如何在Oracle Cloud中创建并访问容器服务.为了简单,所有的操作都是针对root隔离区. 创建允许容器运行的政策官方文档链接 这一步是必须的,否则可以增加容器容器. 官方文档 ...

最新文章

  1. SAP MM 采购附加费计入物料成本?
  2. 腾讯Android自动化测试实战3.1.4 Robotium的控件获取、操作及断言
  3. linux权限c是什么意思,linux服务器下权限设置
  4. 数据库如何处理数据库太大_网络数据库中的数据处理
  5. java性能分析工具_java性能分析工具
  6. linux netfilter路由表,Linux netfilter 学习笔记 之十四 netfilter模块会修改数据包关联的路由缓存吗...
  7. laydate 和 Vue 奇怪的清空问题
  8. Python Selenium Webdriver常用方法总结
  9. 操作系统编写之代码解释
  10. Docker存储驱动之总览
  11. 【游戏体验】Colour My World(让我的世界充满色彩)
  12. linux 端口映射 命令,linux查看端口映射命令
  13. MASM入门(二)MASM基本语法
  14. 微信联盟链接不到服务器怎么,LOL微信登不上去怎么办?微信登不上解决方法推荐...
  15. php重构求圆柱圆锥的体积,六年级数学下册2.8 圆锥的体积教案 (新版)苏教版...
  16. 图扑数字孪生数据中心机房,助力产业绿色低碳转型
  17. 现在web前端主要做什么工作
  18. FORM 6i 安装
  19. 【allegro 17.4软件操作保姆级教程一】软件操作环境设置
  20. 一个APP想法,如何做到从想法到上线的全过程操作

热门文章

  1. 无线网卡没有linux驱动,ubuntu18.04没有无线网卡驱动怎么办?
  2. 软raid1 重新同步_软RAID搭建基于linux系统搭建RAID5
  3. 如何用python爬取公众号文章搜狗微信搜索_python如何爬取搜狗微信公众号文章永久链接的思路解析...
  4. Eclipse用法和技巧十六:自动添加未实现方法2
  5. 不相交轮换的乘积怎么求_浅谈两种求条件极值的方法
  6. juniper srx电话单通
  7. Sequel Pro登录失败
  8. 两道关于回溯法,分支限界法的算法题
  9. day10 多进程、多线程(一)
  10. 4月份西部数码.wang域名注册量报告:增速严重缩水