手把手教你为ElasticSearch设置密码、权限管理、加密访问

JAVA herman 3708浏览
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog,发送下载链接帮助你免费下载!
本博客日IP超过1800,PV 2600 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog,之前的微信号好友位已满,备注:返现
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

最近,交大因为对 ElasticSearch 数据库未正确配置公开访问权限,导致泄漏了 8.4TB 的电子邮件元数据。一时间各大媒体相互报道,看客们一个个很热闹!

之前,就有互联网知名团队报道过,因为 MongoDB、ElasticSearch 等未配置密码,未添加权限管理等造成信息泄露的事件在逐渐上升。

一方面是因为这些开源产品并没有默认的提供安全配置等功能。另一方面是互联网技术发展太快,技术人员的技能参差不齐,导致了很多人忽略了安全方面的管理。今天抽个机会,教大家如何对 ElasticSearch 配置密码,进行加密访问。

上海交大泄漏8.4TB电子邮件数据

ElasticSearch 是一个开源的软件,属于 Elastic 公司。 Elastic 公司在2018年10月6日于纽交所上市,股价最高暴涨 122%。Elastic 是一个商业公司。ElasticSearch 虽然免费,但是其很多功能需要配套的插件支持,而这些插件是收费的。这也是为什么一些 ElasticSearch 应用,信息被泄露的原因。

X-Pack 是 ElasticSearch 的一个插件,这个插件将安全,警报,监视,报告和图形等功能打包在一起。通过安装这个插件,我们就可以对 ElasticSearch 配置密码了。注意,X-Pack 是一个收费的插件!

elasticsearch-plugin install x-pack

x-pack 的安装很简单,执行上面的命令即可。x-pack 需要破解,这个不会的可以自行搜索!

安装完成后,启动 elasticsearch。启动成功后,我们执行下面的命令,进行密码设置。

./bin/x-pack/setup-passwords interactive

接着,根据提示,为三个内置账号设置密码。

elasticsearch 三个内置账号设置密码

也可以有系统自动生成密码。自动生成密码,执行下面的命令即可。

./bin/x-pack/setup-passwords auto

三个内置账号的角色权限解释如下:

  • elastic 账号:拥有 superuser 角色,是内置的超级用户。
  • kibana 账号:拥有 kibana_system 角色,用户 kibana 用来连接 elasticsearch 并与之通信。Kibana 服务器以该用户身份提交请求以访问集群监视 API 和 .kibana 索引。不能访问 index。
  • logstash_system 账号:拥有 logstash_system 角色。用户 Logstash 在 Elasticsearch 中存储监控信息时使用。

另外也可以在 kibana 中通过 DSL 语句设置密码。

POST _xpack/security/user/kibana/_password
{
  "password": "elastic"
}

x-pack 内置了非常多的角色,这个我们后面再说。

密码搞定后,我们还需要修改 elasticsearch 的配置文件。

http.cors.enabled: true
http.cors.allow-origin: '*'
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type

编辑完 elasticsearch/config/elasticsearch.yml 文件后,保存重启 es 即可。

然后,head 访问方式,http://localhost:9100/?base_uri=http://localhost:9200&auth_user=elastic&auth_password=password。

好了,本文的简单教程就先到这里。其实,除了 X-Pack,我们还可以使用 shield 来进行安全管理。后面抽时间再说吧!

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号1:xmtxtt(5000人已满),微信号2:codedq(5000人已满),微信号3:xttblog(超2800)。备注:“xttblog”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!

本文原文出处:业余草: » 手把手教你为ElasticSearch设置密码、权限管理、加密访问