Kibana使用Nginx代理验证
2017-12-12 17:59
162 查看
需求实现
在使用ELK进行日志统计的时候,由于Kibana自身并没有身份验证的功能,任何人只要知道链接地址就可以正常登录到Kibana控制界面。由于日常的查询,添加日志和删除日志都是在同一个web 中进行,这样就有极高的安全隐患。任何人都有权限对其进行修改。为了避免这一问题,可以使用Nginx的验证功能来代理Kibana.
安装配置Kibana
在官方下载对应的RPM包进行安装,链接:https://www.elastic.co/downloads/kibana这里以kibana-5.6.5-x86_64为例,上传kibana-5.6.5-x86_64.rpm包到主机:
[root@node1 ~]# yum install java-1.8.0-openjdk-devel -y [root@node1 ~]# yum install kibana-5.6.5-x86_64.rpm -y
配置Kibana:
[root@node1 ~]# grep "^[a-z]" /etc/kibana/kibana.yml server.port: 5601 server.host: "192.168.20.60" # 端口监听地址,此时配置用于测试 elasticsearch.url: "http://192.168.20.61:9200"
启动:
[root@node1 ~]# systemctl start kibana [root@node1 ~]# netstat -lntp|grep 5601 tcp 0 0 192.168.20.60:5601 0.0.0.0:* LISTEN 5897/node
使用5601端口访问网页正常,将本地监听IP改为127.0.0.1,只通过本地的nginx访问,禁止外部直接访问Kibana:
[root@node1 ~]# grep "^[a-z]" /etc/kibana/kibana.yml server.port: 5601 server.host: "127.0.0.1" elasticsearch.url: "http://192.168.20.61:9200"
重启Kibana,查看本地监听端口:
[root@node1 ~]# systemctl restart kibana [root@node1 ~]# netstat -lntp|grep 5601 tcp 0 0 127.0.0.1:5601 0.0.0.0:* LISTEN 6034/node
安装配置Nginx
直接使用yum的方式安装:[root@node1 ~]# yum install nginx -y
添加配置文件:
[root@node1 ~]# vim /etc/nginx/conf.d/kibana.conf #添加如下内容 upstream kibana_server { server 127.0.0.1:5601 weight=1 max_fails=3 fail_timeout=60; } server { listen 80; server_name 192.168.20.60; auth_basic "Restricted Access"; # 验证 auth_basic_user_file /etc/nginx/htpasswd.users; # 验证文件 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; } }
配置验证
创建验证文件授权,需要先安装httpd-tools工具:[root@node1 ~]# yum install -y httpd-tools [root@node1 ~]# htpasswd -bc /etc/nginx/htpasswd.users admin password # 创建验证文件,并添加用户 Adding password for user admin [root@node1 ~]# cat /etc/nginx/htpasswd.users admin:$apr1$9AMiN0Ud$Q95cyrPix89nw3h3d4cwo0
如果要添加多个用户密码可以使用如下命令:
[root@node1 ~]# htpasswd -b /etc/nginx/htpasswd.users try trying Adding password for user try [root@node1 ~]# cat /etc/nginx/htpasswd.users admin:$apr1$9AMiN0Ud$Q95cyrPix89nw3h3d4cwo0 try:$apr1$s5QCG32f$9KQFhsiw.PYmmmst.5r/q1
启动nginx:
[root@node1 ~]# nginx -t [root@node1 ~]# systemctl start nginx [root@node1 ~]# netstat -lntp|grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6085/nginx: master
再次使用IP登录时,就需要输入用户名和密码。
可以通过使用
status查看系统的当前状态:
http://192.168.20.60/status
相关文章推荐
- 使用ElasticSearch+LogStash+Kibana+Redis搭建日志管理服务
- kibana 使用 (1)
- elk的安装部署三(kibana的安装及使用filebeat收集日志)
- 使用 Docker 部署和迁移多节点的 ElasticSearch-Logstash-Kibana 集群
- Centos7下使用ELK(Elasticsearch + Logstash + Kibana)搭建日志集中分析平台
- Kibana4 的安装和使用
- ELK日志系统:Filebeat使用及Kibana如何设置登录认证
- [大数据]-Elasticsearch5.3.1+Kibana5.3.1从单机到分布式的安装与使用<2>
- Kibana安装及使用说明
- 如何开发自己的搜索帝国之ES图形化Kibana安装与使用
- Kibana使用高德地图
- ELK日志系统:Filebeat使用及Kibana如何设置登录认证(转)
- Kibana使用安装
- kibana/elasticsearch使用
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(十二) kibana 界面使用简介
- 使用logstash+elasticsearch+kibana快速搭建日志平台
- ELK:kibana使用的lucene查询语法
- 使用python操作elasticsearch实现监控数据及kibana分析
- 部署和使用kibana
- kibana使用入门