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

Superfish Menginjeksi Laman-Laman Google

Beberapa bulan lalu pengguna lenovo sempat dibuat gerah dengan penggunaan software superfish yang sengaja disisipkan oleh Lenovo. Penggunaan adware yang sebenarnya dimaksudkan untuk memudahkan pengguna yang suka berbelanja ternyata justeru menjadi duri dalam daging bagi pengguna. Adware ini, mampu membongkar enkripsi web pengguna komputer dan akhirnya membuat komputer yang bersangkutan menjadi rentan terhadap serangan cyber. Dan yang paling ‘menggemaskan’ adalah adware ini bisa menyuntikkan iklan-iklan yang tidak diinginkan (bahkan sering menampilkan gambar perempuan dengan pakaian minim) ketika pengguna membuka web apapun. Meskipun Lenovo telah berjanji untuk menghentikan penggunaan Superfish, namun ternyata bahaya masih mengintai para pengguna internet. Google sebagai peramban paling populer saat ini berpotensi menyebarkan Ad Injection melalui ekstensyen nya. Berdasar riset dari Google, 4% laman google telah di-inject oleh superfish dengan iklan-iklan yang gak jelas. Dan 5....

Masih Pagi??

Ingat saat di sekolah S3 (SD,SMP,SMA) segala sesuatu yang menyangkut hasrat dan keinginan ada kalanya mentog kepada satu frasa: masih pagi. Berpikir tentang rezeki katanya masih terlalu pagi untuk memikirkan hal yang gak-gak gitu. Mengangankan tentang hari nanti (mungkin adalah saat ini), juga dibilang masih terlalu pagi apalagi jika sifatnya pesimistis. Terima kasih untuk semua yang mengatakan itu karena setidaknya aku bisa berfikir saat ini, bahwa memang masih terlalu pagi (saat itu), tetapi terlalu pagi itu bukan artinya untuk berhenti memulai. Tetapi terlalu pagi yang berarti bahwa memang sudah seharusnya dimulai saat itu. Kita tidak pernah tahu apa yang akan kita dapatkan nanti, dan karena itu kita harus tahu apa yang harus kita kerjakan saat ini. Merencanakan adalah kata yang sangat indah untuk diucapkan. Perencanaan adalah sesuatu yang sangat mudah untuk dituliskan manakala pelaksanaan tidak pernah terpikirkan. Semua bermuara pada satu kata : tangggung jawab . Tanggung jawab...

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....