Implementasi Elastic Agent sebagai HIDS untuk Mendeteksi Ancaman Cyber pada Endpoint


Mentor : Rizki Yugitama, S.S.T.TP., M.T
Team:
    Faisal Muhammad Audito Andrian
    Miranti Apriliani		
    Nathan Nurdadyansyah	
    Grace Tri Putri Simarangkir	
    Ferry Ananda Febian

A. Pengertian Elastic Agent

Elastic Agent merupakan salah satu perangkat yang dapat melakukan pemantauan log, metrik, dan jenis data lainnya codeyang terdapat pada endpoint/host. Elastic Agent dapat mendeteksi ancaman keamanan pada endpoint atau host, data kueri dari sistem operasi, dan juga meneruskan data dari layanan jarak jauh atau perangkat keras. Agen tunggal mempermudah dan mempercepat penerapan pemantauan di seluruh infrastruktur. Setiap agen memiliki satu kebijakan yang dapat diperbarui untuk menambahkan integrasi untuk sumber data baru, perlindungan keamanan, dan lainnya.

Gambar 1. Cara Kerja Elastic Agent

B. Kebijakan/Policy Elastic Agent

Kebijakan/policy adalah kumpulan input dan pengaturan yang mendefinisikan data yang akan dikumpulkan oleh Elastic Agent. Setiap Elastic Agent hanya dapat didaftarkan dalam satu kebijakan. Pada kebijakan Elastic Agent terdapat seperangkat kebijakan integrasi individu. Kebijakan integrasi ini menentukan pengaturan untuk setiap jenis input. Pengaturan yang tersedia dalam integrasi bergantung pada versi integrasi yang digunakan. Fleet menggunakan kebijakan Elastic Agent dalam dua cara:

  • Kebijakan disimpan dalam file YAML teks biasa dan dikirim ke setiap Elastic Agent untuk mengonfigurasi inputnya. 
  • Kebijakan memberikan representasi visual dari konfigurasi Elastic Agent di UI Fleet.

Manfaat kebijakan Elastic Agent :

  • Policy Elastic Agent memiliki banyak manfaat yang memungkinkan untuk: Menerapkan pengelompokan dari input yang ditujukan untuk kumpulan host tertentu.
  • Mempertahankan fleksibilitas dalam penerapan skala besar dengan menguji perubahan dengan cepat sebelum meluncurkannya. 
  • Memberikan cara untuk mengelompokkan dan mengelola petak lanskap infrastruktur yang lebih luas. Misalnya, membuat kebijakan jenis sistem operasi: host Windows, macOS, dan Linux. Atau, mengatur kebijakan berdasarkan pengelompokan fungsional tentang bagaimana host digunakan: server email TI, server Linux, perangkat kerja, dll. Atau mungkin menurut kategori pengguna: departemen teknik, departemen pemasaran, dll.

Jenis kebijakan Elastic Agent :

Pada sebagian besar kasus penggunaan, Fleet menyediakan manajemen terpusat Elastic Agent yang lengkap. Namun beberapa kasus penggunaan, seperti berjalan di Kubernetes atau menggunakan Layanan Elasticsearch yang dihosting di Elastic Cloud, memerlukan manajemen infrastruktur Elastic Agent di luar Fleet. Berdasarkan hal tersebut, terdapat dua jenis kebijakan Elastic Agent: 

  • Kebijakan reguler : Kasus penggunaan default, di mana Fleet menyediakan manajemen pusat penuh untuk Elastic Agent. Pengguna dapat mengelola infrastruktur Elastic Agent dengan menambahkan, menghapus, atau meningkatkan Elastic Agent. Pengguna juga dapat mengelola konfigurasi Elastic Agent dengan memperbarui kebijakan Elastic Agent. 
  • Kebijakan yang dihosting : Kebijakan di mana sesuatu yang lain menyediakan manajemen pusat untuk Elastic Agent. Misalnya, di Kubernetes, penambahan, penghapusan, dan peningkatan Elastic Agent harus dikonfigurasi langsung di Kubernetes. Mengizinkan pengguna Fleet untuk mengelola Elastic Agent akan bertentangan dengan konfigurasi Kubernetes apa pun. Kebijakan yang dihosting juga berlaku saat menggunakan Layanan Elasticsearch yang dihosting di Elastic Cloud. Elastic Cloud bertanggung jawab untuk menghosting Elastic Agent dan menetapkannya ke suatu kebijakan. Operator platform, yang membuat dan mengelola penerapan Elastic dapat menambah, meningkatkan, dan menghapus Elastic Agent melalui konsol Elastic Cloud.

