@beyond-ordinary-cloud/n8n-nodes-wazuh
v0.1.6
Published
n8n community node for Wazuh Server API and Wazuh Indexer API workflows
Downloads
1,095
Maintainers
Keywords
Readme
@beyond-ordinary-cloud/n8n-nodes-wazuh
n8n community node untuk workflow Wazuh Server API dan Wazuh Indexer API dari n8n.
Package npm:
@beyond-ordinary-cloud/n8n-nodes-wazuhFitur
- Credential
Wazuh Manager API - Credential
Wazuh Indexer API - Node
Wazuh - Operasi
Active Response: Run Command - Operasi
Agent: List, Get, Restart - Operasi
Decoder: List - Operasi
Rule: Get - Operasi
Vulnerability: Search CVE - Operasi
Security Event: Search Alerts - Operasi
Indexer: Query - Mendukung agent ID lebih dari satu dengan format comma-separated
- Mendukung command arguments dan alert payload JSON
- Mendukung query OpenSearch DSL ke Wazuh Indexer
Persyaratan
- n8n self-hosted
- Akses ke Wazuh Manager API, biasanya port
55000 - Akses ke Wazuh Indexer API, biasanya port
9200, untuk resource Indexer, Security Event, dan Vulnerability - User Wazuh API yang punya permission sesuai resource yang dipakai
Community node dari npm hanya tersedia untuk n8n self-hosted. Node yang belum verified tidak tersedia langsung di n8n Cloud. Lihat dokumentasi resmi n8n untuk opsi instalasi community nodes: https://docs.n8n.io/integrations/community-nodes/installation/
Instalasi Di n8n
Opsi 1: Install Dari UI n8n
Gunakan cara ini jika instance n8n Anda mendukung instalasi community node dari GUI.
- Buka n8n.
- Masuk ke
Settings. - Buka
Community Nodes. - Pilih
Install. - Masukkan nama package:
@beyond-ordinary-cloud/n8n-nodes-wazuh- Konfirmasi instalasi.
- Restart n8n jika node belum muncul di panel nodes.
Opsi 2: Install Manual Dengan npm
Gunakan cara ini untuk self-hosted n8n yang tidak memakai installer GUI.
Masuk ke environment tempat n8n berjalan, lalu install package:
npm install -g @beyond-ordinary-cloud/n8n-nodes-wazuhSetelah itu restart service/container n8n.
Opsi 3: Docker
Untuk Docker, cara paling stabil adalah membuat custom image yang menginstall community node saat build image.
FROM n8nio/n8n:latest
USER root
RUN npm install -g @beyond-ordinary-cloud/n8n-nodes-wazuh
USER nodeBuild dan jalankan ulang container n8n dengan image tersebut.
docker build -t n8n-with-wazuh .Konfigurasi Credential
Wazuh Manager API
Credential ini dipakai oleh resource Active Response, Agent, Decoder, dan Rule.
- Di n8n, buka
Credentials. - Buat credential baru dengan tipe
Wazuh Manager API. - Isi field berikut:
| Field | Keterangan |
| --- | --- |
| Base URL | URL Wazuh Manager API dengan protocol tanpa port, contoh https://wazuh.myboc.cloud atau http://172.16.12.185 |
| Port | Port Wazuh Manager API, default 55000 |
| Username | Username Wazuh Manager API |
| Password | Password Wazuh Manager API |
| Allow Unauthorized Certs | Aktifkan hanya jika Wazuh memakai self-signed certificate atau sertifikat internal |
Saat credential dites di n8n, credential ini melakukan autentikasi ke:
POST <base-url>/security/user/authenticateTest dianggap sukses hanya jika Wazuh mengembalikan JWT token di data.token.
Saat workflow berjalan, node mengambil token dengan:
POST <base-url>/security/user/authenticate?raw=trueToken JWT dari Wazuh kemudian dipakai untuk request Wazuh Manager API. Jika autentikasi gagal atau token tidak diterima, credential test akan gagal dan credential tidak boleh dianggap siap digunakan.
Wazuh Indexer API
Credential ini dipakai oleh resource Indexer, Security Event, dan Vulnerability.
| Field | Keterangan |
| --- | --- |
| Base URL | URL Wazuh Indexer API dengan protocol tanpa port, contoh https://wazuh-indexer.myboc.cloud atau http://172.16.12.185 |
| Port | Port Wazuh Indexer API, default 9200 |
| Username | Username Wazuh Indexer API |
| Password | Password Wazuh Indexer API |
| Allow Unauthorized Certs | Aktifkan hanya jika Wazuh memakai self-signed certificate atau sertifikat internal |
Saat credential dites di n8n, credential ini melakukan request:
GET <base-url>/Cara Pakai Di Workflow n8n
- Buat workflow baru atau buka workflow yang sudah ada.
- Tambahkan node
Wazuh. - Pilih resource yang ingin dipakai.
- Pilih credential yang sesuai:
Wazuh Manager APIuntuk resource server API, atauWazuh Indexer APIuntuk resource indexer API. - Set
Operation. - Isi parameter operasi.
- Jalankan node.
Parameter Node
Active Response: Run Command
| Parameter | Contoh | Keterangan |
| --- | --- | --- |
| Command | !firewall-drop | Nama Active Response command yang akan dijalankan |
| Agents | 001,002,003 | Daftar agent ID, dipisahkan koma. Kosongkan untuk menjalankan command pada semua agent |
| Arguments | 1.2.3.4 | Argumen command, dipisahkan koma. Dikirim sebagai arguments |
| Alert Data | {"rule":{"id":"100001"}} | Object JSON yang dikirim sebagai alert.data |
| Wait for Complete | false | Aktifkan untuk mengirim query wait_for_complete=true ke Wazuh API |
Resource Tambahan
| Resource | Operasi | Keterangan |
| --- | --- | --- |
| Agent | List | Mengambil daftar agent dari GET /agents dengan filter status, select, limit, offset, dan search |
| Agent | Get | Mengambil satu agent melalui GET /agents?agents_list=<agent_id> |
| Agent | Restart | Mengirim restart agent melalui PUT /agents/{agent_id}/restart |
| Decoder | List | Mengambil daftar decoder melalui GET /decoders |
| Rule | Get | Mengambil konten file rule melalui GET /rules/files/{filename} |
| Vulnerability | Search CVE | Mencari CVE di wazuh-states-vulnerabilities* dengan field vulnerability.id |
| Security Event | Search Alerts | Mencari alert di wazuh-alerts* dengan filter umum atau Query DSL |
| Indexer | Query | Menjalankan Query DSL ke <index>/_search |
Contoh Penggunaan
Block IP Di Satu Agent
Gunakan parameter berikut:
Command: !firewall-drop
Agents: 001
Arguments: 1.2.3.4
Alert Data: {}
Wait for Complete: falseJalankan Command Di Beberapa Agent
Command: !firewall-drop
Agents: 001,002,003
Arguments: 1.2.3.4
Alert Data: {"source":"n8n"}
Wait for Complete: falseCustom Active Response Script
Command: custom-script-name
Agents: 001
Arguments: value1,value2
Alert Data: {"source":"n8n","severity":"high"}
Wait for Complete: falseTroubleshooting
Node Tidak Muncul Di n8n
- Pastikan package sudah terinstall di environment yang sama dengan n8n.
- Restart n8n setelah instalasi.
- Pastikan package name yang dipakai adalah
@beyond-ordinary-cloud/n8n-nodes-wazuh. - Untuk Docker, pastikan package diinstall di image/container n8n, bukan hanya di host.
Credential Test Gagal
- Pastikan
Base URLmemakai format yang benar tanpa port, misalnyahttps://wazuh.myboc.cloudatauhttp://172.16.12.185. - Pastikan port Wazuh Manager API atau Wazuh Indexer API diisi di field
Port. - Pastikan username dan password valid.
- Jika memakai self-signed certificate, aktifkan
Allow Unauthorized Certs. - Pastikan n8n bisa mengakses host Wazuh dari network/container tempat n8n berjalan.
Active Response Gagal
- Pastikan agent ID valid dan agent sedang aktif.
- Pastikan command Active Response tersedia di konfigurasi Wazuh.
- Pastikan user API punya permission yang sesuai.
- Periksa response error dari output node n8n untuk detail dari Wazuh API.
Development
Dari root monorepo, masuk ke directory module:
cd n8n-modules/n8n-nodes-wazuhInstall dependency:
npm installBuild:
npm run buildLint:
npm run lintRun n8n untuk development lokal:
npm run devLisensi
MIT
