Elasticsearch添加密码验证

ElasticSearch添加密码验证

es集群开启密码验证

elastic search简称为es,为一个分布式的搜索引擎,默认的es部署是没有密码验证的,很容易会出现安全问题。
但是本文设置密码之后,发现是使用base64加密的,呵呵,安全性也好不到哪里去。。

1. 使用ES自带的XPACK开启密码校验

在es7.0版本以后安装包默认自带了xpack功能,所以只需要在es包下的config目录修改一下es的默认配置文件elasticsearch.yml即可,在elasticsearch.yml中配置以下参数:

xpack.security.enabled: true
## 加密方式
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true

这里的配置参见官网链接:
官网出处1
官网出处2

然后重启es让配置文件生效,再到es包下bin目录执行以下命令
win10中是反斜杠哦~

.\elasticsearch-setup-passwords interactive

在这里插入图片描述

PS:这些用户权限都是相同的。
设置完成以后,这时候再访问es的地址,就会提示安全错误信息了,到此,es的密码设置完成。

2. 修改密码命令如下

curl -H “Content-Type:application/json” -XPOST -u elastic ‘http://127.0.0.1:9200/_xpack/security/user/elastic/_password’ -d ‘{ “password” : “123456” }’

这个没太懂这个命令的来源,curl可以在kibana上使用~

3. 使用postman访问带密码的

当es设置完成密码后,就不能再像之前那样随心所欲的访问了,否则会返回安全错误异常。
这时候我们在访问的时候就需要把用户名和密码的认证信息附加上去,如果你平时使用的是curl命令进行操作es,
那么只需要在curl后增加–user 用户名:密码 即可,按照如下示例命令操作 :

curl ip:9200 --user elastic:888888

我是windows,我没有curl ~

在postman中请求加密的es就比较麻烦一点,要在request head里新增Authorization参数,而该参数的值获取来源有以下三种:

3.1 postman中就有Authorization这一栏,只需要选择相应的认证方式后,在右侧输入用户名和密码就好了

在这里插入图片描述

3.2 在浏览器中请求es的首页,也就是http://127.0.0.1:9200

在这里插入图片描述

这时候会让你输入用户名和密码,当输入后,会跳转到首页。
然后打开浏览器的调试功能,从该请求中获取到Authorization参数,如下:
在这里插入图片描述
我这里Google浏览器开的太多,就使用Firefox了。

3.3 对用户名密码进行手动加密

因为在es的配置文件中,选用的加密方式为basic,也就是该项xpack.license.self_generated.type: basic,
所以我们也可以对用户名密码进行手动加密,访问https://www.base64encode.org/地址,在输入框中输入elastic:123456,进行加密,并在头部加上“Basic ”字符串就是最终的Authorization的值了,该值与第一种方式获取的是一致的。

获取到Authorization以后,在postman进行设置,即可如常访问。
在这里插入图片描述

由 这里可以看出来,其实这种加密方式用处也不是很大,可以使用浏览器就把密码获取到了。。

03-21
### 关于 Mycat 数据库中间件 #### 什么是 Mycat? Mycat 是一款开源的分布式数据库系统,作为数据库中间件,主要用于解决大数据场景下的读写分离、分库分表等问题[^5]。它可以像 MySQL 一样被使用,开发者只需在 Mycat 中配置具体的分库分表策略即可完成复杂的数据管理任务[^1]。 #### Mycat 的主要功能特性 Mycat 提供了一系列强大的功能来提升数据库性能和可扩展性: - **分布式架构**:支持分片(Sharding)、读写分离,从而显著提高数据库处理能力和并发量。 - **高可用性**:具备主备切换以及故障自动恢复的能力,保障系统的稳定运行。 - **动态数据路由**:能够根据实际业务需求灵活调整分片策略,满足不同应用场景的需求。 - **多协议兼容**:除了支持 MySQL 外,还兼容 MariaDB、Oracle 和 SQL Server 等多种数据库系统[^3]。 #### 安装与环境准备 为了成功部署并使用 Mycat,需按照以下指导进行操作: 1. 准备好 Java 运行环境(JDK 版本建议为 1.8 或更高版本),因为 Mycat 基于 Java 编写而成[^2]。 2. 下载官方发布的最新版 Mycat 软件包,并解压至目标目录下。 3. 修改 `server.xml` 文件中的相关参数设置,比如监听端口号,默认情况下为 `8066`;同时定义逻辑数据库名称及其对应的物理节点信息。 4. 启动服务进程并通过命令行工具或者图形界面访问验证连接状态正常与否。 #### 查询示例 当一切就绪之后,在日常开发过程中可以通过如下方式发起简单的查询请求: ```sql SELECT * FROM user; ``` 此条语句会经由 Mycat 解析后转发给相应的后台存储引擎执行完毕再返回结果集给前端调用方[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值