GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengatur osquery untuk Memantau Ancaman Keamanan di Ubuntu

OSQUERY adalah alat open source yang dikembangkan oleh Facebook untuk menanyakan berbagai informasi yang terkait dengan keadaan mesin Anda seperti proses yang berjalan, modul Kernel yang dimuat, pengguna yang login aktif, port mendengarkan aktif, dll. Kerangka instrumentasi sistem ini membuat sistem operasi tingkat rendah analitik dan pemantauan efisien dan intuitif. OSQUERY memaparkan sistem operasi sebagai database relasional virtual berkinerja tinggi yang memungkinkan Anda menulis kueri SQL untuk menjelajahi data sistem operasi dan meminta titik akhir (Windows, OS X, Linux, dan FreeBSD) untuk mengidentifikasi, menyelidiki, dan menghilangkan berbagai jenis ancaman . OSQUERY berbeda dari HIDS/IPS tradisional. Di sini Anda perlu mencari tahu data apa yang ada di tabel untuk kueri dan mendesain kueri berdasarkan data ini. Selain itu, ia memiliki fungsionalitas bawaan untuk memantau integritas file, mengaudit koneksi dan proses jaringan, dan bahkan mencatat perubahan perangkat keras secara real time. Pada artikel ini, kita akan menginstal OSQUERY di ubuntu 16 dan memeriksa penggunaannya melalui osqueryi dan osqueryd.

1. Instal OSQUERY

Tambahkan informasi repositori OSQUERY ke database apt dan perbarui sistem.

 # sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B

Untuk menggunakan add-apt-repository, Anda perlu menginstal properti perangkat lunak python.

 # sudo apt-get install software-properties-common python-software-properties

Tambahkan data repositori ke apt-database

 # sudo add-apt-repository "deb [arch=amd64] https://osquery-packages.s3.amazonaws.com/xenial xenial main"

Perbarui sistem dan instal OSQUERY

 # sudo apt-get update
 # sudo apt-get install osquery

Anda dapat menjalankan OSQUERY baik melalui shell interaktif atau sebagai mode daemon. Pertama, mari kita jelajahi cara menggunakannya melalui antarmuka shell OSQUERY dan setelah itu kita akan memeriksa mode daemon. Untuk mendapatkan shell osquery, ketik osqueryi di terminal untuk menanyakan tabel osquery yang tersedia di luar kotak.

 # osqueryi
 osquery>

Untuk membuat daftar semua pengguna yang masuk dalam sistem, jalankan kueri berikut.

 osquery> select * from logged_in_users ;

Temukan semua tabel yang tersedia untuk kueri.

 osquery> .tables

Untuk mendeskripsikan skema tabel, jalankan perintah berikut.

 osquery> .schema table-name

Keluar dari shell

 osquery> .exit

Anda juga dapat menjalankan OSQUERY dengan meneruskan flag baris perintah. misalnya

 # osqueryi --disable_events=false --worker_threads=2  --logger_plugin=filesystem --pidfile=/var/osquery/osquery.pidfile

Untuk mengetahui lebih banyak flag baris perintah yang tersedia untuk shell interaktif OSQUERY, jalankan perintah berikut dari terminal.

 # osqueryi --help

Kami akan menjelajahi lebih banyak kueri di bagian terpisah, tetapi sekarang marilah kita mengonfigurasi OSQUERY.

2. Konfigurasi OSQUERY

Lebih mudah untuk menjalankan OSQUERY dengan file konfigurasi. Daripada melewatkan banyak parameter baris perintah untuk menjalankan shell interaktif osquery, parameter ini dapat ditulis dalam file konfigurasi osquery. Shell interaktif OSQUERY (osqueryi) akan membaca parameter ini saat Anda menjalankan osqueryi. OSQUERY tidak datang dengan file konfigurasi. Melainkan ada contoh file konfigurasi ( /usr/share/osquery/osquery.example.conf ) yang dapat Anda salin. Ia mencari file konfigurasi di /etc/osquery/osquery.conf . Jika file konfigurasi tidak ada, osqueryi akan berjalan dengan opsi default. Juga, file konfigurasi tersedia untuk daemon OSQUERY.

