Salah satu dari evolusi teknologi adalah pembuatan osQuery , yang digunakan untuk Query information pada system yang ada pada datacenter. Query ini memungkinkan mengekspose operating system menggunakan High Performance database yang mana dapat di Query dengan SQL-base.
Utility ini dapat diinstall pada OS Linux , Windows dan menggunakan Admin account untukmendapatkan semua informasi yang dibutuhkan dari server ( Profile Performance , Security dan lain-lainya ).
Contoh ini akan menggunakan OS Linux Ubuntu 18.04.
Setelah Linux di Install , jalankan perintah sbb :
sudo apt-get update
sudo apt-get upgrade
Install OSQuery
export OSQUERY_KEY=1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $OSQUERY_KEY
sudo add-apt-repository 'deb [arch=amd64] https://pkg.osquery.io/deb deb main'
sudo apt-get install osquery -y
Configure OSQuery
Pertama kita lakukan adalah memberikan OSQuery dapat mengakses syslog , agar bisa dilakukan kita harus install rsyslog dengan cara sbb :
sudo apt-get install rsyslog -y
Berikutnya buat konfigurasi baru sbb :
sudo nano /etc/rsyslog.d/osquery.conf
Dan tambahkan informasi berikut ini didalam config yang baru .
template(
name="OsqueryCsvFormat"
type="string"
string="%timestamp:::date-rfc3339,csv%,%hostname:::csv%,%syslogseverity:::csv%,%syslogfacility-text:::csv%,%syslogtag:::csv%,%msg:::csv%\n"
)
*.* action(type="ompipe" Pipe="/var/osquery/syslog_pipe" template="OsqueryCsvFormat")
Simpan file tersebut dan exit.
Kemudian kita buat Custom OSQuery config dengan perintah sbb :
sudo nano /etc/osquery/osquery.conf
Lalu tambahkan config tersebut dengan informasi dibawah 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": "false",
"worker_threads": "2",
"enable_monitor": "true",
"disable_events": "false",
"disable_audit": "false",
"audit_allow_config": "true",
"host_identifier": "hakase-labs",
"enable_syslog": "true",
"syslog_pipe_path": "/var/osquery/syslog_pipe",
"force": "true",
"audit_allow_sockets": "true",
"schedule_default_interval": "3600"
},
"schedule": {
"crontab": {
"query": "SELECT * FROM crontab;",
"interval": 300
},
"system_info": {
"query": "SELECT hostname, cpu_brand, physical_memory FROM system_info;",
"interval": 3600
},
"ssh_login": {
"query": "SELECT username, time, host FROM last WHERE type=7",
"interval": 360
}
},
"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": {
"osquery-monitoring": "/usr/share/osquery/packs/osquery-monitoring.conf"
}
}
Kemudian Save dan close file tersebut.
Lanjutkan dengan menghidupkan service OSQuery dengan perintah sbb :
sudo systemctl start osqueryd
sudo systemctl enable osqueryd
Restart rsyslog dengan perintah sbb :
sudo systemctl restart rsyslog
Penggunaan dasar OSQuery
Untuk mengakses interaktif Query Shell , jalankan perintah dibawah ini :
osqueryi
Untuk melihat Schema System Info , jalankan perintah sbb :
.schema system_info
Untuk melihat informasi secara actual , jalankan perintah sbb :
SELECT * FROM system_info;
Informasi yang ditampilkan sangat banyak , walau begitu kita bisa melihat informasi secara spesifik ( informasi CPU ) dengan perintah sbb :
SELECT cpu_type, cpu_physical_cores, cpu_logical_cores, cpu_microcode FROM system_info;
Untuk melihat kernel info , jalankan perintah sbb :
SELECT * FROM kernel_info;
Demikian sebagian informasi yang bisa didapatkan dengan menggunakan OSQuery , silakan baca manual untuk lebih detailnya.