C. Kemampuan Elastic Agent

  • Elastic Agent menyediakan log, metrik, dan lain-lain. 
  • Integrasi Elastic Agent diinstal dengan UI web atau API yang nyaman, 
  • Integrasi Elastic Agent yang dikelola fleet dapat dikonfigurasi di UI web atau API, 
  • Integrasi Elastic Agent memungkinkan Anda untuk menambahkan aset Kibana dan Elasticsearch untuk satu integrasi dalam satu waktu, 
  • Elastic Agents menggunakan aliran data dengan manajemen siklus hidup indeks yang lebih mudah dan skema penamaan aliran data, 
  • Elastic Agent menawarkan variabel dan kondisi input untuk menyesuaikan secara dinamis berdasarkan lingkungan host lokal, 
  • Kebijakan untuk satu Elastic Agent yang dikelola fleet dapat menentukan beberapa output.

D. Spesifikasi Minimum Untuk Instalasi Elastic Agent

Belum ada informasi resmi dari Elastic Agent terkait spesifikasi minimum untuk menjalankan server tools ini. Pengguna dapat menyesuaikan kebutuhannya dalam Elastic Agent, seperti mengumpulkan file log, metrik sistem atau sekedar memantau Elastic Agent itu sendiri. 

Pada beberapa uji coba, server Elastic Agent dapat berjalan lancar dengan menggunakan spesifikasi sebagai berikut: 

  • OS Ubuntu server 22.04 
  • vCPU 2 core
  •  Storage 20 GB 
  •  RAM 4 GB 

Spesifikasi minimum pada endpoint yang akan diinstall agent dengan versi 8 yaitu: 
  • OS Windows/Linux/MacOS 
  • CPU memiliki ruang kosong 2% dari kapasitas keseluruhan
  • Storage 640 MB 
  • RAM 300 MB

E. Tahapan Instalasi HIDS menggunakan Elastic Agent

Dalam melakukan instalasi HIDS menggunakan Elastic Agent, ada beberapa modul sistem yang harus di install terlebih dahulu. Beberapa modul yang harus di install dan konfigurasi yaitu:

  • Java Development Kit 
  • Firewall 
  • Web Server (Apache, Nginx, OLS) 
Setelah sistem di atas dikonfigurasi, selanjutnya dapat melakukan instalasi Elastic Agent. Berikut tahapan instalasi :

Download Elastic Agent Module Archive dengan perintah berikut :

wget https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-7.16.0-linux-x86_64.tar.gz

Setelah download selesai, ekstrak installer :

tar xzf elastic-agent-7.16.0-linux-x86_64.tar.gz

Tambahkan Elastic Agent kedalam fleet server dengan klik masuk ke Fleet > Agents > Add Agent.

Salin perintah yang diberikan oleh Fleet Server, dengan contoh sebagai berikut:

sudo ./elastic-agent -Y install --url=https://192.168.58.22:8220 --enrollment-token=RWlxd3FIMEI5V1c4cGdBQ3dPdks6ZFpNTmp3d1BSWUtER0RJYjlwSzQtdw==

Setelah proses instalasi selesai, cek status Elastic Agent perintah :

systemctl status elastic-agent

F. Cara Kelola Integrasi Elastic Agent

Integrasi pada elastic agent tersedia untuk berbagai layanan dan platform populer. Untuk melihat daftar lengkap integrasi yang tersedia, pergi ke Management > Integrations di Kibana, atau kunjungi Elastic Integrations. Integrasi pada elastic agent menyediakan cara sederhana dan terpadu untuk mengumpulkan data dari aplikasi dan layanan populer, dan melindungi sistem dari ancaman keamanan. Setiap integrasi dilengkapi dengan aset yang mendukung semua kebutuhan : Data ingestion, storage, and transformation rules Configuration options Pre-built, custom dashboards and visualizations Documentation