File konfigurasi OSQUERY berisi tiga bagian berikut.

→ Daftar opsi dan pengaturan yang dibaca oleh osqueryi dan daemon osquery ( osqueryd )
→ Jadwal Kueri:kumpulan kueri dan interval SQL.
→ Daftar paket yang berisi kueri yang lebih spesifik/bertarget. misalnya paket Pemantauan Perubahan File:kategori dan jalur file dan direktori yang dipantau

2.1 Opsi dan pengaturan

Daftar lengkap opsi dan pengaturan dapat ditemukan di wiki ini. Opsi dan setelan yang akan digunakan untuk artikel ini dijelaskan di bawah.

config_plugin: Nama plugin konfigurasi. Jenis pengambilan konfigurasi, plugin sistem file default membaca konfigurasi JSON dari disk.

plugin_logger: Nama plugin pencatat. Logger default adalah sistem file. Ini menulis berbagai jenis log sebagai JSON ke jalur file tertentu. Beberapa plugin logger dapat digunakan secara bersamaan, secara efektif menyalin log ke setiap antarmuka. Pisahkan nama plugin dengan koma saat menentukan konfigurasi (--logger_plugin=filesystem,syslog).

logger_path: Jalur direktori untuk ERROR/WARN/INFO dan pencatatan hasil.

disable_logging: Nonaktifkan ERROR/WARNING/INFO (disebut log status) dan pencatatan hasil kueri.

schedule_splay_percent: Persen untuk menampilkan waktu konfigurasi. Jadwal kueri sering kali menyertakan beberapa kueri dengan interval yang sama. Seringkali bukan maksud dari pembuat jadwal untuk menjalankan kueri ini bersama-sama pada interval tersebut. Melainkan, setiap kueri harus dijalankan pada interval tersebut. Pemutaran jadwal default sebesar 10% diterapkan ke setiap kueri saat konfigurasi dimuat.

pidfile: Jalur ke daemon pidfile mutex. File digunakan untuk mencegah beberapa proses osqueryd dimulai.

acara_kedaluwarsa: Timeout untuk berakhir eventing mempublikasikan hasil berlangganan dari backing-store. Kedaluwarsa ini hanya diterapkan ketika hasil ditanyakan. Misalnya, jika --events_expiry=1 maka peristiwa praktis hanya akan ada untuk satu pilihan dari pelanggan. Jika tidak ada pemilihan yang terjadi, maka acara akan disimpan di backing store tanpa batas waktu.

database_path: Jika menggunakan penyimpanan cadangan berbasis disk, tentukan jalurnya. osquery akan mempertahankan status menggunakan "backing store" menggunakan RocksDB secara default. Status ini menyimpan informasi acara sedemikian rupa sehingga dapat ditanyakan nanti sesuai dengan jadwal. Ini menyimpan hasil kueri terbaru untuk setiap kueri dalam jadwal. Hasil kueri terakhir ini memungkinkan logging diferensial kueri.

verbose: Aktifkan pesan informasi verbose.

utas_pekerja: Jumlah utas pengiriman pekerjaan yang digunakan untuk memproses kueri.

aktifkan_monitor: Digunakan untuk mengaktifkan atau menonaktifkan monitor jadwal.

disable_events: Nonaktifkan acara Sistem Operasi osquery, publikasikan API berlangganan. Ini secara implisit akan menonaktifkan beberapa tabel yang melaporkan berdasarkan peristiwa yang dicatat.

disable_audit: Digunakan untuk menonaktifkan peristiwa penerimaan dari subsistem audit sistem operasi.

audit_allow_config: Izinkan penerbit audit untuk mengubah konfigurasi audit

