本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云
最近,交大因为对 ElasticSearch 数据库未正确配置公开访问权限,导致泄漏了 8.4TB 的电子邮件元数据。一时间各大媒体相互报道,看客们一个个很热闹!
之前,就有互联网知名团队报道过,因为 MongoDB、ElasticSearch 等未配置密码,未添加权限管理等造成信息泄露的事件在逐渐上升。
一方面是因为这些开源产品并没有默认的提供安全配置等功能。另一方面是互联网技术发展太快,技术人员的技能参差不齐,导致了很多人忽略了安全方面的管理。今天抽个机会,教大家如何对 ElasticSearch 配置密码,进行加密访问。
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
接着,根据提示,为三个内置账号设置密码。
也可以有系统自动生成密码。自动生成密码,执行下面的命令即可。
./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)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!
本文原文出处:业余草: » 手把手教你为ElasticSearch设置密码、权限管理、加密访问