Tutorial Instalasi Wazuh 4.0 (Endpoint Security) pada CentOS 7

Wazuh merupakan perangkat berbasis Open Source yang berfungsi sebaga sistem deteksi intrusi berbasis host (endpoint). Wazuh melakukan analisis log, pemeriksaan integritas, pemantauan registri Windows, deteksi rootkit, peringatan berbasis waktu, dan respons aktif.

A. Mengenal Wazuh

Wazuh merupakan perangkat yang menyediakan fitur visibilitas keamanan yang lebih dalam ke sebuah infrastruktur dengan memantau host pada sistem operasi dan juga pada tingkat aplikasi. Wazuh terdiri dari 2 (dua) bagian yaitu Wazuh-Server dan Wazuh-Agent. Wazuh server merupakan perangkat yang digunakan sebagai manajemen agen dan dashboard sistem monitoring baik file integrity, intrusion, maupun log. Sedangkan Wazuh agent merupakan perangkat yang diinstall pada perangkat endpoint untuk melakukan pembacaan sistem, pengumpulan log serta mengirimkan ke Wazuh server. Fitur-fitur yang disediakan oleh Wazuh antara lain:

  1. Manajemen dan analisis log: Wazuh agent membaca sistem operasi dan log aplikasi, dan meneruskannya dengan aman ke Wazuh server untuk analisis dan penyimpanan (manajemen);
  2. Pemantauan integritas file: Wazuh memonitor sistem file, mengidentifikasi perubahan konten, izin, kepemilikan, dan atribut file yang ada pada sistem;
  3. Deteksi intrusi dan anomali: Wazuh agent memindai sistem untuk mencari malware, rootkit, atau anomali yang mencurigakan. Agent dapat mendeteksi file tersembunyi, proses terselubung atau pendengar jaringan yang tidak terdaftar, serta inkonsistensi dalam respons panggilan sistem;
  4. Pemantauan kebijakan dan kepatuhan: Wazuh memantau file konfigurasi untuk memastikan mereka mematuhi kebijakan keamanan, standar, atau panduan hardening pada sistem sesuai Security Framework. Agent melakukan pemindaian berkala untuk mendeteksi aplikasi yang diketahui rentan, tidak ditambal, atau tidak dikonfigurasi dengan aman.

Rangkaian kemampuan yang beragam ini disediakan dengan mengintegrasikan OSSEC, OpenSCAP dan Elastic Stack, menjadikannya sebagai solusi terpadu, dan menyederhanakan konfigurasi dan manajemennya.

B. Persiapan Instalasi

Dalam melakukan instalasi Wazuh Server, perlu menyiapkan beberapa environment antara lain :

  1. Sistem Operasi. Wazuh dapat dilakukan instalasi pada Sistem Operasi berikut ini :
  • Amazon Linux 1 dan 2
  • CentOS 6 atau versi diatasnya
  • Debian 7 atau versi diatasnya
  • Fedora 31 atau versi diatasnya
  • Oracle Linux 6 atau versi diatasnya
  • Ubuntu 12 atau versi diatasnya
  1. Spesifikasi Sistem. Terdapat 2 (dua) jenis sistem yang diimplementasikan yaitu All-In-One Deploymentmerupakan instalasi Wazuh dilakukan pada 1 sistem yang sama (Wazuh Server dan Elastic Stack) dan Distributed Deployment  merupakan instalasi Wazuh dilakukan pada  sistem yang berbeda antara Wazuh Server dan Elastic Stack;
  • All-In-One Deployment
    • Spesifikasi minimum untuk instalasi jenis ini adalah 4 GB RAM dan 2 CPU Cores. Rekomendasi instalasi adalah 16 GB RAM dan 8 CPU Cores.
    • Media Penyimpanan yang dibutuhkan adalah sebagaimana gambar berikut ini. Sebagai contoh, untuk implementasi Wazuh dengan 10 Servers yang dilakukan pemantauan, maka penyimpanan yang perlu disiapkan untuk implementasi Wazuh adalah 10 * 3,8 = 38 GB untuk 90 Hari.
  • Distributed Deployment
    • Spesifikasi untuk instalasi jenis ini adalah sebagaimana gambar berikut ini.
    • Media penyimpanan yang dibutuhkan adalah sebagaimana gambar berikut ini. Sebagai contoh, untuk implementasi Wazuh dengan 10 Servers yang dilakukan pemantauan, maka penyimpanan yang perlu disiapkan untuk implementasi Wazuh adalah 10 * 0,1 = 1 GB per 90 Hari untuk Wazuh Server dan 10 * 3,7 = 37 GB per 90 Hari untuk Elastic Stack Server.