pengidentifikasi_host: Kolom yang digunakan untuk mengidentifikasi host yang menjalankan osquery:hostname, uuid, ephemeral, instance.

aktifkan_syslog: Aktifkan penerbit acara penyerapan syslog. Ini adalah pengaktifan 'eksplisit' karena memerlukan konfigurasi eksternal rsyslog atau syslog-ng.

audit_allow_sockets: Ini memungkinkan penerbit audit untuk memasang aturan terkait soket.

schedule_default_interval: Secara opsional, atur nilai interval default. Ini digunakan jika Anda menjadwalkan kueri yang tidak menentukan interval.

# sudo vi /etc/osquery/osquery.conf
"options": {
    "config_plugin": "filesystem",
    "logger_plugin": "filesystem",
    "logger_path": "/var/log/osquery",
    "disable_logging": "false",
    "log_result_events": "true",
    "schedule_splay_percent": "10",
    "pidfile": "/var/osquery/osquery.pidfile",
    "events_expiry": "3600",
    "database_path": "/var/osquery/osquery.db",
    "verbose": "false",
    "worker_threads": "2",
    "enable_monitor": "true",
    "disable_events": "false",
    "disable_audit": "false",
    "audit_allow_config": "true",
    "host_identifier": "hostname",
    "enable_syslog": "true",
    "audit_allow_sockets": "true",
    "schedule_default_interval": "3600" 
  },
 ...........
 ...........
 ...........

2.2 Jadwal Kueri

