JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

企业级ELK实战之(2)kibana安全设置

wys521 2024-10-17 16:23:15 精选教程 17 ℃ 0 评论

kibana安全设置

因为默认的kibana是没有任何的权限控制,先把kibana改到监听127.0.0.1,借助nginx来限制访问

1、重启kibana

kill -9 进程ID

su -s /bin/bash elk '/usr/local/kibana-6.2.3-linux-x86_64/bin/startup.sh'

本机(127.0.0.1)访问测试:

物理机访问:

首先测试连通性,是可以通的

接着访问web,失败

2、安装nginx

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

yum install -y nginx

3、查看nginx的安装位置

rpm -qal nginx

4、备份nginx文件

cp nginx.conf nginx.conf.bak

5、借助nginx来限制访问,控制源ip的访问

vim nginx.conf

增加如下内容:

server {

listen 5609;

access_log /var/log/elk/kibana/kibana_access.log main;

error_log /var/log/elk/kibana/kibana_error.log error;

location / {

allow 127.0.0.1;

deny all;

proxy_pass http://127.0.0.1:5601;

}

}

整个配置文件如下:

worker_processes 1;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

sendfile on;

keepalive_timeout 65;

server {

listen 5609;

access_log /var/log/elk/kibana/kibana_access.log main;

error_log /var/log/elk/kibana/kibana_error.log error;

location / {

allow 127.0.0.1;

deny all;

proxy_pass http://127.0.0.1:5601;

}

}

}

可以在日志里面找到源ip地址:tailf /var/log/elk/kibana/kibana_access.log

nginx 启动

nginx -t 测试命令

nginx -s relaod 修改nginx.conf之后,可以重载

6、将"server.host: "127.0.0.1"改为"server.host: "0.0.0.0",并重启kibana使用本机访问

ps axu | grep kibana

kill -9 1842

此时kibana进程以及被关闭,如下图:

启动kibana

su -s /bin/bash elk /usr/local/kibana-6.2.3/bin/startup.sh

使用本机访问(http://127.0.0.1:5609,注意端口)kibana,成功,如下图所示:

使用物理机访问http://192.168.139.98:5609/(nginx的监听端口是5609,并且做了转发),失败,如下图所示:

查看kibana的访问日志

tailf /var/log/elk/kibana/kibana_access.log

将拒绝的地址加入到nginx的配置文件中,重启nginx

nginx -s reload

访问成功,如下图:

7、在非固定IP的环境下,使用nginx支持简单的用户名密码认证

vim /etc/nginx/nginx.conf

将之前的配置注释掉,加入如下配置:

auth_basic "elk auth";

auth_basic_user_file /var/log/elk/kibana/htpasswd;

proxy_pass http://127.0.0.1:5601;

生成用户名和密码

printf "user_elk:$(openssl passwd -1 123)\n" >/var/log/elk/kibana/htpasswd

注:用户名为user_elk密码为123

重启nginx

nginx -s reload

访问测试

输入用户名和密码后访问成功

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表