Kibana default olarak http üzerinden ve yetkisiz erişim ile çalışmaktadır. Elastic Shield (şuanda xpack) ürünü ile bunu ücretli bir şekilde sağlayabilirsiniz. Veya alternatif olarak nginx ile bu işlemi gerçekleştirebilirsiniz.
-Nginx kurulumunu gerçekleştiriniz.
[[email protected] ~]# yum install nginx.x86_64
-Nginx’i başlatınız ve sistem başlatığında da otomatik olarak çalışmasını sağlayınız.
[[email protected] ~]# systemctl start nginx.service [[email protected] ~]# systemctl enable nginx.service
-Kibana erişiminde kullanıcı yetkilendirmesi yapabilmek için gerekli olan “httdpd-tools” paketini kurunuz.
[[email protected] ~]# yum install httpd-tools.x86_64
-Erişimi https üzerinden yapabilmek için sertifikanızı oluşturunuz ve ilgili dizine koyunuz.
[[email protected] ~]# mkdir /etc/nginx/ssl [[email protected] ~]# cd /etc/nginx/ssl [[email protected] ssl]# openssl req -x509 -nodes -days 10365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt Generating a 2048 bit RSA private key .......................................+++ ..........................................+++ writing new private key to '/etc/nginx/ssl/nginx.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:TR State or Province Name (full name) []:Istanbul Locality Name (eg, city) [Default City]:Istanbul Organization Name (eg, company) [Default Company Ltd]:Mr.HELP Organizational Unit Name (eg, section) []:IT Common Name (eg, your name or your server's hostname) []:elk.local Email Address []:[email protected]
-Nginx https erişimini ayarlayınız.
[[email protected] ~]# cd /etc/nginx/conf.d/ [[email protected] conf.d]# vi kibana.conf # # HTTPS server configuration # server { listen 443; server_name _; ssl on; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key; ssl_session_timeout 5m; ssl_protocols TLSv1; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; location / { proxy_pass http://localhost:5601/; proxy_redirect http://host:5601/ /; root html; index index.html index.htm; auth_basic "Restricted"; auth_basic_user_file /etc/nginx/conf.d/kibana.htpasswd; } }
-Kibana erişimi için kullanıcı belirleyiniz.
[[email protected] conf.d]# htpasswd -c kibana.htpasswd admin New password:parola_yazınız Re-type new password:parola_yazınız Adding password for user admin
-Nginx servisini yeniden başlatınız.
[[email protected] ~]# systemctl restart nginx.service
-Kibana erişiminizi https://ip_adresi şeklinde kontrol ediniz. Sertifikayı kabul ederek erişim sağlayabilirsiniz.
-Http üzerinden kibana erişimini kapatmak için server.host ‘satırının # ‘i kaldırın ve IP olarak “127.0.0.1” olarak değiştiriniz.
[[email protected] ~]# vi /opt/kibana/config/kibana.yml server.host: "127.0.0.1"
-Değişikliğin aktif olabilmesi için kibana servisini yeniden başlatınız.
[[email protected] ~]# systemctl restart kibana.service
-Kontrol için netstat ile 5601 portunun hangi IP’den dinlendiğine bakabilirsiniz. (127.0.0.1 olması lazım)
[[email protected] ~]# netstat -tulnp | grep 5601 tcp 0 0 127.0.0.1:5601 0.0.0.0:* LISTEN 4412/node