Bagian jadwal berisi kueri yang diidentifikasi dengan kunci unik diikuti dengan interval yang menentukan frekuensi kueri dalam hitungan detik. Konfigurasi untuk bagian jadwal yang akan kita gunakan terlihat seperti di bawah ini-

 ...........
 ...........
{
"schedule": {
    "crontab": {
      "query": "SELECT * FROM crontab;",
      "interval": 300
    },
    "largest_process": {
     "query": "select pid, name, uid, resident_size from processes order by resident_size desc limit 10;",
      "interval": 60
    }, 
 }
...........
...........

Kueri pertama melihat ke tabel crontab dalam setiap 300 detik dan kueri kedua mengendus ekstensi kernel yang dimuat dalam setiap 10 detik. Hasil kueri di-cache pada disk menggunakan RocksDB. Saat menjalankan kueri pertama, semua hasil disimpan di RocksDB. Pada proses berikutnya, hanya hasil-set-difference (perubahan) yang dicatat ke RocksDB.

Kueri khusus lainnya yang disebut dekorator digunakan untuk menambahkan data ke kueri terjadwal lainnya. Dekorator berikut akan menambahkan UUID host yang menjalankan osquery dan nama pengguna pengguna ke setiap kueri terjadwal.

..........
..........
"decorators": {
    "load": [
      "SELECT uuid AS host_uuid FROM system_info;",
      "SELECT user AS username FROM logged_in_users ORDER BY time DESC LIMIT 1;"
    ]
  },
..........
..........

2.3 Paket Kueri

Konfigurasi mendukung set, yang disebut paket, kueri yang membantu menentukan jadwal Anda. Paket didistribusikan dengan osquery dan diberi label berdasarkan kategori informasi dan visibilitas yang luas. Misalnya, paket "kepatuhan" akan menyertakan kueri yang memeriksa perubahan dalam fitur sistem operasi yang dikunci dan pengaturan pengguna. Paket "manajemen kerentanan" dapat melakukan kueri manajemen aset umum yang membuat log peristiwa seputar paket dan perubahan penginstalan perangkat lunak. Kumpulan paket default terletak di folder /usr/share/osquery/packs. Tambahkan paket ini ke file konfigurasi.

..........
..........
"packs": {
 "osquery-monitoring": "/usr/share/osquery/packs/osquery-monitoring.conf",
 "incident-response": "/usr/share/osquery/packs/incident-response.conf",
 "it-compliance": "/usr/share/osquery/packs/it-compliance.conf",
 "vuln-management": "/usr/share/osquery/packs/vuln-management.conf"
 }

2.4 Buat paket khusus untuk pemantauan integritas file

Paket yang telah kami tambahkan di bagian sebelumnya dikirim di luar kotak. Sekarang kami ingin menambahkan paket kami sendiri yang tugasnya adalah memantau integritas file untuk folder yang dikonfigurasi melalui file_paths. Buat file dengan nama fims.conf di dalam /usr/share/osquery/packs/ dan tambahkan bagian berikut.

# vi /usr/share/osquery/packs/fims.conf

{
  "queries": {
    "file_events": {
      "query": "select * from file_events;",
      "removed": false,
      "interval": 300
    }
  },
  "file_paths": {
    "homes": [
      "/root/.ssh/%%",
      "/home/%/.ssh/%%"
    ],
      "etc": [
      "/etc/%%"
    ],
      "home": [
      "/home/%%"
    ],
      "tmp": [
      "/tmp/%%"
    ]
  }
}

Kueri file_events dijadwalkan untuk mengumpulkan semua kejadian FIM yang telah terjadi pada file apa pun dalam jalur yang ditentukan oleh file_paths pada interval lima menit. Pada tingkat tinggi ini berarti peristiwa disangga dalam osquery dan dikirim ke logger yang dikonfigurasi setiap lima menit.

Ubah bagian paket di osquery.conf untuk menyertakan file di atas.

# sudo vi /etc/osquery/osquery.conf
.................
"packs": {
     "fim": "/usr/share/osquery/packs/fims.conf",
     "osquery-monitoring": "/usr/share/osquery/packs/osquery-monitoring.conf",
     "incident-response": "/usr/share/osquery/packs/incident-response.conf",
     "it-compliance": "/usr/share/osquery/packs/it-compliance.conf",
     "vuln-management": "/usr/share/osquery/packs/vuln-management.conf"
  }

File konfigurasi OSQUERY terakhir terlihat seperti ini-

{
  "options": {
    "config_plugin": "filesystem",
    "logger_plugin": "filesystem",
    "logger_path": "/var/log/osquery",
    "disable_logging": "false",
    "log_result_events": "true",
    "schedule_splay_percent": "10",
    "pidfile": "/var/osquery/osquery.pidfile",
    "events_expiry": "3600",
    "database_path": "/var/osquery/osquery.db",
    "verbose": "true",
    "worker_threads": "2",
    "enable_monitor": "true",
    "disable_events": "false",
    "disable_audit": "false",
    "audit_allow_config": "true",
    "host_identifier": "hostname",
    "enable_syslog": "true",
    "syslog_pipe_path": "/var/osquery/syslog_pipe",
    "audit_allow_sockets": "true",
    "schedule_default_interval": "3600" 
  },
"schedule": {

"crontab": {
      "query": "SELECT * FROM crontab;",
      "interval": 300
    },
    "largest_process": {
     "query": "select pid, name, uid, resident_size from processes order by resident_size desc limit 10;",
      "interval": 60
    } 
  },
  "decorators": {
    "load": [
      "SELECT uuid AS host_uuid FROM system_info;",
      "SELECT user AS username FROM logged_in_users ORDER BY time DESC LIMIT 1;"
    ]
  },
  "packs": {
     "fim": "/usr/share/osquery/packs/fims.conf",
     "osquery-monitoring": "/usr/share/osquery/packs/osquery-monitoring.conf",
     "incident-response": "/usr/share/osquery/packs/incident-response.conf",
     "it-compliance": "/usr/share/osquery/packs/it-compliance.conf",
     "vuln-management": "/usr/share/osquery/packs/vuln-management.conf",
     "hardware-monitoring": "/usr/share/osquery/packs/hardware-monitoring.conf"
  }
}

Periksa validitas file konfigurasi.

# sudo osqueryctl config-check

Jalankan shell interaktif OSQUERY dalam mode verbose.

# osqueryi --verbose

3. Konfigurasikan OSQUERY untuk menggunakan log syslog-ng

Pada langkah ini, kita akan mengkonfigurasi OSQUERY untuk menggunakan syslogs. Ubuntu memiliki aplikasi rsyslog default yang menghasilkan syslogs tetapi dalam artikel ini, kita akan menemukan cara mengkonfigurasi syslog-ng sehingga log yang dihasilkan olehnya digunakan oleh OSQUERY. Tabel syslog dari log kueri OSQUERY yang diteruskan melalui pipa bernama dari daemon syslog-ng yang dikonfigurasi dengan benar. Saat syslog diserap ke dalam osquery, syslog ditulis ke dalam backing store (RocksDB) dan tersedia untuk kueri. Oleh karena itu konfigurasi syslog-ng akan membuat pipa bernama yang melaluinya OSQUERY akan menggunakan log.

Instal syslog-ng

 # sudo apt-get install syslog-ng

Ubah grup file yang dibuat oleh syslog-ng menjadi syslog. Edit file konfigurasi utama syslog-ng dan ubah grup menjadi adm.

# vi /etc/syslog-ng/syslog-ng.conf
 .........................
 .........................
 options { chain_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no);
 owner("root");  group("adm"); perm(0640); stats_freq(0); bad_hostname("^gconfd$"); threaded(yes); }; ......................... .........................

