Lewati ke konten utama

Ringkasan

Pendahuluan

Ravenxcope Ansible Service adalah komponen orkestrasi pusat yang menangani konfigurasi dan aktivasi host sensor jarak jauh. Dibangun dengan Go dan framework Gin, layanan ini bertindak sebagai pembungkus (wrapper) berbasis API di sekitar Ansible, memungkinkan Backend Ravenxcope untuk memicu konfigurasi sistem yang kompleks melalui permintaan HTTP sederhana.

Layanan ini bertanggung jawab untuk:

  1. Eksekusi Playbook — Menjalankan playbook Ansible standar untuk pengaturan dan aktivasi sensor.
  2. Manajemen Aturan — Menyimpan dan melayani file aturan deteksi ancaman (misalnya, Suricata, Snort) untuk disebarkan pada sensor.
  3. Pelacakan Eksekusi — Menyimpan log dari jalannya playbook, termasuk status, waktu mulai/selesai, dan output CLI lengkap.

Peran dalam Arsitektur

Defense CenterFrontendBackendAnsible ServiceRemote SensorsSensor ASensor B...Sensor NHeartbeatsSSH / Playbooks

Ansible Service bersifat internal bagi Pusat Pertahanan (Defense Center). Layanan ini menerima perintah dari Backend dan berkomunikasi dengan Sensor Jarak Jauh melalui SSH.


Kapabilitas Inti

1. Manajemen Siklus Hidup Sensor

  • Pengaturan Awal — Menyiapkan host baru dengan dependensi yang diperlukan (Docker, jaringan).
  • Aktivasi — Menyebarkan mesin deteksi (Suricata/Snort) dan menghubungkannya ke backend.
  • Deaktivasi — Menghapus pengaturan secara bersih dan membersihkan sumber daya host.

2. Aturan Deteksi Ancaman

  • Repositori Pusat — Bertindak sebagai "sumber kebenaran" (source of truth) untuk file aturan.
  • Pembaruan Dinamis — Memungkinkan pengunggahan aturan baru yang kemudian didorong ke sensor selama aktivasi.

3. Eksekusi Asinkron

  • API Non-blocking — Mengembalikan executionId segera sementara playbook berjalan di latar belakang.
  • Log Detail — Menangkap output standar dan error dari perintah ansible-playbook untuk keperluan debugging.

Stack Teknologi

KategoriTeknologiVersiTujuan
RuntimeGo1.21+Logika layanan dan API
Framework APIGinterbaruPerutean HTTP dan middleware
OrkestrasiAnsibleterbaruKonfigurasi host jarak jauh
KontainerDockerPenyebaran layanan

Prinsip Desain Utama

  1. Orkestrasi API-First — Semua operasi Ansible diekspos sebagai titik akhir RESTful.
  2. Inventaris Dinamis — Menghasilkan file inventaris Ansible sementara secara on-the-fly berdasarkan parameter permintaan.
  3. Operasi Stateless — Tidak memerlukan database; melacak eksekusi sesi saat ini di memori.
  4. Keamanan — Menggunakan autentikasi password/key SSH dengan eskalasi hak istimewa (become: yes) untuk mengelola host jarak jauh.