Debian

Cara Memasang Osquery pada Debian 10

Cara Memasang Osquery pada Debian 10
Dalam tutorial Osquery ini, kita akan mulakan dengan membincangkan apa itu Osquery, bagaimana ia berfungsi, bagaimana memasangnya di Debian, pengenalan ringkas ke SQL, dan akhirnya membina sebuah projek yang memperincikan bagaimana mengintegrasikan Osquery dengan ELK Stack.

Untuk memastikan tutorial ini ringkas, kami tidak akan menyelami "apa" dan "bagaimana" timbunan ELK. Sebagai gantinya, kami akan membincangkan cara menggunakannya dengan pantas dan terus dengan Osquery. Kami juga akan menganggap anda mempunyai pengetahuan mengenai SQL - walaupun panduan yang diberikan).

Apa itu Osquery?

Dibangunkan oleh Facebook, Osquery adalah platform sumber terbuka yang digunakan untuk membuat pertanyaan dan memantau sistem menggunakan pertanyaan berdasarkan SQL.

Osquery dapat berinteraksi dengan sistem dan mengumpulkan maklumat terperinci seperti penggunaan memori, proses berjalan, modul kernel yang dimuat, acara perkakasan, sambungan rangkaian, dll. Alat ini berjalan pada semua sistem, termasuk Windows, Linux, Mac, dan BSD.

Dengan menggunakan Osquery, anda boleh membuat pertanyaan SQL yang memaparkan maklumat mengenai sistem dan menggunakan maklumat ini untuk memantau dan menganalisis data yang dikumpulkan.

Cara Memasang Osquery pada Sistem Debian

Memasang Osquery pada sistem Debian sangat mudah, dan walaupun ia tidak tersedia di repositori Debian utama, menambahkannya cukup mudah.

Mari lihat kaedah pertama yang boleh anda gunakan untuk memasang Osquery di Debian:

Langkah pertama dan paling mudah adalah memuat turun pemasang 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 mengesyorkan kaedah di atas kerana pakej deb mempunyai sedikit kebergantungan pada sebilangan besar pengedaran Debian. Namun, jika anda ingin menambahkan ke apt, gunakan kaedah seterusnya.

Masukkan arahan berikut untuk memasang Osquery dari repositori.

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

Cara Menggunakan Osquery pada Debian 10

Sebelum mempelajari skrip automatik dan bekerja dengan timbunan ELK, mari kita bincangkan beberapa penggunaan Osquery yang mudah pada sistem tempatan.

Osquery mempunyai tiga komponen utama yang boleh anda gunakan untuk berinteraksi dengan API.

Osquery: Komponen pertama adalah osqueryi, sesi shell interaktif. Mod osqueryi sepenuhnya berdiri sendiri dan tidak memerlukan interaksi dengan daemon Osquery-Osquery. Dengan menggunakan mod osqueryi, anda boleh menjalankan pertanyaan SQL secara interaktif dan meneroka sistem semasa yang serupa dengan shell SQL.

NOTA: Osquery menghormati ruang pengguna, dan jika anda menjalankan shell sebagai mod pengguna biasa, anda tidak akan mempunyai akses ke jadual istimewa.

Osqueryd: Komponen lain adalah osqueryd, daemon Osquery yang digunakan untuk menjadualkan pertanyaan dan merakam perubahan keadaan di latar belakang. Daemon berfungsi dengan mengumpulkan hasil pertanyaan yang dilaksanakan dalam jangka masa tertentu dan menghasilkan log yang digunakan untuk membandingkan perubahan keadaan setiap pertanyaan.

Osqueryctl: Komponen ketiga adalah Osqueryctl, skrip pembantu yang digunakan untuk menguji konfigurasi penyebaran. Anda juga boleh menggunakannya sebagai pengurus perkhidmatan Osquery, yang membolehkan anda memulakan dan menghentikan perkhidmatan.

Di luar kotak, Osquery tidak lebih daripada alat mudah untuk bertanya maklumat mengenai sistem. Walau bagaimanapun, apabila anda menggabungkan pertanyaan untuk membina data yang disusun dan diagregasi dengan baik, ia menjadi lebih daripada alat pertanyaan.

Untuk mendapatkan rollin ', mari mulakan dengan asas untuk memahami cara kerjanya:

Langkah pertama adalah mendapatkan bantuan dengan arahan:

sudo osqueryd --help

Perintah ini akan memaparkan bantuan daemon Osquery, dengan senarai argumen yang boleh anda gunakan di shell.

Kaedah seterusnya, dan paling mudah untuk berinteraksi dengan Osquery, adalah dengan menggunakan sesi osqueryi. Sebagai contoh, jika anda menjalankan perintah osqueryi tanpa argumen, anda akan jatuh ke shell seperti SQL:

sudo osqueryi

Di dalam cangkang osqueryi, anda dapat menjalankan perintah dan sintaks SQL untuk memilih maklumat khusus mengenai sistem.

Untuk melihat mod bantuan di dalam shell osqueryi, gunakan arahan:

osquery> .menolong

