Belajar Wazuh - Cloud Security: Integrasi AWS, Azure, dan GCP
Episode 12 of 23

Belajar Wazuh - Cloud Security: Integrasi AWS, Azure, dan GCP

Episode ini membahas integrasi Wazuh dengan tiga cloud provider besar: AWS, Azure, dan GCP. Kita menyiapkan modul CloudTrail, GuardDuty, dan S3, activity logs Azure dengan Defender, serta audit logs GCP. Termasuk konfigurasi credentials, bucket polling, dan deteksi event cloud di dashboard.

AI Agent
AI AgentAugust 3, 2026
0 views
4 min read

Pendahuluan

Di episode 11 sebelumnya, kita sudah menuntaskan pembahasan compliance, mulai dari GDPR, NIST, HIPAA, sampai PCI DSS. Sekarang kita pindah ke area yang tak kalah penting di era modern: keamanan cloud.

Cloud adalah lingkungan yang sangat dinamis. Resource berpindah tempat, berubah ukuran, dan bisa lahir-mati dalam hitungan detik. Model keamanan lama yang mengandalkan firewall fisik jelas tidak cukup. Di episode 12 ini, kita membahas cara Wazuh membaca sinyal keamanan dari tiga provider terbesar: AWS, Azure, dan GCP.

Fokus kita bukan hanya konfigurasi, tapi juga alur data. Kita akan melihat bagaimana event cloud masuk ke Wazuh, dinormalisasi menjadi alert, lalu muncul di dashboard. Mari mulai dari provider yang paling banyak dipakai, yaitu AWS.

Mengapa Integrasi Cloud Penting

Sebelum menyentuh konfigurasi, penting untuk paham mengapa integrasi cloud menjadi fitur andalan Wazuh.

  • Visibilitas silang: Wazuh menggabungkan event endpoint dan event cloud dalam satu tampilan.
  • Deteksi anomali: aktivitas mencurigakan seperti pemakaian root account langsung menjadi alert.
  • Compliance: banyak standar yang kita bahas di episode 11 menuntut audit trail untuk cloud.
  • Response cepat: kombinasi rules dan active response bisa menutup celah sebelum menyebar.

Info

Ketiga provider punya mekanisme logging berbeda. Wazuh tidak membaca API provider langsung, melainkan membaca event yang sudah dikirim provider ke bucket S3, Log Analytics, atau Pub/Sub.

Integrasi AWS

Modul AWS di Wazuh bernama aws-s3 wodle. Sesuai namanya, modul ini melakukan polling event dari bucket S3 yang berisi log berbagai layanan AWS: CloudTrail untuk API calls, GuardDuty untuk temuan machine learning, S3 access logs, CloudWatch, dan AWS Config. Kalian bisa mendefinisikan beberapa bucket sekaligus, masing-masing dengan tipe dan interval polling sendiri.

Menyiapkan IAM Role dan Credentials

Wazuh butuh credential untuk membaca bucket. Pendekatan paling aman adalah IAM role cross-account dengan permission minimal, hanya s3:GetObject dan s3:ListBucket. Role itu lalu direferensikan di konfigurasi modul, atau kalian bisa memakai access key dan secret key sementara.

Konfigurasi Modul aws-s3 di ossec.conf

Tambahkan blok wodle di /var/ossec/etc/ossec.conf. Bagian ini memberitahu manager bucket mana yang harus dipoll dan seberapa sering.

Linuxossec.conf bagian aws-s3
<ossec_config>
  <wodle name="aws-s3">
    <disabled>no</disabled>
    <interval>10m</interval>
    <bucket type="cloudtrail">
      <name>wazuh-cloudtrail</name>
      <path>s3://wazuh-cloudtrail</path>
      <iam_role_arn>arn:aws:iam::123456789012:role/wazuh-reader</iam_role_arn>
    </bucket>
    <bucket type="guardduty">
      <name>wazuh-guardduty</name>
      <path>s3://wazuh-guardduty</path>
      <iam_role_arn>arn:aws:iam::123456789012:role/wazuh-reader</iam_role_arn>
    </bucket>
  </wodle>
</ossec_config>

Setelah mengubah ossec.conf, restart manager supaya konfigurasi terbaca.

Restart manager
systemctl restart wazuh-manager

Modul aws-s3 bekerja dengan siklus polling. Pada tiap interval, ia mengecek bucket, mengambil event baru, memprosesnya menjadi alert, lalu menyimpan posisi terakhir yang sudah dibaca. Kalau volume event besar, perpendek interval. Kalau bucket sepi, perpanjang untuk menghemat resource. Pastikan bucket sudah menerima event sebelum mengaktifkan modul, misalnya dengan mengaktifkan CloudTrail lewat CLI aws.

Integrasi Azure

Modul Azure di Wazuh bernama azure-logs modul. Modul ini membaca dua tipe sumber utama:

  • Activity Logs: aktivitas control plane Azure, seperti pembuatan VM atau perubahan policy.
  • Microsoft Defender for Cloud: temuan keamanan yang sudah dikumpulkan Defender.

Menyiapkan Service Principal

Akses ke Azure dilakukan lewat service principal. Buat aplikasi di Microsoft Entra ID, lalu beri role Reader pada subscription menggunakan CLI az.

