日志系统
geoip操作GeoLiteCity.dat_Aldom
Alertmanager- 服务管理、服务维护
Elasticsearch XPACK安全认证(设置密码)
本文档使用 MrDoc 发布
-
+
首页
Elasticsearch XPACK安全认证(设置密码)
Elasticsearch往往存有公司大量的数据,如果安全不过关,那么就会有严重的数据安全隐患。Elasticsearch 的安全认证方式有不少,如http-basic,search guard,shield等,本文讲的是使用Xpack进行安全认证。1、什么是Xpack X-Pack是Elastic Stack扩展功能,提供安全性,警报,监视,报告,机器学习和许多其他功能。 ES7.0+之后,默认情况下,当安装Elasticsearch时,会安装X-Pack,无需单独再安装。 自6.8以及7.1+版本之后,基础级安全永久免费。 基础版本安全功能列表如下:  2、相关安全配置介绍 这里挑一些比较重要常见的配置项介绍,完整的配置介绍可以查看官方文档 2.1、xpack.security.enabled 默认为true,启用节点上ES的XPACK安全功能,相当于总开关 2.2、xpack.security.http.ssl 这个是用来开启https的,以及对应的设置,整体配置项如下: xpack.security.http.ssl: enabled: false 【开启还是关闭】 verification\_mode: certificate【如下】 【full:它验证所提供的证书是否由受信任的权威机构(CA)签名,并验证服务器的主机名(或IP地址)是否与证书中识别的名称匹配。】 【certificate:它验证所提供的证书是否由受信任的机构(CA)签名,但不执行任何主机名验证。】 【none:它不执行服务器证书的验证。】 truststore.path: certs/elastic-certificates.p12 【信任存储库文件的存放位置】 keystore.path: certs/elastic-certificates.p12【密钥存储库文件的存放位置】 ## 2.3、xpack.security.transport.ssl 这个是传输层的认证设置,整体配置项如下: xpack.security.transport.ssl: enabled: true【开启还是关闭】 verification\_mode: certificate【如下】 【full:它验证所提供的证书是否由受信任的权威机构(CA)签名,并验证服务器的主机名(或IP地址)是否与证书中识别的名称匹配。】 【certificate:它验证所提供的证书是否由受信任的机构(CA)签名,但不执行任何主机名验证。】 【none:它不执行服务器证书的验证。】 keystore.path: certs/elastic-certificates.p12【信任存储库文件的存放位置】 truststore.path: certs/elastic-certificates.p12【密钥存储库文件的存放位置】 命令操作都是在ES安装根目录下执行的(这个好像不用管)  ## 3.1、创建证书 ### a、创建一个证书颁发机构 提示命名文件:直接回车,默认文件名elastic-stack-ca.p12文件 提示输入密码:可以直接回车,也可以输入密码进行设置 ./bin/elasticsearch-certutil ca  ### b、为节点生成证书和私钥 提示命名文件,直接回车,默认文件名elastic-certificates.p12文件 提示输入密码:可以直接回车,也可以输入密码进行设置 ./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 ### c、config目录下创建下certs目录 ### d、将文件可拷贝到certs目录下 mv elastic-certificates.p12 config/certs/  ## 3.2、给keystore和truststore设置密码 注解: keystore可以看成一个放key的库,key就是公钥,私钥,数字签名等组成的一个信息。 truststore是放信任的证书的一个store truststore和keystore的性质是一样的,都是存放key的一个仓库,区别在于,truststore里存放的是只包含公钥的数字证书,代表了可以信任的证书,而keystore是包含私钥的。 如果在创建证书的过程中加了密码,需要输入这个密码。每个节点都需要  ./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure\_password ./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure\_password ./bin/elasticsearch-keystore add xpack.security.http.ssl.keystore.secure\_password ./bin/elasticsearch-keystore add xpack.security.http.ssl.truststore.secure\_password 这样就会在config目录下keystore文件了  ## 3.3、修改配置文件并重启 配置文件中加入以下配置,然后重启 xpack.security.enabled: true xpack.security.http.ssl: enabled: false verification\_mode: certificate truststore.path: certs/elastic-certificates.p12 keystore.path: certs/elastic-certificates.p12 xpack.security.transport.ssl: enabled: true verification\_mode: certificate keystore.path: certs/elastic-certificates.p12 truststore.path: certs/elastic-certificates.p12 ## 3.4、创建用户密码 集群中的节点都按照上面的方式完成配置并启动后,就可以设置账号密码了 a、自动创建密码 ./bin/elasticsearch-setup-passwords auto b、手动输入密码 ./bin/elasticsearch-setup-passwords interactive c、重置用户密码(随机密码) ./bin/elasticsearch-reset-password -u elastic d、重置用户密码(指定密码) ./bin/elasticsearch-reset-password -u elastic -i <password> ## 4.1、浏览器访问验证 这里说明一下: xpack.security.http.ssl的enable为true 就会是https,为false就是http,我这里是关掉了  ## 4.2、curl 认证 当你执行curl去访问es api的时候也会提示需要进行认证  但是带上账号密码就可以了  ## 4.3、kibana 认证 kibana中配置ES中配置的kibana账号密码即可连接ES认证 elasticsearch.username: "kibana" elasticsearch.password: "XXX" elasticsearch.hosts: \["http://1.1.1.1:9200","http://2.2.2.2:9200","http://3.3.3.3:9200"\] server.port: 5601  我windows下,照着命令敲就行,找对执行目录即可。 原文链接:https://blog.csdn.net/github\_30641423/article/details/123746349
adouk
2024年7月1日 19:12
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码