Memasang Osquery di Ubuntu
Osquery pakej tidak tersedia di repositori Ubuntu lalai sehingga sebelum memasangnya kita harus menambahkan Osquery repositori apt dengan menjalankan perintah berikut di terminal.
[dilindungi e-mel]: ~ $ echo "deb [arch = amd64] https: // pkg.osquery.io / deb deb main "|sudo tee / etc / apt / sumber.senarai.d / osquery.senarai
Sekarang kita akan mengimport kunci penandatanganan dengan menjalankan perintah berikut di terminal.
[dilindungi e-mel]: ~ $ sudo apt-key adv --keyserver keyserver.ubuntu.com--kekunci recv 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
Setelah mengimport kunci penandatanganan, kini kemas kini sistem anda dengan menjalankan perintah berikut di terminal.
[dilindungi e-mel]: ~ $ sudo apt-get kemas kiniSekarang pasang Osquery dengan menjalankan perintah berikut
[dilindungi e-mel]: ~ $ sudo apt-get install osquerySelepas memasang Osquery, sekarang kita harus memeriksa sama ada ia telah dipasang dengan betul dengan menjalankan perintah berikut
[dilindungi e-mel]: ~ $ osqueryi --versiSekiranya memberikan output berikut maka ia dipasang dengan betul
Menggunakan Osquery
Sekarang setelah memasang, kami sudah siap untuk digunakan Osquery. Jalankan arahan berikut untuk pergi ke prompt shell interaktif
[dilindungi e-mel]: ~ $ osqueryi
Mendapatkan bantuan
Sekarang kita dapat menjalankan pertanyaan berdasarkan SQL untuk mendapatkan data dari sistem operasi. Kami boleh mendapatkan bantuan mengenai Osquery dengan menjalankan perintah berikut di shell interaktif.
osquery> .menolong
Mendapatkan Semua Jadual
Seperti yang dinyatakan sebelum ini, Osquery memaparkan data dari sistem operasi sebagai pangkalan data relasional sehingga mempunyai semua data dalam bentuk jadual. Kita boleh mendapatkan semua jadual dengan menjalankan perintah berikut di shell interaktif
osquery> .jadual
Seperti yang kita lihat bahawa dengan menjalankan perintah di atas kita dapat memperoleh banyak jadual. Sekarang kita dapat memperoleh data dari jadual ini dengan menjalankan pertanyaan berdasarkan SQL.
Maklumat Penyenaraian Mengenai semua Pengguna
Kita dapat melihat semua maklumat mengenai pengguna dengan menjalankan perintah berikut di shell interaktif
osquery> PILIH * DARI pengguna;Perintah di atas akan memaparkan gid, uid, keterangan dll. dari semua pengguna
Kami juga dapat mengekstrak hanya data yang relevan mengenai pengguna misalnya kami ingin melihat pengguna sahaja dan bukan maklumat lain mengenai pengguna. Jalankan arahan berikut di shell interaktif untuk mendapatkan nama pengguna
osquery> PILIH nama pengguna DARI pengguna;Perintah di atas akan menunjukkan kepada semua pengguna dalam sistem anda
Begitu juga kita boleh mendapatkan nama pengguna bersama dengan direktori di mana pengguna ada dengan menjalankan perintah berikut.
osquery> PILIH nama pengguna, direktori DARI pengguna;
Begitu juga kita boleh meminta seberapa banyak bidang yang kita mahukan dengan menjalankan perintah yang serupa.
Kami juga dapat memperoleh semua data pengguna tertentu. Contohnya kita ingin mendapatkan semua maklumat mengenai pengguna root. Kita boleh mendapatkan semua maklumat mengenai pengguna root dengan menjalankan perintah berikut.
osquery> PILIH * DARI pengguna DI MANA nama pengguna = "root";
Kami juga dapat memperoleh data tertentu dari bidang tertentu (lajur). Contohnya kita mahu mendapatkan id kumpulan dan nama pengguna root pengguna. Jalankan arahan berikut untuk mendapatkan data ini.
osquery> PILIH nama pengguna, gid DARI pengguna DI MANA nama pengguna = "root"
Dengan cara ini kita dapat membuat pertanyaan tentang apa sahaja yang kita mahukan dari jadual.
Menyenaraikan semua Proses
Kami dapat menyenaraikan lima proses pertama yang berjalan di ubuntu dengan menjalankan perintah berikut di shell interaktif
osquery> SELECT * DARI proses TERHAD 5;
Oleh kerana terdapat banyak proses yang berjalan di dalam sistem, maka kami hanya memaparkan lima proses dengan menggunakan LIMIT kata kunci.
Kita dapat mencari id proses dari proses tertentu contohnya kita ingin mencari id proses mongodb sehingga kita akan menjalankan perintah berikut di shell interaktif
osquery> PILIH pid DARI proses DI MANA nama = "mongod";
Mencari Versi Ubuntu
Kami dapat mencari versi Sistem Ubuntu kami dengan menjalankan perintah berikut di shell interaktif
osquery> PILIH * DARI os_version;Ini akan menunjukkan versi sistem operasi kami
Memeriksa Antaramuka Rangkaian dan Alamat IP
Kita boleh menyemak alamat IP, Subnet Mask of Network Interfaces dengan menjalankan pertanyaan berikut di shell interaktif.
osquery> SELECT interface, address, mask FROM interface_addressesDI MANA antara muka TIDAK SUKA '% lo%';
Memeriksa Pengguna yang Dilog masuk
Kami juga dapat memeriksa pengguna yang masuk di sistem anda dengan meminta data dari jadual 'logged_in_users'. Jalankan arahan berikut untuk mencari pengguna yang log masuk.
osquery> PILIH pengguna, hos, masa DARI log_in_users MANA tty TIDAK SUKA '-';
Memeriksa Memori Sistem
Kami juga boleh memeriksa Jumlah memori, memori cache percuma dll. dengan menjalankan beberapa perintah berdasarkan SQL di shell interaktif. Untuk memeriksa jumlah memori jalankan arahan berikut. Ini akan memberi kita memori keseluruhan sistem dalam bait.
osquery> PILIH memori_total DARI memory_info;
Untuk memeriksa memori percuma sistem anda, jalankan pertanyaan berikut di shell interaktif
osquery> SELECT memory_free DARI memory_info;Apabila kita menjalankan perintah di atas, ini akan memberi kita memori percuma yang tersedia di sistem kami
Kami juga dapat memeriksa memori sistem yang di-cache menggunakan jadual memory_info dengan menjalankan pertanyaan berikut.
osquery> pilih cache dari memory_info;
Menyenaraikan Kumpulan
Kami dapat mencari semua kumpulan dalam sistem anda dengan menjalankan pertanyaan berikut di shell interaktif
osquery> PILIH * DARI kumpulan;
Memaparkan Pelabuhan Mendengar
Kami dapat memaparkan semua port pendengaran sistem kami dengan menjalankan perintah berikut di shell interaktif
osquery> PILIH * DARI mendengar_port;
Kami juga dapat memeriksa sama ada port mendengar atau tidak dengan menjalankan perintah berikut di shell interaktif
osquery> SELECT port, address FROM listen_ports WHERE port = 27017;Ini akan memberi kita output seperti yang ditunjukkan dalam gambar berikut
Kesimpulannya
Osquery adalah utiliti perisian yang sangat berguna untuk mencari segala jenis maklumat mengenai sistem anda. Sekiranya anda sudah mengetahui pertanyaan berdasarkan SQL maka sangat mudah digunakan untuk anda atau jika anda tidak mengetahui pertanyaan berdasarkan SQL maka saya telah berusaha sebaik mungkin untuk menunjukkan kepada anda beberapa pertanyaan utama yang berguna untuk mencari data. Anda boleh mencari apa-apa jenis data dari mana-mana jadual dengan menjalankan pertanyaan yang serupa.