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:
- Eksekusi Playbook — Menjalankan playbook Ansible standar untuk pengaturan dan aktivasi sensor.
- Manajemen Aturan — Menyimpan dan melayani file aturan deteksi ancaman (misalnya, Suricata, Snort) untuk disebarkan pada sensor.
- Pelacakan Eksekusi — Menyimpan log dari jalannya playbook, termasuk status, waktu mulai/selesai, dan output CLI lengkap.
Peran dalam Arsitektur
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
executionIdsegera sementara playbook berjalan di latar belakang. - Log Detail — Menangkap output standar dan error dari perintah
ansible-playbookuntuk keperluan debugging.
Stack Teknologi
| Kategori | Teknologi | Versi | Tujuan |
|---|---|---|---|
| Runtime | Go | 1.21+ | Logika layanan dan API |
| Framework API | Gin | terbaru | Perutean HTTP dan middleware |
| Orkestrasi | Ansible | terbaru | Konfigurasi host jarak jauh |
| Kontainer | Docker | — | Penyebaran layanan |
Prinsip Desain Utama
- Orkestrasi API-First — Semua operasi Ansible diekspos sebagai titik akhir RESTful.
- Inventaris Dinamis — Menghasilkan file inventaris Ansible sementara secara on-the-fly berdasarkan parameter permintaan.
- Operasi Stateless — Tidak memerlukan database; melacak eksekusi sesi saat ini di memori.
- Keamanan — Menggunakan autentikasi password/key SSH dengan eskalasi hak istimewa (
become: yes) untuk mengelola host jarak jauh.