Skip to main content

Log Management dengan Graylog2, MongoDB, Elasticsearch, Kibana (1)

Pada  bagian pertama ini  baru membahas installasi MongoDB, Elasticsearch, dan Graylog2.

System log adalah object penting dalam pengamanan informasi karena bergantung pada level logingnya, system log akan mencatat detail dari aktifitas yang terjadi pada suatu system komputer baik pada level OS maupun masing-masing aplikasi. Untuk itu, management penyimpanan log juga menjadi sangat penting artinya.  Karena, log tidak cuma untuk dicopy ke disk/tape kemudian disimpan ditempat yang aman, tapi sesuai dengan peruntukkannya, file log juga harus bisa dibaca.  Tidak cuma sampai bisa dibaca, sebenarnya. Mengingat, item yang dicatat yang sangat banyak, ukuran filenya juga sangat besar. Jadi, sudah seharusnya, log yang disimpan harus bisa dpanggil dan dibaca dengan mudah. Lebih jauh lagi bisa dengan mudah dianalisa untuk dilakukan review.
Ada beberapa pilihan utama software log management, dan yang paling umum adalah Splunk. Tapi splunk adalah proprietary software dan harganya sungguh mahal.  Sebagai contoh (per 21 Agustus 2015), license perpetual untuk 100GB/day data, mereka memasang harga US$ 3000.  Sementara Annual nya adalah US$ 1200. Sementara untuk 5GB/day perpetual US$ 5000 dan Annual US$ 2000 masing-masing dengan discount untuk volume purchase.  Memang, splunk telah dibuat sedemikian rupa sehingga memudahkan kita untuk melakukan penyimpanan dan tertuamanya adalah analisis mengingat bahwa splunk menyediakan slot untuk plugins dan sudah banyak penyedia aplikasi plugins nya. Untuk itu, saya tidak akan membahas tentang splunk di sini. Ahlinya di splunk lebih berkompeten dan tentunya menjadi andalan mereka juga.
Di sini saya akan mencoba alternatifnya yang free yakni kombinasi:
Graylog2 yang terdiri dari komponen, Graylog2 Server, MongoDB, Elasticsearch, dan Graylog2 Web Interface.
Kibana, sebagai pengganti dashboard Graylog2 web interface.

Setiap kita menginstall Graylog2-server dari repository, tidak otomatis kita akan menginstall MongoDB dan Elasticsearch, meskipun kedua aplikasi ini adalah prerequisite dari Graylog2-server. Graylog-web-interface sendiri adalah aplikasi terpisah tetapi membutuhkan graylog2-server sebagai prerequisite nya.   Pada dasarnya, graylog2-server dengan Kibana sudah cukup untuk melakukan analisis log.  Namun, karena fungsi graylog2-web-interface bukan sekedar untuk analisis dan reporting, namun juga melakukan konfigurasi, maka graylog2-web-interface juga menjadi harus diinstall. Dan, pada beberapa kasus, elasticsearch seharusnya diinstall secara terpisah (mandiri), bukan sebagai bawaan dari installasi graylog.
Gambar berikut mungkin akan menjelaskan lebih jauh mengenai hubungan Graylog-server, Graylog-web-interface, mongoDB, elasticseach, dan Kibana.

Interaksi MongoDB, Graylog2-server, elasticsearch, dan Graylog2-web-interface.

Installasi Graylog2 di Centos 7.

Mungkin ini untuk pertamakali saya menggunakan selain Ubuntu. Centos dan dalam hal ini adalah Centos 7 memang telah mencuri perhatian saya untuk menggunakannya sebgai server. Graylog server ini adalah server kedua yang saya install dengan menggunakan Centos 7 sebagai OS nya.

Install Elasticsearch
Untuk langkah pertama, kita install Elasticsearch dengan menambahkan informasi yum repository.
Perintah-perintah berikut dijalankan sebagai root.  Untuk menambahkan yum repo elasticsearch,  kita install public signing key untuk elasticsearh terlebih dahulu.


root@kumputersaya:~#rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