C. Instalasi Wazuh-Server

Pada instalasi kali ini, dilakukan pada Sistem operasi CentOS versi 7 menggunakan media Virtualisasi Virtual Box. Untuk jenis sistem yang dilakukan instalasi yaitu All-In-One Deployment.

  1. Persiapan
# export JAVA_HOME=/usr/ && yum install curl unzip wget libcap && yum install java-11-openjdk-devel

Output :

  1. Instalasi Wazuh Manager
# rpm –import https://packages.wazuh.com/key/GPG-KEY-WAZUH
# cat > /etc/yum.repos.d/wazuh.repo << EOF
[wazuh]
gpgcheck=1
gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH
enabled=1
name=EL-$releasever – Wazuh
baseurl=https://packages.wazuh.com/4.x/yum/protect=1
EOF 
# yum install wazuh-manager
# systemctl daemon-reload
# systemctl enable wazuh-manager
# systemctl start wazuh-manager
# systemctl status wazuh-manager

Output :

  1. Instalasi Elasticsearch
# yum install opendistroforelasticsearch 

Output :

# curl -so
/etc/elasticsearch/elasticsearch.yml
https://raw.githubusercontent.com/wazuh/wazuh-documentation/4.0/resources/open-distro/elasticsearch/7.x/elasticsearch_all_in_one.yml
# curl -so
/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/roles.yml https://raw.githubusercontent.com/wazuh/wazuh-documentation/4.0/resources/open-distro/elasticsearch/roles/roles.yml
# curl -so
/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/roles_mapping.yml https://raw.githubusercontent.com/wazuh/wazuh-documentation/4.0/resources/open-distro/elasticsearch/roles/roles_mapping.yml
# curl -so
/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml https://raw.githubusercontent.com/wazuh/wazuh-documentation/4.0/resources/open-distro/elasticsearch/roles/internal_users.yml 
# rm /etc/elasticsearch/esnode-key.pem /etc/elasticsearch/esnode.pem /etc/elasticsearch/kirk-key.pem /etc/elasticsearch/kirk.pem /etc/elasticsearch/root-ca.pem -f
# mkdir /etc/elasticsearch/certs
# cd /etc/elasticsearch/certs
# curl -so
~/search-guard-tlstool-1.8.zip https://maven.search-guard.com/search-guard-tlstool/1.8/search-guard-tlstool-1.8.zip
# unzip ~/search-guard-tlstool-1.8.zip -d ~/searchguard
# curl -so
~/searchguard/search-guard.yml https://raw.githubusercontent.com/wazuh/wazuh-documentation/4.0/resources/open-distro/searchguard/search-guard-aio.yml
# ~/searchguard/tools/sgtlstool.sh -c ~/searchguard/search-guard.yml -ca -crt -t /etc/elasticsearch/certs/
# rm /etc/elasticsearch/certs/client-certificates.readme /etc/elasticsearch/certs/elasticsearch_elasticsearch_config_snippet.yml ~/search-guard-tlstool-1.8.zip ~/searchguard -rf 

# systemctl daemon-reload
# systemctl enable elasticsearch
# systemctl start elasticsearch 

# /usr/share/elasticsearch/plugins/opendistro_security/tools/securityadmin.sh -cd /usr/share/elasticsearch/plugins/opendistro_security/securityconfig/ -nhnv -cacert /etc/elasticsearch/certs/root-ca.pem -cert /etc/elasticsearch/certs/admin.pem -key /etc/elasticsearch/certs/admin.key 
# curl -XGET https://localhost:9200 -u admin:admin -k
  1. Instalasi Filebeat
# yum install filebeat 
# curl -so /etc/filebeat/filebeat.yml https://raw.githubusercontent.com/wazuh/wazuh-documentation/4.0/resources/open-distro/filebeat/7.x/filebeat_all_in_one.yml
# curl -so /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/4.0/extensions/elasticsearch/7.x/wazuh-template.json
# chmod go+r /etc/filebeat/wazuh-template.json 
# curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.1.tar.gz | tar -xvz -C /usr/share/filebeat/module # mkdir /etc/filebeat/certs
# cp /etc/elasticsearch/certs/root-ca.pem /etc/filebeat/certs/# mv /etc/elasticsearch/certs/filebeat* /etc/filebeat/certs/ 

# systemctl daemon-reload
# systemctl enable filebeat
# systemctl start filebeat 

# filebeat test output

Output :

  1. Instalasi Kibana
# yum install opendistroforelasticsearch-kibana 
# curl -so /etc/kibana/kibana.yml https://raw.githubusercontent.com/wazuh/wazuh-documentation/4.0/resources/open-distro/kibana/7.x/kibana_all_in_one.yml 

# chown -R kibana:kibana /usr/share/kibana/optimize
# chown -R kibana:kibana /usr/share/kibana/plugins 

# cd /usr/share/kibana
# sudo -u kibana /usr/share/kibana/bin/kibana-plugin install https://packages.wazuh.com/4.x/ui/kibana/wazuh_kibana-4.0.2_7.9.1-1.zip 

# mkdir /etc/kibana/certs
# cp /etc/elasticsearch/certs/root-ca.pem /etc/kibana/certs/
# mv /etc/elasticsearch/certs/kibana_http.key /etc/kibana/certs/kibana.key
# mv /etc/elasticsearch/certs/kibana_http.pem /etc/kibana/certs/kibana.pem 
# setcap ‘cap_net_bind_service=+ep’ /usr/share/kibana/node/bin/node 

# systemctl daemon-reload
# systemctl enable kibana
# systemctl start kibana

Output :

  1. Konfigurasi Firewall
# firewall-cmd –zone=public –permanent –add-service=https
# firewall-cmd –zone=public –permanent –add-port=1514-1515/tcp
# firewall-cmd –reload
  1. Wazuh Dashboard
URL: https://<wazuh_server_ip>
user: admin
password: admin
  1. Menambahkan Wazuh-Agent melalui CLI

Masukan alamat IP Server yang akan dijadikan sebagai Wazuh-Agent, serta tentukan nama agen tersebut. Laniutkan dengan melakukan ekstraksi kunci unik yang telah dibangkitkan oleh Wazuh-Manager. Jalankan :

# /var/ossec/bin/manage_agents -a <agent_IP> -n <agent_name>
# /var/ossec/bin/manage_agents -l | grep <agent_name>
# /var/ossec/bin/manage_agents -e <agent_id>

Output :

Dilanjutkan dengan melakukan penyalinan kunci dari ID Agent tersebut kepada server yang akan dilakukan instalasi Wazuh-Agent.

D. Instalasi Wazuh-Agent

Pada sesi instalasi Wazuh agent, dilakukan pada sistem operasi CentOS 7 dengan menggunakan virtualisasi Virtual Box. Sebagai berikut :

  1. Instalasi Wazuh-Agent
# rpm –import https://packages.wazuh.com/key/GPG-KEY-WAZUH
# cat > /etc/yum.repos.d/wazuh.repo <<EOF
[wazuh]
gpgcheck=1
gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH
enabled=1
name=EL-$releasever – Wazuh
baseurl=https://packages.wazuh.com/4.x/yum/
protect=1
EOF 

# WAZUH_MANAGER=”10.0.0.2″ yum install wazuh-agent 

# systemctl daemon-reload
# systemctl enable wazuh-agent
# systemctl start wazuh-agent

Output :

  1. Konfigurasi Wazuh-Agent
# /var/ossec/bin/manage_agents -i <uniq_key>

Contoh :

# /var/ossec/bin/manage_agents -i MDAxIENlbnRPUy1DbGllbnQwMSAxOTIuMTY4LjQzLjIxIDkwNTZkODM2M2IzYzE0YmEyMzVlMmE5MGVmY2ZhN2E1N2Q5NTM4NWEwMTI0MDM5YjJkYTc5YzY5NDczZWY0YzU=

Output :

  1. Manajemen Wazuh-Agent
  1. Penutup

Demikian tutorial dalam melakukan instalasi Wazuh Versi 4.0 pada Sistem Operasi Centos 7 sebagai perangkat Endpoint Security ini dibuat, semoga dapat menjadi tambahan referensi guna meningkatkan sistem keamanan dalam Infrastruktur jaringan yang diimplementasikan. 

Referensi 

  • Wazuh Installation : https://documentation.wazuh.com/4.0/installation-guide/open-distro/all-in-one-deployment/all_in_one.html
  • Wazuh Agent Installation : https://documentation.wazuh.com/4.0/installation-guide/wazuh-agent/wazuh_agent_package_linux.html#wazuh-agent-package-linux
  • Register Wazuh Agent : https://documentation.wazuh.com/4.0/user-manual/registering/command-line-registration.html#key-insertion-to-the-wazuh-agent-and-enabling-the-communication-with-the-wazuh-manager