User Action Hasil
Add an integration to a policy Konfigurasi integrasi untuk kasus penggunaan tertentu dan menambahkannya ke kebijakan Elastic Agent.
View integration policies Lihat kebijakan integrasi yang dibuat untuk integrasi tertentu.
Edit or delete an integration policy Mengubah pengaturan atau menghapus kebijakan integrasi.
Install and uninstall integration assets Instal, hapus, dan instal ulang aset integrasi di Kibana
View integration assets Lihat aset Kibana yang dipasang untuk integrasi tertentu.
Upgrade an integration Upgrade integrasi ke versi terbaru.

G. Cara Konfigurasi Elastic Agent

Install Fleet Server

curl -L -O  https://artifacts.elastic.co/downloads/beats/elastic-  agent/elastic-agent-8.4.3-linux-x86_64.tar.gz tar xzvf elastic-  agent-8.4.3-linux-x86_64.tar.gz cd elastic-agent-8.4.3-linux-  x86_64
sudo ./elastic-agent install --  url=https://192.168.241.130:8220  --fleet-server-  es=https://192.168.241.130:9200  --fleet-server-service-  token=AAEAAWVsYXN0aWMvZmxlZXQtc2VydmVyL3Rva2V  uLTE2NjczNzcyNTU5MDE6WERGZjZWQVlUYks5bDFPU1R2b  EpUdw  --fleet-server-policy=fleet-server-policy  --  certificate-authorities=/usr/share/elasticsearch/ca/ca.crt  --  fleet-server-es-ca=/etc/elasticsearch/certs/http_ca.crt  --  fleet-server-cert=/usr/share/elasticsearch/fleet/fleet.crt  --  fleet-server-cert-key=/usr/share/elasticsearch/fleet/fleet.key

Gambar 2. Tambahkan Agent & buat Kebijakan Baru


Gambar 3. Konfirmasi bahwa Elastic Agent di-install & dijalankan


Gambar 4. Pilih mode keamanan untuk Fleet Server
Gambar 5. Install Elastic Agent di host

H. Kelemahan Elastic Agent

Berikut adalah kelemahan Elastic Agent jika dibandingkan dengan Beats :

Tabel 2. Perbandingan Beats & Elastic Agent


Beats Elastic Agent
Berjalan tanpa akses root Elastic Agent membutuhkan izin root agar dapat berjalan, terutama untuk Endpoint dan Keamanan Cloud.
Pemantauan cluster terpisah Elastic Agent yang dikelola Fleet atau Fleet-managed Elastic Agent hanya menyediakan satu output global ke cluster Elasticsearch yang berjalan. 
Secret management Elastic Agent menyimpan kredensial dalam kebijakan policies. Jadi pengguna tidak dapat mengakses kredensial di keystore lokal.
Progressive or canary deployments Fleet-managed Elastic Agent tidak memiliki fitur untuk menyebarkan pembaruan kebijakan elastic agent secara progresif, tetapi pengguna dapat menerapkan file konfigurasi secara progresif menggunakan solusi pihak ketiga. 
Multiple configurations per host Elastic Agent menggunakan kebijakan tunggal untuk konfigurasi, menggunakan variabel dan kondisi input untuk beradaptasi pada basis per-host. Jadi Elastic Agent tidak dapat mengkonfigurasi banyak host.
Compatible with version control and infrastructure as code solutions Fleet-managed Elastic Agent hanya dapat terintegrasi dengan version control menggunakan API. 

I. Referensi

https://discuss.elastic.co/t/elastic-agent-minimum-system-requirements/292340 https://www.elastic.co/guide/en/fleet/master/beats-agent-comparison.html https://www.elastic.co/guide/en/fleet/current/fleet-overview.html https://kifarunix.com/install-and-enroll-elastic-agents-to-fleet-manager-in-linux/

Next Post Previous Post
No Comment
Add Comment
comment url