Kemudian buat buat file /etc/yum.repost.d/elasticsearch.repo dan isikan konten berikut ke dalamnya.


[elasticsearch-1.7]
name=Elasticsearch repository for 1.7.x packages
baseurl=http://packages.elastic.co/elasticsearch/1.7/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

Update yum dengan menjalankan perintah 'yum update' dilanjutkan dengan install elasticseacrh melalui perintah berikut, "yum install elasticsearch". Elasticsearch bisa dienablekan dengan menjalankan,


root@elasticsearch:~#systemctl enable elasticsearh.service


Elasticearch siap menjalankan tugas.

Install MongoDB
Setelah elasticsearch berhasil kita install, langkah selanjutnya adalah menginstall mongoDB yang aka berfungsi sebagai tempat untuk menyimpan metadata dari Graylog.

Seperti pada installasi elasticsearch, langkah pertama adalah mempersiapkan repo untuk mongoDB. Pertama kita buatkan file /etc/yum.repos.d/mongodb.repo yang dilanjutkan dengan 'yum update'

Setelah persiapan selesai, kita jalankan proses installasi mongodb dengan menjalankan perintah berikut:


saya@kumputersaya:~#sudo yum install mongo-10gen-2.2.3 mongo-10gen-server-2.2.3


Sedangkan untuk menjalankan mongodb silakan jalankan perintah berikut


saya@kumputersaya:~#sudo systemctl enable mongos.service
saya@kumputersaya:~#sudo service start mongod


Ok, MongoDB sudah efektif.

Install Graylog
Selanjutnya kita install Graylog2.  Sama seperti yang lain, pertama kita persiapkan repo untuk installasi Graylog. Tapi berbeda dengan yang lain, persiapan reponya cukup dilakukan dengan langkah berikut:

root@kumputersaya:~#rpm -Uhv https://packages.graylog2.org/repo/packages/graylog-1.1-repository-el7_latest.rpm

Selanjutnya, jalankan 'yum update' untuk mengupdate repo yum.  Kemudian jalankan perintah berikut untuk menginstall graylog.


root@kumputersaya:~# yum install graylog-server graylog-web


Untuk mengaktifkan service, kita bisa jalankan melalui systemctl


root@kumputersaya:~#systemctl enable graylog-server.service
root@kumputersaya:~#systemctl enable graylog-web.service

Yap.. graylog sudah terinstall.

Penyesuaian Konfigurasi

Penyesuaian konfigurasi perlu dilakukan agar aplikasi yang telah terinstall bisa saling berinteraksi. File konfigurasi terinstall pada directoty :


  1. MongoDB /etc/monod.conf
  2. Elasticsearch /etc/elasticsearch/elasticsearch.yml
  3. Graylog-server /etc/graylog/server/server.conf
  4. Graylog-web /etc/graylog/web/graylog-web.conf

Hal hal yang perlu diperhatikan:

Pada MongoDB:

  • Parameter konfigurasi dbpath pada mongoDB harus diarahkan ke filesystem dengan volume terbesar.


Pada Elasticsearch:

  • Parameter konfigurasi cluster.name pada elasticsearch harus  sama dengan parameter konfigurasi  elasticsearch_cluster_name pada /etc/graylog/server.conf 
  • Parameter konfigurasi node.name pada elasticsearch harus sama dengan parameter konfigurasi elasticsearch_node_name pada /etc/graylog/server.conf

Pada Graylog-server

  • Parameter password_secret harus diisi dengan string output hasil aplikasi pwgen dengan perintah 'pwgen -N 1 -s 96'
  • Parameter root_password_sha2 harus diisi dengan hasil dari perintah 'echo -n passworanda | shasum -a 256'
  • Parameter elasticsearh_discovery_zen_ping_multicast_enabled diisi dengan false.
  • Parameter rest_transport_uri harus diperhatikan dan harus sama dengan yang diisikan ke graylog.server.uris pada graylog-web-interfaces.


Pada Graylog-Web-Interface
Parameter application.secret harus diisi dengan string output hasil aplikasi pwgen dengan perintah 'pwgen -N 1 -s 96'

