ELKstack 之 权限验证(X-pack或nginx)

2019年1月22日14:58:48 发表评论 466 views

部署完 Elkstack后,可以直接在浏览器进入kibana页面进行访问,而这样对一些重要数据来说是不安全的,可以利用密码验证来设置权限访问。

一、权限验证方法

  • 方法一:通过nginx upstream(转发模块)+auth_basic(认证模块)
  • 方法二:使用验证模块 x-pack 此模块功能强大,ELKstack相关组件都可以监控添加安全验证等,支持5.0以后版本。

X-pack模块使用详解

二、Nginx 配置kibana验证

elastisearch 与 kibana 最好都设置成127.0.0.1:默认端口,只能本机访问(安全),对外暴露就直接nginx 代理即可。

2.1 环境介绍

ELKstack 之 权限验证(X-pack或nginx)
在kibana所在的服务器上安装nginx服务,利用nginx的转发指令实现。

2.2 安装好nginx后,进入nginx配置页面,修改如下:

upstream kibana_server {
        server  127.0.0.1:5601 weight=1 max_fails=3  fail_timeout=60;
}

  upstream elasticsearch {
    server 127.0.0.1:9200 ; #这里的ip 一定要设置IP,否则起不到安全作用,kibana也是
}
server {
        listen 8080;
        server_name 你的域名 或者 IP ;
        auth_basic "Restricted Access"; #添加秘钥证人模块
        auth_basic_user_file /application/nginx/html/.htpasswd; #这个就是htpasswd生产密码的文件
        location / {
        proxy_pass http://kibana_server;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        }
}

2.3 通过加密工具htpasswd生成账号和密码

[root@leeclient html]# htpasswd -c /application/nginx/html/.htpasswd admin
New password: 
Re-type new password: 
Adding password for user admin

#如果报错:找不到htpasswd,可能是没有安装软件包
[root@Admin oneinstack]# rpm -qa|grep httpd-tools  #检查是否安装http-tools
httpd-tools-2.2.15-69.el6.centos.x86_64
[root@Admin oneinstack]# yum -y install httpd-tools  #如果没有,就安装

2.4 开启nginx服务,在浏览器输入ip 后如下图所示

ELKstack 之 权限验证(X-pack或nginx)
ELKstack 之 权限验证(X-pack或nginx)

三、x-pack 配置验证

X-Pack中包含的大多数插件都不是免费的,因此您可以购买许可证。
但是,您可以尝试使用试用许可证30天。
以下安装说明仅适用于6.2及更早版本
在6.3及更高版本中,X-Pack包含在Elastic Stack的默认发行版中,默认情况下启用所有免费功能
X-pack官方网站
X-pack快速部署

3.1 elasticsearch 配置x-pack

/usr/local/elasticsearch/bin/elasticsearch-plugin  install file:///tmp/x-pack-6.2.3.zip
chown -R elasticsearch.elasticsearch elasticsearch.keystore     #不授权会报错,内存堆栈溢出,权限不足
# 重启 elasticserach

ELKstack 之 权限验证(X-pack或nginx)

设置密码

/usr/local/elasticsearch/bin/x-pack/setup-passwords interactive     #交互方式设置密码

#括号里的是用户名

ELKstack 之 权限验证(X-pack或nginx)
ELKstack 之 权限验证(X-pack或nginx)

3.2 kibana 配置x-pack

除了一键部署外,还有另外1种 离线部署,主要解决没有网络的情况
离线部署:

cd /tmp
wget https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-6.2.3.zip
# 如果下载过慢 可以到QQ群 搜索 x-pack 即可

/usr/local/kibana/bin/kibana-plugin  install file:///tmp/x-pack-6.2.3.zip
##注意指定x-pack的安装路径,安装过程会比较久,请耐心等待。

ELKstack 之 权限验证(X-pack或nginx)

创建kibana用户名密码

[root@elk-server tmp]# tail /usr/local/kibana/config/kibana.yml 

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "http://192.168.56.13:9200"
elasticsearch.username: "kibana"
elasticsearch.password: "qiuyuetao"
#意上面的用户名和密码,是在"Elasticsearch"安装X-Pack插件的时候已经生成的。
#意配置server.host,否则无法远程登陆Kinaba。

重启kibanba

出现问题:登陆目前已停用
ELKstack 之 权限验证(X-pack或nginx)

解决问题:【权限问题,或者为配置elastic,密码重设】
ELKstack 之 权限验证(X-pack或nginx)
ELKstack 之 权限验证(X-pack或nginx)

问题: 还有个license证书续签或者使用破解版的问题
ELKstack 之 权限验证(X-pack或nginx)

解决方法:ELKstack 之 License过期重签

  • QQ精品交流群
  • weinxin
  • 微信公众号
  • weinxin
admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: