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

Snort dan Suricata IDPS

Sugeng pagi, Mas! Pagi, gimana kabarnya? Baik, Mas. Gini, Mas! Saya lagi pusing ngurusin jaringan di kantor. Pusing kenapa? Itu lo, Mas, virus tau-tau nongol tanpa permisi.  Bikin jaringan jadi lemot. Yang lebih repotnnya lagi, kita gak tau dari sebelah mana penyebarannya. Lah, gitu aja kok pusing.  Kamu punya alat monitoring macem IDS gak? Apa itu IDS, Mas? IDS itu, singkatan coro londo Intrussion Detection System.  Maksudnya sistem buat mendeteksi aktifitas penyusupan. La, itu kan bukan antivirus, Mas! Lagian mana ada sih yang nyusup di kantor saya.  Apalagi kantor banyakan mainnya di jaringan private. La ini, yang salah! Jangan beranggapan bahwa setiap penyusupan itu datangnya dari luar. Ancaman kebocoran itu paling besar justeru datangnya dari dalam. Dan satu hal lagi penyusupan tidak harus terjadi dalam satu saat.  Seperti proses penyusupan yang dilakukan dengan menggunakan kuda trojan.  Para penyusup justeru anteng dulu di dalam kuda trojan....

Null Allowed dan PK di Sybase ASE

Ha ha ha ha... Setelah nginep (eh nginep nggak dong la wong gak tidur) semaleman buat migrasi data, aku dapet PR baru. Menyempurnakan tool yang aku bikin. Ya harus disempurnakan la wong jalannya masih geyal-geyol. Hi hi hi hi. Hari ini, aku mencoba untuk membuat satu routine buat mengekstrak DDL bukan lewat tool yang dah ada dari Sybase, tapi murni bikinanku sendiri. Setelah tengok sana tengok sini make matanya Oom Google, akhirnya bisa terbentuk juga query dasar buat ekstrak DDL. Tapi masalah kemudian adalah menentukan suatu kolom masuk ke PK dan kemudian apakah suatu kolom itu nullallowed. Ternyata kunci untuk masuk ke PK ada di system table yang namanya 'sysindexes' dan untuk null allowed karena mengacu ke kolom ada di syscolumns. Check ini ada di kolom status dari syscolumns. Kondisi untuk check adalah 'status & 8' jika menhasilkan lebih besar dari 0 maka dia null allowed jika sama dengan 0 maka dia not null. Kemudian untuk masuk ke pk atau tidak checknya ...

Bincang Ringan, Misi Kristen dan Dakwah Islam (I)

Dalam sebuah diskusi dengan santri saya mengajukan pertanyaan, "Bolehkah orang Kristen menyiarkan agamanya ke orang Islam ?" Serentak mereka menjawab "Tidak boleh". Kemudian saya mengajukan pertanyaan susulan, "Rekan-rekan santri senang tidak, kalau ada orang yang masuk Islam karena didakwahi oleh Koh Hany," dan secara serempak juga mereka menjawab "Tentu senang ustadz." Kontan saya timpali, lha kok nggak adil, orang Kristen nggak boleh menyiarkan agama ke umat Islam, sementara umat Islam boleh mendakwahi orang Kristen. Saya jadi ingat kutipan dari Syaikh Ali Mahfuzh, guru besar Ilmu Da'wah wal Irsyad, Anggota Majelis Ulama dan Pembina Ilmu Dakwah pada Universitas Al Azhar dalam bukunya Widji Saksono, Mengislamkan Jawa, terbitan Mizan tahun 1995. "Barangsiapa memperhatikan dengan seksama, tahulah ia bahwa sesungguhnya dakwah kepada Allah itu adalah sendi kehidupan suatu agama, pangkal syi'ar suatu kepercayaan. Syahdan pad...