Pendahuluan
Cara termudah untuk mengamankan dasbor Kibana Anda dari penyusup jahat adalah dengan mengatur proxy terbalik Nginx. Dengan melakukannya, Anda memastikan hanya pengguna yang dilindungi kata sandi yang berwenang yang dapat mengakses Kibana (dan data di Elasticsearch).
Dalam tutorial ini, Anda akan mempelajari cara mengonfigurasi proxy terbalik Nginx untuk Kibana.
Prasyarat
- Tumpukan ELK yang berfungsi terpasang di sistem Anda
- Akun pengguna dengan sudo hak istimewa
- Akses ke jendela terminal/baris perintah
Konfigurasi Nginx Reverse Proxy untuk Kibana
Langkah 1:Konfigurasi Kibana
Sebelum Anda mulai menyiapkan Nginx, pastikan untuk mengedit file konfigurasi Kibana dan Elasticsearch.
1. Pertama, buka file konfigurasi Kibana dengan menjalankan:
sudo vim /etc/kibana/kibana.yml
Jika Anda mengikuti langkah-langkah yang diuraikan dalam instalasi Kibana, file tersebut akan mirip dengan yang ditampilkan di bawah ini.
2. Ubah port server default dan host server alamat ke nilai berikut:
server.host:"localhost"
server.port:5601
3. Selanjutnya, simpan dan keluar filenya.
4. Restart layanan Kibana dengan perintah:
sudo service kibana restart
Langkah 2:Konfigurasi Elasticsearch
1. Ulangi proses yang sama untuk Elasticsearch. Buka file konfigurasinya:
sudo vim /etc/elasticsearch/elasticsearch.yml
2. Selanjutnya, temukan baris berikut dan ubah port dan host default:
http.port: 9200
network.host: localhost
3. Simpan file dan mulai ulang layanan:
sudo service elasticsearch restart
4. Terakhir, verifikasi bahwa Anda dapat mengakses Kibana dengan menavigasi ke URL berikut di browser:
http://localhost:5601
Langkah 3:Instal dan Konfigurasi Nginx
Langkah selanjutnya adalah menyiapkan Nginx.
1. Jika Anda belum menginstal Nginx, jalankan perintah:
sudo apt-get install nginx
2. Setelah Anda menyiapkan Nginx, instal apache2-utils , sebuah utilitas untuk membuat akun yang dilindungi sandi:
sudo apt-get install apache2-utils
3. Kemudian, buat akun pengguna yang ingin Anda gunakan untuk mengakses Kibana. Ganti user_account
dalam perintah dengan nama pengguna yang ingin Anda gunakan:
sudo htpasswd -c /etc/nginx/htpasswd.users user_account
4. Output kemudian meminta Anda untuk memberikan dan mengetik ulang kata sandi untuk pengguna ini:
New password:
Re-type new password:
Adding password for user user_account
5. Selanjutnya, buat file konfigurasi untuk Nginx:
sudo vim /etc/nginx/conf.d/kibana.conf
6. Tambahkan konten berikut sekali di dalam editor teks:
worker_processes 1;
events {
worker_connections 1024;
}
http {
upstream elasticsearch {
server 127.0.0.1:9200;
keepalive 15;
}
upstream kibana {
server 127.0.0.1:5601;
keepalive 15;
}
server {
listen 8881;
location / {
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/htpasswd.users;
proxy_pass http://elasticsearch;
proxy_redirect off;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
}
}
server {
listen 8882;
location / {
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/htpasswd.users;
proxy_pass http://kibana;
proxy_redirect off;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
}
}
}
7. Simpan dan keluar dari file.
Langkah 4:Mulai Ulang Layanan
Anda perlu memulai ulang layanan agar mereka dapat mengenali konfigurasi baru.
1. Mulai ulang Nginx dengan menjalankan:
sudo service nginx restart
2. Kemudian restart service Kibana dengan perintah:
sudo service kibana restart
Langkah 5:Konfirmasi Otentikasi Berfungsi dengan Benar
1. Buka browser web dan navigasikan ke alamat IP yang Anda tetapkan untuk Kibana.
2. Jendela autentikasi muncul meminta Anda untuk memberikan Nama Pengguna dan Sandi .
3. Ketik kredensial yang dikonfigurasi saat menyiapkan Nginx dan pilih Masuk . Jika Anda memberikan informasi yang benar, browser akan membuka halaman selamat datang Kibana.