Selanjutnya, buat konfigurasi syslog-ng untuk OSQUERY. Bagian berikut menunjukkan cara mengonfigurasi syslog-ng untuk log sistem dan menulis ulang log ini dalam format CSV. Kemudian template digunakan untuk memformat pesan/log sehingga bidang log menyatu dengan tabel syslog OSQUERY. Akhirnya log didorong ke pipa bernama untuk dikonsumsi OSQUERY. Izin untuk pipa setidaknya harus mengizinkan syslog-ng untuk membaca/menulis, dan osquery untuk membaca.

 # vi /etc/syslog-ng/conf.d/osquery.conf

 source s_osquery {
 system();
 };
 rewrite r_csv_message {
 set("$MESSAGE", value("CSVMESSAGE") );
 subst("\"","\\\"", value("CSVMESSAGE"), flags(global) );
 };
 template t_csv {
 template("\"${ISODATE}\", \"${HOST}\", \"${LEVEL_NUM}\", \"${FACILITY}\", \"${PROGRAM}\", \"${MESSAGE}\"\n");
 template_escape(no);
 };
 destination d_osquery {
 pipe("/var/osquery/syslog_pipe" template(t_csv));
 };
 log {
 source(s_osquery);
 rewrite(r_csv_message);
 destination(d_osquery);
 };

File konfigurasi osquery ( /etc/osquery/osquery.conf ) yang telah kita buat sebelumnya perlu sedikit penyesuaian untuk syslog-ng. Ubah logger_plugin ke syslog dari sistem file atau simpan keduanya.

 "logger_plugin": "syslog" or  "logger_plugin": "filesystem,syslog"

Opsi berikut juga diperlukan untuk penyerapan syslog.

 .................
 .................
 "enable_syslog": "true",
 "syslog_pipe_path": "/var/osquery/syslog_pipe",
 "disable_events": "false",
 .................
 .................

Jadi kita hanya perlu mengedit opsi logger_plugin di /etc/osquery/osquery.conf yang telah kita buat sebelumnya dan sisanya dari tiga opsi sudah ada di file konfigurasi.

Sekarang restart syslog-ng dan periksa apakah pipa telah dibuat dengan izin yang tepat.

# sudo systemctl start syslog-ng

# ls -l /var/osquery/syslog_pipe
prw-r----- 1 root adm 0 Apr 27 14:29 /var/osquery/syslog_pipe