Setelah server direstart, kita bisa buka web-interface dari graylog.  Bila tampilan seperti di bawah ini, maka berarti installasi sudah bisa dianggap berhasil.


(Bersambung)

Popular posts from this blog

Tentang Ultraman; Pahlawan Jepang Yang Mendunia, Salah Satu Teman Masa Kecil

Google Doodle Ultraman Pagi ini, ada kejutan yang bikin saya tersenyum. Google Doodle, hari ini temanya adalah ulang tahun Eiji Tsuburaya  sang pereka tokoh Ultraman atau dalam lidah Jepang disebut Urotoraman, tayang pertama pada 7 Juli 1966 di TBS (Tokyo Broadcasting System).  Urotoraman atau Ultraman adalah Tokusatsu  atau SciFi, seorang pahlawan super yang berukuran rasaksa. Bila beberapa halaman wiki mengatakan bahwa ide pahlawan super berukuran raksasa adalah ide aseli Tsuburaya, bagi saya itu bukan aseli. Mungkin di Jepun sono, ide aseli. Namun di Indonesia raya nan kaya dan tercinta ini, itu bukan ide aseli.  Banyak tokoh pewayangan kita seperti Yudistira, Puntadewa, bahkan yang paing fenomenal adalah Prabu Kreshna yang mampu melakukan tiwikrama , alias berubah menjadi raksasa.  Meskipun itu terjadi ketika yang melakukan sedang murka.  Jadi Ultraman adalah bentuk Tiwikrama dari pahlawan Jepang.  Meskipun begitu dan di luar semua i...

Kerang Penghasil Mutiara Air Tawar

Kerang mutiara air tawar adalah kerang penghasil butir-butir mutiara air tawar, kerang yang habitat hidupnya di Perairan Tawar (Non Laut), kerang jenis ini memiliki nama ilmiah Margatifera margatifera, salah satu jenis species yang terancam punah, jenis moluska dan termasuk ke dalam Family Margaritiferidae . Jenis species kerang lainnya yang dapat menghasilkan butir mutiara air tawar adalah Hyriopsis dan Amblema , habitat asli penyebarannya di Wilayah Asia dan Amerika Utara, kedua jenis species tersebut memiliki keterkaitan dengan family Unionidae . Ciri-cirinya ialah memiliki cangkang nacre yang tebal, nacre adalah istilah dalam kekerangan yang artinya induk/ibu dalam lapisan mutiara (Mother of Pearl). Kerang mutiara jenis ini mampu menghasilkan butir mutiara yang indah dan berkualitas, dan mampu menghasilkan 5 hingga belasan butir mutiara per ekor kerang. Kerang mutiara air tawar Ia memiliki 2 (dua) cangkang yang simetris dan  engsel yang dapat membuka dan menutup u...

Bagaimana Menginstall Snort dengan Barnyard2 dan Snorby

Mas....! Apa? Nuwun sewu, Mas! Saya udah coba install Snort dan Suricata. Tapi bingung... Bingung gimana? Bingung nginstallnya. Sampeyan nginstallnya di mana? Sampeyan gimana? Ya di kantor, Mas! Masa di rumah.  Di rumah komputer kan cuma 1 doang. He he....! Maksud saya, nginstallnya di komputer apa, OS nya apa? Di PC, OS-nya linux Linux apa? Ubuntu, Mas! Hmm... Ubuntu? Sampeyan nginstallnya make apt-get install apa compile dari source-nya? Make apt-get install, Mas! sudo apt-get install snort snort-mysql Emang kenapa, Mas? Gak apa, Cuma biasanya saya nginstallnya langsung dari source. Gimana caranya? Begini, unduh dulu source terakhir yang stabil dari http://www.snort.org/snort-downloads/ Kemudian copykan ke mesin linux yang bakal kita install snort.  Jangan cuma download source snortnya thok.  Download juga library DAQ (Data Aqcuisition Library).  Karena snort juga butuh ini kalo mau mengenable-kan semua fitur snort. Jangan lupa juga download barny...