Cara Menginstal Osquery di Debian 10

Dalam tutorial Osquery ini, kita akan mulai dengan membahas apa itu Osquery, cara kerjanya, cara menginstalnya di Debian, pengenalan singkat tentang SQL, dan akhirnya membangun proyek yang merinci cara mengintegrasikan Osquery dengan ELK Stack.

Untuk menjaga agar tutorial ini tetap ringkas, kita tidak akan menyelam jauh ke dalam “apa” dan “bagaimana” dari stack ELK. Sebagai gantinya, kami akan dengan cepat dan langsung membahas bagaimana menggunakannya dengan Osquery. Kami juga akan menganggap Anda memiliki pengetahuan tentang SQL—terlepas dari panduan yang disediakan).

Apa itu Osquery?

Dikembangkan oleh Facebook, Osquery adalah alat sumber terbuka lintas platform yang digunakan untuk melakukan kueri dan memantau sistem menggunakan kueri berbasis SQL.

Osquery dapat berinteraksi dengan sistem dan mengumpulkan informasi terperinci seperti useran memori, proses yang berjalan, modul kernel yang dimuat, kejadian perangkat keras, koneksi jaringan, dll. Alat ini berjalan di semua sistem, termasuk Windows, Linux, Mac, dan BSD.

Menggunakan Osquery, Anda dapat membuat kueri SQL yang menampilkan informasi tentang sistem dan menggunakan informasi ini untuk memantau dan menganalisis data yang dikumpulkan.

Cara Menginstal Osquery di Sistem Debian

Menginstal Osquery pada sistem Debian sangat mudah, dan meskipun tidak tersedia di repo Debian utama, menambahkannya cukup mudah.

Mari kita lihat metode pertama yang dapat Anda gunakan untuk menginstal Osquery di Debian:

Langkah pertama dan paling sederhana adalah mengdownload penginstal deb dari halaman utama:

https://pkg.osquery.io/deb/osquery_4.6.0-1.linux_amd64.deb

wget https://pkg.osquery.io/deb/osquery_4.6.0-1.linux_amd64.deb
sudo dpkg -i osquery_4.6.0-1.linux_amd64.deb

Kami merekomendasikan metode di atas karena paket deb memiliki ketergantungan yang sangat sedikit pada sebagian besar distribusi Debian. Namun, jika Anda ingin menambahkan ke apt, gunakan metode selanjutnya.

Masukkan perintah berikut untuk menginstal Osquery dari repositori.

export OSQUERY_KEY=1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys $OSQUERY_KEY
sudo add-apt-repository 'deb [arch=amd64] https://pkg.osquery.io/deb deb main'
sudo apt-get update
sudo apt-get install osquery

Cara Menggunakan Osquery di Debian 10

Sebelum menyelam jauh ke dalam membangun skrip otomatis dan bekerja dengan stack ELK, mari kita bahas beberapa useran Osquery sederhana pada sistem lokal.

Osquery memiliki tiga komponen utama yang dapat Anda gunakan untuk berinteraksi dengan API.

Osquery : Komponen pertama adalah osqueryi, sesi shell interaktif. Mode osqueryi sepenuhnya mandiri dan tidak memerlukan interaksi dengan daemon Osquery—Osquery. Menggunakan cara osqueryi, Anda dapat mengeksekusi kueri SQL secara interaktif dan menjelajahi sistem saat ini yang mirip dengan shell SQL.

CATATAN: Osquery menghormati ruang user, dan jika Anda menjalankan shell sebagai cara user biasa, Anda tidak akan memiliki akses ke tabel yang diistimewakan.

Osqueryd: Komponen lainnya adalah osqueryd, daemon Osquery yang digunakan untuk menjadwalkan kueri dan merekam perubahan status di latar belakang. Daemon bekerja dengan menggabungkan hasil kueri yang dieksekusi selama jangka waktu tertentu dan menghasilkan log yang digunakan untuk membandingkan setiap perubahan status kueri.

Osqueryctl: Komponen ketiga adalah Osqueryctl, skrip pembantu yang digunakan untuk menguji konfigurasi penerapan. Anda juga dapat menggunakannya sebagai manajer service Osquery, memungkinkan Anda untuk memulai dan menghentikan service.

Di luar kotak, Osquery tidak lebih dari alat sederhana untuk menanyakan informasi tentang sistem. Namun, saat Anda menggabungkan kueri untuk menyusun data yang diurutkan dengan baik dan dikumpulkan, itu menjadi lebih dari sekadar alat kueri.

Untuk memulai, mari kita mulai dengan dasar-dasar untuk memahami cara kerjanya:

Langkah pertama adalah mendapatkan bantuan dengan perintah:

sudo osqueryd --help

Perintah ini akan menampilkan bantuan daemon Osquery, dengan daftar argumen yang dapat Anda gunakan di shell.

