elasticsearch8.9.1部署及配置基本安全性以及安全的 HTTPS 流量

这篇具有很好参考价值的文章主要介绍了elasticsearch8.9.1部署及配置基本安全性以及安全的 HTTPS 流量。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安装

1、官网下载elasticsearch8.9.1安装包,上传至服务器并解压
官网地址

https://www.elastic.co/cn/downloads/elasticsearch

解压

tar -zxvf elasticsearch-8.9.1-linux-x86_64.tar.gz -C ./

2、修改elasticsearch配置文件elasticsearch.yml(支持ipv4以及ipv6双栈),文件权限修改成非root的应用程序账号

cluster.name: elk-application-test
node.name: master-1
node.roles: [ master ]
path:
  data: /data/es/data
  logs: /data/es/logs
bootstrap.memory_lock: true
network.host: "ipv4,ipv6"
http.port: 9200
transport.port: 9300
http.cors.enabled: true
##保证ipv6能通设置成ipv6也行
discovery.seed_hosts: ["ipv4:9300"]
cluster.initial_master_nodes: ["master-1"]
cluster.routing.allocation.same_shard.host: true
transport.compress: true
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate 
xpack.security.transport.ssl.client_authentication: required
xpack.security.transport.ssl.keystore.path: ./certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: ./certs/elastic-certificates.p12

二、Elasticsearch 设置基本安全性

1、进入elasticsearch根目录

bin/elasticsearch-certutil ca

es8.9.1,安全,elasticsearch,elk
注:1、输出文件名称(默认)2、CA密码设置(可留空直接回车,生产环境建议设置)
2、使用elastic-stack-ca.p12为集群中的节点生成证书和私钥

./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

es8.9.1,安全,elasticsearch,elk
注:1、输入CA密码
2、输入生成证书的名称(直接回车使用默认名称elastic-certificates.p12)
3、设置证书密码
3、将密码存储在 Elasticsearch 密钥库中(这里设置了CA以及elastic-certificates.p12密码,不设置密码的跳过此步骤):

./elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password

es8.9.1,安全,elasticsearch,elk

./elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

es8.9.1,安全,elasticsearch,elk

注:1、2:输入密码
4、设置内置账号密码(必须要有至少一个数据节点才能设置成功,即至少一个主节点和一个数据节点)

./elasticsearch-setup-passwords interactive

逐一输入密码回车即可
es8.9.1,安全,elasticsearch,elk
查看集群情况

curl -u elastic:密码 "ipv4:9200/_cat/health?v"

es8.9.1,安全,elasticsearch,elk

三、加密 HTTP 客户端通信

1、停止elasticsearch集群,如果启动了kibana也将kibana停止
2、在任何单个节点上,从安装 Elasticsearch 的目录中,运行 Elasticsearch 用于生成证书签名请求 (CSR) 的 HTTP 证书工具。

./bin/elasticsearch-certutil http
# 提示是否生成CSR
## Elasticsearch HTTP Certificate Utility

The 'http' command guides you through the process of generating certificates
for use on the HTTP (Rest) interface for Elasticsearch.
...
...
If you choose not to generate a CSR, this tool will generate a new certificate
for you. That certificate will be signed by a CA under your control. This is a
quick and easy way to secure your cluster with TLS, but you will need to
configure all your clients to trust that custom CA.

Generate a CSR? [y/N]N
# 提示是否使用已存在的CA证书
## Do you have an existing Certificate Authority (CA) key-pair that you wish to use to sign your certificate?

If you have an existing CA certificate and key, then you can use that CA to
sign your new http certificate. This allows you to use the same CA across
multiple Elasticsearch clusters which can make it easier to configure clients,
and may be easier for you to manage.

If you do not have an existing CA, one will be generated for you.

Use an existing CA? [y/N]y

# 提示需要输入ca证书的位置
## What is the path to your CA?

Please enter the full pathname to the Certificate Authority that you wish to
use for signing your new http certificate. This can be in PKCS#12 (.p12), JKS
(.jks) or PEM (.crt, .key, .pem) format.
CA Path:输入elastic-stack-ca.p12的绝对路径
# 提示需要输入ca证书的保护密码
Reading a PKCS12 keystore requires a password.
It is possible for the keystore's password to be blank,
in which case you can simply press <ENTER> at the prompt
Password for elastic-stack-ca.p12:ca的密码,有则输入没有则回车
You may enter the validity period in years (e.g. 3Y), months (e.g. 18M), or days (e.g. 90D)