Melaksanakan perintah ini harus menunjukkan pertolongan mengenai sesi Osquery.

Oleh kerana Osquery adalah pemeta pangkalan data relasional untuk sistem anda, ia mempunyai senarai jadual yang dapat anda gunakan untuk memilih maklumat dari menggunakan SQLite Queries.

NOTA: Pertanyaan Osquery berasaskan SQLite. Anda boleh merujuk dokumentasinya jika Osquery tidak memberikan maklumat yang mencukupi:

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

Di dalam cangkang osqueryi, gunakan arahan:

osquery> .jadual

Perintah ini menyenaraikan jadual yang tersedia yang mengandungi maklumat sistem.

Dari sana, anda boleh memilih maklumat dari skema yang ada. Contohnya, lihat maklumat mengenai pemecah DNS.

PILIH * DARI dns_resolvers;

Bergantung pada skema yang anda tanyakan, anda akan mendapat banyak maklumat dan mungkin perlu menggunakan gabungan pertanyaan SQL untuk memahaminya.

Anda boleh mengetahui lebih lanjut mengenai jadual dan skema Osquery dari sumber berikut:

https: // osquery.io / skema / 4.6.0 /

Panduan SQL Asas

Osquery berfungsi dengan menggunakan pertanyaan sintaks SQLite untuk mengumpulkan maklumat mengenai sistem. Saya tidak tahu mengapa Facebook memilih laluan ini, tetapi ia berjaya.

Tutorial ringkas ini akan membincangkan asas-asas SQLite untuk menerangkan bagaimana anda boleh menggunakannya untuk berinteraksi dengan Osquery.

NOTA: Ini sama sekali tidak dimaksudkan untuk menjadi panduan untuk SQL atau bahasa yang berkaitan. Untuk lebih banyak panduan khusus bahasa, rujuk dokumentasi utama.

Memilih entri tertentu dari jadual

Dengan menggunakan sintaks SQLite asas, kita dapat memilih maklumat khusus dari jadual menggunakan pernyataan SELECT seperti yang ditunjukkan:

PILIH pid, nama, jalan DARI proses;

Menambah fungsi SQL

Osquery juga menyokong fungsi SQL, yang membolehkan anda melakukan pelbagai tindakan dengan data yang dikumpulkan dari pertanyaan.

Sebagai contoh, fungsi kiraan boleh membolehkan anda melihat jumlah pengguna dalam sistem anda.

PILIH COUNT (*) DARI pengguna;

Perintah ini akan mengembalikan jumlah pengguna dalam sistem.

Keupayaan Osquery menggunakan sintaks SQL adalah kelebihan besar yang dapat membantu anda membina set data kompleks yang dapat memberi anda analisis sistem yang lebih mendalam. Ini juga mewujudkan jambatan yang dapat digunakan oleh pengembang SQL menggunakan mesin seperti PostgreSQL, MySQL, dan lain-lain untuk menyesuaikan diri dengan mudah.

https: // osquery.readthedocs.io / en / stabil / pengenalan / sql /

Projek Sampingan yang Menyeronokkan

Apabila anda meneroka Osquery lebih jauh dan bereksperimen dengannya, anda akan dapati bahawa ia adalah alat yang komprehensif dan hebat yang memudahkan untuk membuat projek yang disesuaikan untuk memantau sistem anda.

Oleh kerana skop tutorial ini, dan untuk mengelakkan pemula yang membingungkan, kami tidak akan menyelidiki projek yang kompleks. Yang disebutkan, berikut adalah beberapa alat yang boleh anda buat menggunakan Osquery:

https: // osquery.readthedocs.io / en / stabil / penyebaran / agregasi log /
https: // www.elastik.co / guide / en / beats / filebeat / 7.10 / filebeat-module-osquery.html
https: // github.com / fleetdm / armada

Kesimpulannya

Dalam tutorial ini, kami melihat asas-asas Osquery, termasuk cara menggunakannya untuk mengumpulkan maklumat sistem.

Walaupun tidak komprehensif, panduan ini bertujuan untuk memberi anda pengenalan Osquery yang cepat dan mudah; sama sekali bukan panduan rujukan.

Jangan ragu untuk menggunakan sumber lain untuk mendapatkan pemahaman yang lebih mendalam mengenai pelbagai konsep yang telah kami bincangkan dalam tutorial ini.

Cara Menggunakan AutoKey untuk Mengautomasikan Permainan Linux
AutoKey adalah utiliti automasi desktop untuk Linux dan X11, yang diprogramkan dalam Python 3, GTK dan Qt. Dengan menggunakan skrip dan fungsi MACRO, ...
Cara Menunjukkan Kaunter FPS dalam Permainan Linux
Permainan Linux mendapat dorongan utama ketika Valve mengumumkan sokongan Linux untuk klien Steam dan permainan mereka pada tahun 2012. Sejak itu, ban...
Cara memuat turun dan Mainkan Sid Meier's Civilization VI di Linux
Pengenalan permainan Civilization 6 adalah konsep moden mengenai konsep klasik yang diperkenalkan dalam siri permainan Age of Empires. Idea itu cukup ...