学会偷懒,并懒出效率

elastic6.0与kibana6.0如何添加授权访问?

为什么要安装xpack?

1、kibana安装成功后,由于在外网上通过ip:port访问的,不安全
2、elastic安装成功后,局域网ip:port访问操作数据,不安全
所以要添加用户名和密码的方式进行授权访问,安装一个x-pack插件就可以实现。

前言

x-pack是elasticsearch的一个扩展包,将安全,警告,监视,图形和报告功能捆绑在一个易于安装的软件包中,
虽然x-pack被设计为一个无缝的工作,但是你可以轻松的启用或者关闭一些功能

一、为elasticsearch安装X-Pack插件

进入 elasticsearch根目录,执行(es如果是一个集群,在每一个节点上安装) :
bin/elasticsearch-plugin install x-pack

配置elasticsearch.yml添加下面配制

# -------------------- Xpack插件 -------------------
# 使得x-pack认证机制生效
xpack.security.audit.enabled: true

# 开启 xpack的 安全机制。 需要在 kibana.yml中同样加入
xpack.security.enabled: true

xpack.graph.enabled: true
xpack.watcher.enabled: true
xpack.monitoring.enabled: true 

#配置监控的索引:假设监控logstash-*,test索引
xpack.monitoring.collection.indices: logstash-*, test

启动es
$ /opt/modules/elasticsearch/bin/elasticsearch -d

xpack操作—-添加用户
# /opt/modules/elasticsearch/bin/x-pack/users useradd admin -p 123456 -rsuperuser

xpack操作—-查看用户
# /opt/modules/elasticsearch/bin/x-pack/users list
admin :superuser
test : - ###创建用户时没有添加-r参数,所以没有用户角色

xpack操作—-测试登录用户
# curl http://localhost:9200/_xpack/ --user admin:123456

删除用户—-xpack操作
# /opt/modules/elasticsearch/bin/x-pack/users userdel test

这样浏览器访问http://192.168.46.132:9200/ 就会出现登录页面了admin 123456。
或者 # curl -u admin:123456 'localhost:9200/?pretty'

这样elastic操作就有授权访问了,增加了安全性,防止黑客局域网内扫描。

二、为Kibana安装X-Pack插件

进入Kibana根目录执行命令:
# /opt/modules/kibana/bin/kibana-plugin install x-pack
Found previous install attempt. Deleting…
Attempting to transfer from x-pack
Attempting to transfer from https://artifacts.elastic.co/downloads/kibana-plugins/x-pack/x-pack-6.0.0.zip
Transferring 120307264 bytes……….
结果我的服务器没有下载进度,如上,所以我把上面的url复制下来通过浏览器下载下来了,离线安装吧。
下载好后,上传到/opt/modules/src目录下
# /opt/modules/kibana/bin/kibana-plugin install file:/opt/modules/src/x-pack-6.0.0.zip

在kibana.yml文件中配置, 这里有用户是在elastic的xpack上创建的用户
#vi /opt/modules/kibana/config/kibana.yml
elasticsearch.username: “admin”
elasticsearch.password: “123456”

启动Kibana
# /opt/modules/kibana/bin/kibana
这时再浏览器访问http://192.168.46.132:5601 输入admin 123456就可以登登发

三、管理用户

三、管理用户
通过kibana的web界面进行用户和用户组的管理

四、xpack证书更新

xpack安装完成后,默认情况下,x-pack插件license有效期为一个月
通过如下命令:
# curl -XGET -u admin:123456 'localhost:9200/_xpack/license'

{
  "license" : {
    "status" : "active",
    "uid" : "53713854-15d9-46d4-8ad5-b0b6acca5ff5",
    "type" : "trial",
    "issue_date" : "2017-11-28T11:14:12.587Z",
    "issue_date_in_millis" : 1511867652587,
    "expiry_date" : "2017-12-28T11:14:12.587Z",      //2017-12-28过期
    "expiry_date_in_millis" : 1514459652587,
    "max_nodes" : 1000,
    "issued_to" : "es_production",
    "issuer" : "elasticsearch",
    "start_date_in_millis" : -1
  }
}

注册用户获取基础license,有效期1年, 注册地址:https://register.elastic.co/xpack_register 注册成功后,会在你的邮箱收到一封邮件如下:

Thank you for using the Elastic Stack and registering for your free Basic license! This license expires on November 29, 2018同时也告诉你下载地址了。

下载证书json文件后,重命名为: xpack_license20181129.json,然后把这个文件上传到/opt/modules/src/目录

更新license命令:

# curl -XPUT -u admin:123456 'http://192.168.46.132:9200/_xpack/license?pretty&acknowledge=true' -H "Content-Type: application/json" -d @/opt/modules/src/xpack_license20181129.json
{
  "acknowledged" : true,     //更新成功
  "license_status" : "valid"
}

在kibana界面也可以看到,如下图:

证书权限表:https://www.elastic.co/subscriptions#request-info