For how long should your certificate be valid? [5y] 5y

However, if you do not have a common domain name, and you expect to add
additional nodes to your cluster in the future, then you should generate a
certificate per node so that you can more easily generate new certificates when
you provision new nodes.

Generate a certificate per node? [y/N]n

# 系统提示需要输入主机名
## What is the name of node #1?

## Which hostnames will be used to connect to your nodes?

These hostnames will be added as "DNS" names in the "Subject Alternative Name"
(SAN) field in your certificate.

You should list every hostname and variant that people will use to connect to
your cluster over http.
Do not list IP addresses here, you will be asked to enter them later.

If you wish to use a wildcard certificate (for example *.es.example.com) you
can enter that here.

Enter all the hostnames that you need, one per line.
When you are done, press <ENTER> once more to move on to the next step.
输入主机名回车,可输入多个,换行区分,两次回车输入完毕
##确认主机名信息
Is this correct [Y/n]y
# 提示输入节点IP地址
## Which IP addresses will be used to connect to es00?

If your clients will ever connect to your nodes by numeric IP address, then you
can list these as valid IP "Subject Alternative Name" (SAN) fields in your
certificate.

If you do not have fixed IP addresses, or not wish to support direct IP access
to your cluster then you can just press <ENTER> to skip this step.

Enter all the IP addresses that you need, one per line.
When you are done, press <ENTER> once more to move on to the next step.
输入ip回车,可输入多个,换行区分,两次回车输入完毕
##确认ip信息
Is this correct [Y/n]y
# 提示是否还需要修改其中任何选项
## Other certificate options

The generated certificate will have the following additional configuration
values. These values have been selected based on a combination of the
information you have provided above and secure defaults. You should not need to
change these values unless you have specific requirements.

Key Name: 主机名
Subject DN: CN=主机名
Key Size: 2048

Do you wish to change any of these options? [y/N]n

# 提示需要输入ssl证书密码
## What password do you want for your private key(s)?

Your private key(s) will be stored in a PKCS#12 keystore file named "http.p12".
This type of keystore is always password protected, but it is possible to use a
blank password.

If you wish to use a blank password, simply press <enter> at the prompt below.
Provide a password for the "http.p12" file:  [<ENTER> for none]
输入密码回车
# 确认密码
Repeat password to confirm:
# 提示生成的压缩包的位置及名称
## Where should we save the generated files?

A number of files will be generated including your private key(s),
public certificate(s), and sample configuration options for Elastic Stack products.

These files will be included in a single zip archive.

What filename should be used for the output zip file? [/usr/share/elasticsearch/elasticsearch-ssl-http.zip]
# 使用默认
回车
# 将证书解压
$ unzip elasticsearch-ssl-http.zip 

生成两个文件夹elasticsearch和kibana,将elasticsearch证书复制到config里面
编辑该elasticsearch.yml文件以启用 HTTPS 安全并指定安全证书的位置http.p12。

xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: http.p12

将私钥密码添加到 Elasticsearch 的安全设置中

/bin/elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password

输入http.p12密码(配置了的节点都需要将密码存入安全设置中)
验证方式
通过https访问,如

curl -u elastic:密码 https://ip:9200/_cat/nodes/?v; 

四、为 Kibana 加密 HTTP 客户端通信

cp  kibana/elasticsearch-ca.pem  ../kibana/config/

修改kibana.yml并添加以下行以指定 HTTP 层的安全证书的位置。

elasticsearch.hosts: ["https://ip1:9200" ,"https://ip2:9200" ,"https://ip3:9200"]
elasticsearch.ssl.certificateAuthorities: kibana绝对路径/config/elasticsearch-ca.pem

修改权限,启动即可文章来源地址https://www.toymoban.com/news/detail-772561.html

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

