ElasticSearch: xpack 密码安全验证

背景

在阿里云部署了一台 ElasticSearch 节点,9200 端口直接暴露在了公网下,结果三天两头受到攻击,访问 kibana 老出现 redirect 重定向问题不能访问,查看日志索引都被人删除了,所以怀疑可能是因为被人恶意删除了,由此决定使用 xpack安全组件来保护 ElasticSearch。

  • ElasticSearch 默认安装后,本身不提供任何安全保障,这也是被人攻击的原因之一
  • 我们为了公网可以访问,配置了 server.host 为 0.0.0.0 这也是被人攻击的原因之一

xpack

X-Pack 已经作为 Elastic 公司单独的产品线,集成了 Shield, Watcher, Marvel, Graph, 和 reporting 等安全组件,有着非常强大的功能。目前 xpack 已经默认被安装在了 7.0 以上的版本中,并且支持一些功能的免费使用,比如 用户登录权限校验等基础功能。

  • 7.0 之上的版本默认安装了 xpack 组件,无需再次安装。

xpack内置的用户

用户角色
elastic超级管理员
apm_system为 apm 创建的用户
kibana为kinana创建的用户
logstash_system为logstash创建的用户
beats_system为 beats 创建的用户
kiremote_monitoring_userana为 monitoring 创建的用户

xpack默认内置了这些用户,在设置xpack的时候,需要为这些用户设置一个默认值。

启动参数

SettingDescription
xpack.security.enabled设置为 false 可以关闭 X-Pack security 功能。需要在 elasticsearch.yml 。
xpack.monitoring.enabled设置为 false 可以关闭 X-Pack monitoring 功能。 需要在elasticsearch.yml 。
xpack.graph.enabled设置为 false 可以关闭 X-Pack graph 功能。 需要在elasticsearch.yml。
xpack.watcher.enabled设置为 false 可以关闭 Watcher 功能。 只需要在 elasticsearch.yml 配置。
xpack.reporting.enabled设置为 false 可以关闭 reporting 功能。 只需要在 kibana.yml 配置。

ElasticSearch 启用 XPACK

ElasticSearch 启用 xpack 还是很简单的,只需要一行命令就可以。

bin/elasticsearch -E node.name=node-1 -E cluster.name=cluster -E path.data=node1_data -E xpack.security.enabled=true

只需要在启动命令中添加 -E 参数 xpack.security.enabled=true,就会启动XPACK

启动完成之后,我们还需要初始化一下密码

[elasticsearch-7.3.2]$ bin/elasticsearch-setup-passwords interactive
future versions of Elasticsearch will require Java 11; your Java version from [/home/process/jdk/jdk1.8.0_161/jre] does not meet this requirement
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y


Enter password for [elastic]: 
Reenter password for [elastic]: 
Enter password for [apm_system]: 
Reenter password for [apm_system]: 
Enter password for [kibana]: 
Reenter password for [kibana]: 
Enter password for [logstash_system]:

出现如上结果证明设置密码成功。
在这里插入图片描述
当我们再次登录的时候就需要输入密码了。

kibana 配置 xpack

kibana 只需要修改配置文件,将密码打开便可以,这里的设置是当初xpack设置的密码。

vim config/kibana.yml

# 修改 kibana.yml
elasticsearch.username: "kibana"
elasticsearch.password: "xxxx"

然后重启kibana,可以看到需要访问去登录kibana了。
在这里插入图片描述

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值