Periksa log yang mengalir melalui pipa

 # cat /var/osquery/syslog_pipe
 "2017-04-27T14:42:33+00:00", "ubuntu", "6", "auth", "sshd", "Accepted password for root from 117.227.81.214 port 61849 ssh2"
 "2017-04-27T14:42:33+00:00", "ubuntu", "6", "authpriv", "sshd", "pam_unix(sshd:session): session opened for user root by (uid=0)"
 "2017-04-27T14:42:41+00:00", "ubuntu", "5", "local3", "osqueryi", "severity=0 location=options.cpp:61 message=Verbose logging enabled by config option"
 ...................................
 ...................................

Mulai shell interaktif OSQUERY.

# osqueryi
I0427 14:32:07.981422  3730 options.cpp:61] Verbose logging enabled by config option
I0427 14:32:08.085734  3730 syslog.cpp:97] Successfully opened pipe for syslog ingestion: /var/osquery/syslog_pipe
I0427 14:32:08.101172  3730 file_events.cpp:68] Added file event listener to: /etc/**
....................
I0427 14:32:08.101784  3730 audit.cpp:226] Adding audit rule: syscall=59 action=2 filter=''
....................
I0427 14:32:08.278990  3737 events.cpp:749] Starting event publisher run loop: syslog
I0427 14:32:08.279242  3736 events.cpp:749] Starting event publisher run loop: inotify
I0427 14:32:08.279353  3735 events.cpp:749] Starting event publisher run loop: audit

osquery>

Sekarang kueri tabel syslog.

osqueryi> select * from syslog;

Query di atas akan menampilkan syslogs yang digunakan oleh osquery melalui pipa bernama /var/osquery/syslog_pipe

4. Deteksi ancaman dan DFIR melalui OSQUERYi

Di bagian ini, kita akan menjelajahi beberapa pemeriksaan keamanan dasar melalui shell interaktif osquery.

a) Jalankan kueri berikut untuk menemukan siapa pengguna yang masuk ke sistem sekarang.

osquery> select * from logged_in_users ;

b) Temukan semua login sebelumnya

osquery> select * from last ;

c) Untuk menemukan aturan firewall, jalankan kueri berikut. Jika kueri berikut tidak menghasilkan keluaran apa pun, itu berarti firewall tidak dikonfigurasi.

osquery> select * from iptables ;

d) Untuk menemukan semua pekerjaan yang dijadwalkan oleh crontab, jalankan kueri berikut. Dengan kueri ini, Anda dapat menemukan apakah ada malware yang telah dijadwalkan untuk berjalan pada interval tertentu.

osquery> select command, path from crontab ;

e) Temukan file yang diaktifkan dengan setuid. Secara default beberapa file diaktifkan dengan setuid di Ubuntu 16 tetapi selain ini, file lain apa yang diaktifkan dengan setuid. Ini akan membantu mendeteksi biner backdoor.

osquery> select * from suid_bin ;

f) Temukan daftar modul kernel yang dimuat.

osquery> select name, used_by, status from kernel_modules where status="Live" ;

g) Temukan semua port pendengar untuk memeriksa apakah ada pintu belakang ke sistem. Jika ada port terbuka yang belum Anda konfigurasikan, Anda mungkin perlu memeriksa proses yang membuka port ini.

osquery> select * from listening_ports ;

h) Temukan aktivitas file di server bersama dengan pengguna yang bertanggung jawab dengan menjalankan kueri berikut.

osquery> select * from  file_events ;

i) Temukan 10 proses terbesar berdasarkan ukuran memori tetap.

osquery> select pid, name, uid, resident_size from processes order by resident_size desc limit 10;

j) Temukan semua proses yang sedang berjalan.

osquery> select * from processes;

k) Temukan jumlah proses, nama untuk 10 proses paling aktif teratas.

osquery> select count(pid) as total, name from processes group by name order by total desc limit 10;

l) Umumnya, Malware akan mendengarkan port dan meneruskan shell terbalik ke penyerang. Jalankan kueri berikut dan temukan perbedaannya dengan status aman yang diketahui sebelumnya dari sistem Anda.

osquery> SELECT DISTINCT process.name, listening.port, listening.address, process.pid FROM processes AS process JOIN listening_ports AS listening ON process.pid = listening.pid;

m) Seringkali penyerang akan menghapus file biner berbahaya setelah menjalankannya di sistem. Untuk menemukan proses seperti itu, jalankan kueri berikut.

osquery>  SELECT name, path, pid FROM processes WHERE on_disk = 0;

n) Jalankan kueri berikut untuk menemukan apakah ada bash reverse shell yang diteruskan ke penyerang.

osquery> SELECT * FROM processes WHERE cmdline LIKE '/bin/bash -i >& /dev/tcp/%';

5. OSQUERY dalam mode daemon

Seperti yang telah kita lihat, OSQUERY akan mengembalikan hasil status OS secara real time yang dapat ditanyakan pada tahap selanjutnya. Tetapi tidak mungkin menjalankan kueri sepanjang waktu untuk deteksi ancaman. Selain itu, OSQUERY juga tidak menyertakan mekanisme peringatan apa pun. Solusinya adalah menjalankan OSQUERY sebagai daemon yang akan menjalankan kueri terjadwal dan paket yang disertakan dalam file konfigurasi secara berkala dan menulis hasilnya dalam file. Buat paket Anda sendiri di dalam /usr/share/osquery/packs dan sertakan paket untuk pemantauan dalam file konfigurasi OSQUERY. Hasil dari kueri dan paket terjadwal ditulis dalam file /var/log/osquery/osqueryd.results.log File log ini akan dibuat hanya ketika OSQUERY dimulai sebagai mode daemon dan OSQUERYD mulai mengirimkan hasilnya. Daemon OSQUERY akan membaca file konfigurasi yang sama /etc/osquery/osquery.conf. Ingatlah untuk mengembalikan nilai logger_plugin ke sistem file di /etc/osquery/osquery.conf jika Anda telah mengubahnya sebelumnya menjadi 'syslog'.

Untuk memulai daemon, gunakan salah satu dari perintah berikut.

# sudo systemctl start osqueryd
       OR
# sudo osqueryctl start

Hasilnya akan tersedia dalam waktu singkat setelah OSQUERYD menjalankan kueri dan paket terjadwal. Gunakan perintah tail untuk memverifikasi bahwa hasil ditulis ke file /var/log/osquery/osqueryd.results.log

# tail -f  /var/log/osquery/osqueryd.results.log

Sekarang Anda dapat meneruskan log hasil ke aplikasi eksternal seperti tumpukan ELK untuk analisis log dan pembuatan peringatan.

Kesimpulan

OSQUERY adalah alat luar biasa yang memaparkan data OS ke database relasional virtual dan memungkinkan Anda untuk menanyakan data sistem dengan SQL. osqueryi berguna untuk menjalankan satu kueri untuk menemukan pintu belakang, malware, proses zombie atau mengetahui pengguna yang masuk, dll. sementara osqueryd dapat digunakan untuk menjalankan kueri terjadwal dan paket khusus untuk menyimpan hasil untuk jangka panjang dan pembuatan peringatan menggunakan aplikasi eksternal.


Ubuntu
  1. Cara Mengatur HAProxy di Ubuntu 16.04

  2. Cara Mengatur Firewall UFW di Ubuntu 18.04

  3. Cara Memasang Monitor Keamanan Jaringan Bro di Ubuntu 16.04 LTS

  1. Cara Menambahkan File Swap Di Ubuntu

  2. Cara Memantau Keamanan Server Linux dengan Osquery

  3. Cara menginstal g ++ di Ubuntu

  1. Cara Mengubah Nama Host di Ubuntu 18.04

  2. Cara Mengatur dan Mengaktifkan Pembaruan Keamanan Otomatis di Ubuntu

  3. Cara menghapus file di Ubuntu Linux