到了这里,关于elasticsearch8.9.1部署及配置基本安全性以及安全的 HTTPS 流量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker安装部署elasticsearch8.2.3

    配置系统 安装服务启动服务

    2024年02月13日
    浏览(51)
  • win10部署安装Elasticsearch8.1.2

    环境准备 :JDk是1.8以上版本 1、官方下载Elasticsearch部署安装 访问官网,进入主页下载。 2、在下载页面,可以看到选择操作系统,选择系统后点击下载。(我这里下载的Windows版本) 3下载完成后,解压文件,找到下载位置 4、配置环境变量 打开文件,选择此电脑,右键属性打

    2023年04月08日
    浏览(78)
  • Elasticsearch8安全配置详解剖析

    自建的Elasticsearch集群,从8.0版本开始,也默认地简化了安全功能,为用户 自动配置: 用户认证、基于角色的访问控制进行用户授权、使用 TLS 加密的节点到节点通信、使用 HTTPS 与 Elasticsearch API 进行加密通信。 为什么我们需要进行如此 复杂 的安全配置,并启用SSL/TLS对Elas

    2024年02月08日
    浏览(44)
  • IDEA2023 Maven3.9.1+Tomcat10.1.8配置并搭建Servlet5.0的基本框架

    文章目录 一、Maven3.9.1下载并配置 二、Tomcat10.1.8下载并配置 三、搭建Servlet 一、Maven3.9.1下载并配置 (1)Maven下载 Maven官网:https://maven.apache.org/download.cgi?. Maven3.9.1下载:https://dlcdn.apache.org/maven/maven-3/3.9.1/binaries/apache-maven-3.9.1-bin.zip   (2)Maven配置环境变量并修改settings.xml文件

    2024年02月09日
    浏览(52)
  • Elasticsearch8 集群搭建(二)配置篇:(2)系统配置

    此篇记录Elasticsearch8的一些 系统配置。 1、更改文件描述符的限制 Elasticsearch使用了大量的文件描述符,它用于表示系统打开的文件的标识符。文件描述符是非负整数,它在操作系统层面被用来唯一标识一个打开的文件、套接字或其他 I/O 资源。每个进程都有一组文件描述符,

    2024年01月19日
    浏览(45)
  • 安装elasticsearch8.9.0及修改配置

    安装es流程 打开文件,添加以下行 vim /etc/sysctl.conf vm.max_map_count=262144 重启生效 sysctl -p 创建用户 useradd es passwd es 修改es目录所属用户 chown -R es:es /opt/elasticsearch-8.9.0 如果内存不足,可以修改es的初始化内存和Max内存,修改文件/opt/elasticsearch-8.9.0/config/jvm.options -Xms8g -Xmx8g 运行e

    2024年02月11日
    浏览(43)
  • elasticsearch8和kibana部署以及与springboot整合遇到的坑

    我本来使用的是最新版本的es 8.6.2。但是由于ik分词器只更新到8.6.1,所以就更改为部署8.6.1。在过程中遇到一些问题,这里做一个总结 环境:windows10 elasticsearch版本:8.6.1 一、修改es 用户密码的方式 二、kibana 使用用户名和密码登录 修改kibana.yml 文件 启动kibana一直闪退 解决方

    2024年02月02日
    浏览(43)
  • Elasticsearch8 集群搭建(二)配置篇:(1)节点和集群配置

    安装完Elasticsearch后,需要对其进行配置,包括以下几部分:节点和集群配置、系统配置、安全配置。 此篇记录节点和集群配置的内容,后续将更新系统配置和安全配置。 通过编辑/usr/local/elasticsearch-8.10.2/config/elasticsearch.yml文件进行配置,在集群内每个节点上都要进行配置。

    2024年01月18日
    浏览(39)
  • windows环境基于Elasticsearch8.4.0的IK中文分词器的安装、部署、使用

    目录 问题现象: 解决方法: 1、下载IK中文分词器 2、部署 3、使用 前言(选看)       最近在重温Elasticsearch,看来一下官网,都出到8.4.3版本了。想当初学的时候用的还是5.6.8,版本更新了很多意味着有大变动。           windows环境基于Elasticsearch8.4.0的IK中文分词器的安

    2024年02月13日
    浏览(42)
  • 最新Elasticsearch8.4.3 + Kibana8.4.3在云服务器Centos7.9安装部署(参考官方文档)

      最近笔者学习Elasticsearch,官方最新稳定版为 Elasticsearch-8.4.3,想在云服务器上Centos7.9搭建。搭建之路坑多路少啊(指网上的博文教程五花八门,基本都是ES7版本居多,ES8有少数,各种配置参数一头雾水,细节不多说,照搬了踩坑跌得头破血流),对小菜的我来说,简直要

    2024年02月02日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包