Elasticsearch, Kibana, dan Logstash (ELK Stack) adalah gabungan dari 3 aplikasi berupa search engine analytics, Data Procession, dan data Visualization. ELK banyak digunakan dalam berbagai bidang, diantaranya digunakan dalam kegiatan Security Operation Center sebagai SIEM.
Langkah-langkah instalasi ELK
- Preparing Fresh Install Debian 10
Konfigurasi yang dibuat untuk lab elk sederhana adalah dengan menggunakan 8 GB Ram, 4 Core Processor, dan 128 GB Hard Disk.
Konfigurasi instalasi debian bisa dengan mengaktifkan SSH Server (Opsional) dan Standart System Utilities.
Aplikasi tambahan yang diperlukan selama penginstalan
apt update | apt install sudo gpg curl net-tools
- Instalasi ELK
Download dan install Publik key dari repository elasticsearch
apt get -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
Menginstall apt-transport-https
sudo apt-get install apt-transport-https
Menyimpan repository ke dalam source list.
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
Melakukan update repository terbaru
apt update
- Elasticsearch
Install elastic search
apt install elasticsearch
Jika berhasil akan menghasil informasi terkait superuser access pada elasticsearch, untuk dapat menjalankan elasticsearch pada saat booting sistem dapat melakukan enable service pada elasticsearch.
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
Lalu jalankan elasticsearchnya
sudo systemctl start elasticsearch.service
Untuk melihat apakah service elasticsearch berjalan
sudo systemctl status elasticsearch.service
- Kibana
Install kibana
sudo apt install kibana
Untuk dapat menjalankan elasticsearch pada saat booting sistem dapat melakukan enable service pada elasticsearch.
sudo systemctl daemon-reload
sudo systemctl enable kibana.service
Lalu jalankan kibana service nya
sudo systemctl start kibana.service
Untuk melihat apakan service kibana berjalan
sudo systemctl status kibana.service
- Logstash
Install logstash
sudo apt install logstash
Untuk dapat menjalankan logstash pada saat booting sistem dapat melakukan enable service pada logstash.
sudo systemctl daemon-reload
sudo systemctl enable logstash.service
Lalu jalankan logstash service nya
sudo systemctl start logstash.service
Untuk melihat apakan service logstash berjalan
sudo systemctl status logstash.service
Ketika semuanya telah terinstall dengan benar maka akan ada 3 port yang terbuka, yaitu port 9200 dan 9300 untuk elasticsearch dan port 5601 untuk kibana.
Namun ketika kita mencoba akses interface kibana di port 5601 dari device lain, maka akan muncul tampilan Internet Connection Refused, hal ini disebabkan secara default ELK di desain hanya dapat berinteraksi pada jaringan localhost.
Supaya kita dapat mengaksesnya dari luar, maka diperlukan modifikasi.
- Elasticsearch
Pada : /etc/elasticsearch/elasticsearch.yml
Uncomment (#) network.host dan ubah ip nya menjadi 0.0.0.0
- Kibana
Pada /etc/kibana/kibana.yml
Uncomment (#) server.port dan server.host , kemudian ubah server.host ke 0.0.0.0
Selanjutnya restart kembali service elasticserach dan kibana
sudo systemctl daemon-reload
sudo systemctl restart elasticsearch.service
sudo systemctl restart kibana.service
Jika berhasil, maka ketika refresh halaman interface kibana akan muncul tampilan seperti ini
- Konfigurasi Elasticsearch dan Kibana
Membuat token elasticsearch untuk untuk dapat mengaktifkan interafce kibana
/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
Nantinya token yang sudah di generate dimasukan kedalam interface website kibana.
Nantinya akan muncul popup untuk melakukan verifikasi pada service kibana
Untuk mendapatkan kode verifikasi, dapat dilakukan dengan
/usr/share/kibana/bin/kibana-verification-code
Maka untuk selanjutnya kibana akan melakukan konfigurasi awal sebelum nantinya dapat diakses dan digunakan.
Untuk mengakses dasbor elastic dapat menggunakan user elastic dan password berupa temporary password elastic pada saat penginstallan, setelah itu ubah password.
Referensi:
https://www.elastic.co/guide/en/elastic-stack/current/installing-elastic-stack.html
https://elastic.co/guide/en/elasticsearch/reference/8.6/deb.html#deb-repo
https://discuss.elastic.co/t/curl-7-failed-to-connect-to-1-x-x-x-port-5601-connection-refused/146848