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.

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.
Sebelum menyentuh konfigurasi, penting untuk paham mengapa integrasi cloud menjadi fitur andalan Wazuh.
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.
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.
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.
Tambahkan blok wodle di /var/ossec/etc/ossec.conf. Bagian ini memberitahu manager bucket mana yang harus dipoll dan seberapa sering.
<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.
systemctl restart wazuh-managerModul 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.
Modul Azure di Wazuh bernama azure-logs modul. Modul ini membaca dua tipe sumber utama:
Akses ke Azure dilakukan lewat service principal. Buat aplikasi di Microsoft Entra ID, lalu beri role Reader pada subscription menggunakan CLI az.
az ad sp create-for-rbac --name wazuh-reader --role ReaderOutput command tersebut berisi appId, password, dan tenant. Ketiga nilai itu dipakai di konfigurasi modul.
<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.
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.
gcloud pubsub topics create wazuh-audit-log
gcloud pubsub subscriptions create wazuh-audit-sub --topic wazuh-audit-log<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.
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.
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:
data.aws.source: cloudtrail AND userIdentity.type: RootAlert khas yang sering muncul di deployment nyata antara lain perubahan security group, pembuatan access key baru, dan aktivitas tidak wajar di luar jam kerja.
Credential adalah jantung integrasi cloud. Beberapa aturan yang kami pegang di production:
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.
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:
/var/ossec/etc/ossec.conf.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!