Selanjutnya, dan cara termudah untuk berinteraksi dengan Osquery, adalah dengan menggunakan sesi osqueryi. Misalnya, jika Anda menjalankan perintah osqueryi tanpa argumen, Anda akan masuk ke shell seperti SQL:

sudo osqueryi

Di dalam shell osqueryi, Anda dapat menjalankan perintah dan sintaks SQL untuk memilih informasi spesifik t
entang sistem.

Untuk melihat cara bantuan di dalam shell osqueryi, gunakan perintah:

osquery >.help

Menjalankan perintah ini akan menampilkan bantuan mengenai sesi Osquery.

Karena Osquery adalah pemetaan basis data relasional untuk sistem Anda, Osquery memiliki daftar tabel yang dapat Anda gunakan untuk memilih informasi dari menggunakan Kueri SQLite.

CATATAN: Kueri Osquery berbasis SQLite. Anda dapat merujuk ke dokumentasinya jika Osquery tidak memberikan informasi yang cukup:

https://www.sqlite.org/index.html

Di dalam shell osqueryi, gunakan perintah:

osquery >.tables

Perintah ini mencantumkan tabel yang tersedia yang berisi informasi sistem.

Dari sana, Anda dapat memilih informasi dari skema yang tersedia. Misalnya, lihat informasi tentang resolver DNS.

SELECT * FROM dns_resolvers;

Bergantung pada skema yang Anda kueri, Anda akan mendapatkan banyak sekali informasi dan mungkin perlu menggunakan kombinasi kueri SQL untuk memahaminya.

Anda dapat mempelajari lebih lanjut tentang tabel dan skema Osquery dari sumber berikut:

https://osquery.io/schema/4.6.0/

Panduan SQL Dasar

Osquery bekerja dengan menggunakan query sintaks SQLite untuk mengumpulkan informasi tentang sistem. Saya tidak tahu mengapa Facebook memilih rute ini, tetapi berhasil.

Tutorial sederhana ini akan membahas dasar-dasar SQLite untuk menjelaskan bagaimana Anda dapat menggunakannya untuk berinteraksi dengan Osquery.

CATATAN: Ini sama sekali tidak dimaksudkan sebagai panduan untuk SQL atau bahasa terkait. Untuk panduan khusus bahasa lainnya, lihat dokumentasi utama.

Memilih entri tertentu dari tabel

Menggunakan sintaks SQLite dasar, kita dapat memilih informasi spesifik dari tabel menggunakan pernyataan SELECT seperti yang ditunjukkan:

SELECT pid, name, path FROM processes;

Menambahkan fungsi SQL

Osquery juga mendukung fungsi SQL, memungkinkan Anda untuk melakukan berbagai tindakan dengan data yang dikumpulkan dari kueri.

Misalnya, fungsi hitung memungkinkan Anda melihat jumlah user di sistem Anda.

SELECT COUNT(*) FROM users;

Perintah ini akan mengembalikan jumlah total user dalam sistem.

Kemampuan Osquery untuk menggunakan sintaks SQL adalah keuntungan besar yang dapat membantu Anda membangun kumpulan data kompleks yang dapat memberi Anda analisis sistem yang lebih mendalam. Ini juga menciptakan jembatan yang dapat digunakan oleh pengembang SQL menggunakan engine seperti PostgreSQL, MySQL, dan lainnya untuk beradaptasi dengan mudah.

https://osquery.readthedocs.io/en/stable/introduction/sql/

Proyek Sampingan yang Menyenangkan

Ketika Anda menjelajahi Osquery lebih jauh dan bereksperimen dengannya, Anda akan menemukan bahwa itu adalah alat yang komprehensif dan kuat yang memudahkan untuk membuat proyek yang secara khusus disetel untuk memantau sistem Anda.

Karena cakupan tutorial ini, dan untuk menghindari membingungkan pemula, kami tidak akan menyelidiki proyek yang rumit. Yang disebutkan, berikut adalah beberapa alat yang dapat Anda buat menggunakan Osquery:

  • Kumpulkan log dengan Logstash
  • Bangun dasbor monitor sistem dengan Elasticsearch, Logstash, dan Kibana.
  • Bangun armada Osquery dengan Kolide

https://osquery.readthedocs.io/en/stable/deployment/log-aggregation/
https://www.elastic.co/guide/en/beats/filebeat/7.10/filebeat-module-osquery.html
https:// /github.com/fleetdm/fleet

Kesimpulan

Dalam tutorial ini, kita melihat dasar-dasar Osquery, termasuk bagaimana menggunakannya untuk mengumpulkan informasi sistem.

Meskipun tidak komprehensif, panduan ini bertujuan untuk memberi Anda pengenalan yang cepat dan mudah tentang Osquery; tidak berarti itu
panduan referensi.

Jangan ragu untuk menggunakan sumber daya lain untuk mendapatkan pemahaman yang lebih dalam tentang berbagai konsep yang telah kita diskusikan dalam tutorial ini.

Related Posts