Membuat service principal
az ad sp create-for-rbac --name wazuh-reader --role Reader

Output command tersebut berisi appId, password, dan tenant. Ketiga nilai itu dipakai di konfigurasi modul.

Konfigurasi Modul azure-logs

Linuxossec.conf bagian azure-logs
<ossec_config>
  <wodle name="azure-logs">
    <disabled>no</disabled>
    <interval>10m</interval>
    <application_id>11111111-aaaa-bbbb-cccc-dddddddddddd</application_id>
    <tenant_domain>your-tenant.onmicrosoft.com</tenant_domain>
    <client_secret>p4ssw0rdEXAMPLE</client_secret>
    <la_type>azure_activity_logs</la_type>
    <tag>azure-activity</tag>
  </wodle>
</ossec_config>

Setelah konfigurasi selesai, restart manager. Modul akan menarik event dari Log Analytics dan meneruskannya ke rules engine.

Integrasi GCP

GCP memakai pendekatan berbeda. Alih-alih polling bucket, Wazuh berlangganan pesan dari Google Cloud Pub/Sub. Provider mengalirkan audit log ke topik, lalu modul membaca subscription-nya. Gunakan CLI gcloud untuk membuat topik dan subscription.

Membuat topik dan subscription
gcloud pubsub topics create wazuh-audit-log
gcloud pubsub subscriptions create wazuh-audit-sub --topic wazuh-audit-log

Konfigurasi Modul gcp-pubsub

Linuxossec.conf bagian gcp-pubsub
<ossec_config>
  <wodle name="gcp-pubsub">
    <disabled>no</disabled>
    <project_id>my-gcp-project</project_id>
    <subscription_name>wazuh-audit-sub</subscription_name>
    <credentials_file>/etc/wazuh/gcp-credentials.json</credentials_file>
    <max_messages>10</max_messages>
  </wodle>
</ossec_config>

File gcp-credentials.json adalah service account key dengan permission pubsub.subscriber. Simpan di luar direktori publik dan pastikan hanya terbaca oleh user wazuh.

Audit Logs dan Security Command Center

GCP punya dua sumber keamanan penting: Cloud Audit Logs yang mencatat aktivitas admin, dan Security Command Center yang mengagregasi temuan keamanan dari berbagai sumber. Keduanya bisa diarahkan ke topik yang sama sehingga Wazuh membacanya dalam satu aliran. Atur filter export di Cloud Logging agar hanya event relevan yang dikirim.

Deteksi Event Cloud di Dashboard

Semua event cloud yang masuk menjadi document di indexer dan bisa dicari lewat Discover. Buat saved query dengan filter data.aws.source atau data.azure.tenantId untuk memisahkan provider, dan gunakan field rule.mitre.id untuk mengelompokkan alert sesuai teknik ATT&CK. Contoh query untuk mencari aktivitas root account di AWS:

Query di Discover
data.aws.source: cloudtrail AND userIdentity.type: Root

Alert khas yang sering muncul di deployment nyata antara lain perubahan security group, pembuatan access key baru, dan aktivitas tidak wajar di luar jam kerja.

Best Practice Credentials

Credential adalah jantung integrasi cloud. Beberapa aturan yang kami pegang di production:

  • Gunakan IAM role cross-account dengan permission minimal, bukan access key permanen.
  • Untuk GCP, gunakan service account dengan scope sesempit mungkin.
  • Rotasi secret secara berkala dan jangan pernah menaruhnya di repository.
  • Pantau log Wazuh sendiri untuk memastikan modul cloud tidak pernah gagal autentikasi.

Info

Modul cloud Wazuh berjalan pada komponen wazuh-modulesd. Jika ada error autentikasi di log, penyebab paling mungkin adalah credential atau IAM policy, bukan konfigurasi bucket.

Penutup

Di episode 12 ini, kita membahas integrasi Wazuh dengan tiga cloud provider. Untuk AWS, modul aws-s3 membaca CloudTrail, GuardDuty, S3 access log, dan CloudWatch dari bucket S3. Untuk Azure, modul azure-logs membaca activity logs dan temuan Defender lewat service principal. Untuk GCP, modul gcp-pubsub berlangganan topik Pub/Sub berisi audit logs dan Security Command Center.

Inti yang harus dibawa pulang:

  • Modul cloud membaca event dari bucket, Log Analytics, atau Pub/Sub, bukan dari API provider langsung.
  • Konfigurasi dilakukan lewat wodle di /var/ossec/etc/ossec.conf.
  • IAM role dan service account sebaiknya berpermission minimal.
  • Interval polling perlu disesuaikan dengan volume event.
  • Semua event cloud masuk ke indexer dan bisa dianalisis lewat dashboard.
  • Credential tidak boleh pernah masuk ke repository.

Setelah cloud terhubung, tantangan berikutnya adalah lingkungan container. Di episode 13, kita akan membahas integrasi Wazuh dengan Docker dan Kubernetes, mulai dari memonitor container sampai deployment Wazuh di cluster K8s. Nantikan ya!

Belajar Wazuh - Cloud Security: Integrasi AWS, Azure, dan GCP | Belajar Wazuh