Kibana访问权限控制

时间:2022-09-08 14:13:27

   ELK平台搭建完成后,由于Kibana的服务也是暴露在外网,且默认是没有访问限制的(外部所有人都可以访问到),这明显不是我们想要的,所以我们需要利用Nginx接管所有Kibana请求,通过Nginx配置将Kibana的访问加上权限控制,简单常见的方式可以使用如下三种方式:

方案一:利用Nginx用户认证模块

   使用Nginx的用户认证模块(ngx_http_auth_basic_module模块,Nginxg一般已经默认安装),用户访问时会直接弹出登录提示,要求输入用户名及密码后登录。
此方案需要依赖htpasswd命令生成密码文件:

Kibana访问权限控制

方案二:利用Nginx的IP访问控制

   利用Nginx的IP访问控制,限定允许和禁止访问的IP,非允许的IP访问后网页会显示403 Forbidden信息

   Nginx配置清单:

##如果是大规模集群环境,此处配置多台Kibana服务器即可
upstream kibana_server {
server 192.168.8.202:5601;
server 192.168.8.203:5601;
}

server {

listen 80;
server_name 218.61.2.109;
charset utf8;
location / {
proxy_pass http://kibana_server$request_uri;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

##方案一、用户认证方式,依赖apache-utils中的生成密码工具
##auth_basic "secret";
##auth_basic_user_file /usr/local/nginx/passwd.db;

##方案二、只有公司的外网IP,局域网IP可以访问
allow 5*.**.**.**0;
allow 192.168.8.0/24;
deny all;
}
}

参考:http://wushengheibai.com/post/elk1

方案三、离线安装X-Pack

  基于5.X以上版本,可以安装X-Pack,但是X-Pack需要license.X-Pack离线安装命令如下:

bin/elasticsearch-plugin install file:///path/x-pack-5.2.2.zip
bin/kibana-plugin install file:///path/x-pack-5.2.2.zip

修改默认密码可以参见:https://huoding.com/2016/12/11/566

http://wdxtub.com/2016/11/19/babel-log-analysis-platform-3/