溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用OSQUERY作為HIDS檢測系統(tǒng)異常

發(fā)布時(shí)間:2020-02-28 12:17:07 來源:網(wǎng)絡(luò) 閱讀:1033 作者:mb5cd8060c9d8e2 欄目:安全技術(shù)

使用OSQUERY作為HIDS檢測系統(tǒng)異常
一 ? 簡介
osquery 是facebook開源的查詢、監(jiān)控系統(tǒng)的軟件,官網(wǎng)https://osquery.io
osquery經(jīng)常用到的命令有osqueyi及osqueryd。
osqueryi?是 osquery 的交互式shell。通過它可以像查詢SQL一樣查詢系統(tǒng)信息。比如查詢內(nèi)核模塊:
使用OSQUERY作為HIDS檢測系統(tǒng)異常
osqueryd是主機(jī)監(jiān)控守護(hù)進(jìn)程。生產(chǎn)通常使用這種方式。
使用OSQUERY作為HIDS檢測系統(tǒng)異常

二 osquery 配置概要
1 ?osquery表,osquery內(nèi)置了很多表,通過這些表可以查詢到系統(tǒng)信息。
簡單列舉了幾個(gè)表并標(biāo)明作用
? ? arp_cache ?系統(tǒng)arp緩存
? ? file_events ?監(jiān)控目錄下文件變化
? ? kernel_modules ?顯示內(nèi)核模塊
? ? last ?顯示登錄成功的用戶
? ? load_average ?當(dāng)前系統(tǒng)負(fù)載
? ? users ?列出所有用戶
? ? processes ?列出所有進(jìn)程
? ? listening_ports ?當(dāng)前監(jiān)聽端口
? ? process_open_sockets 網(wǎng)絡(luò)連接
下圖顯示通過osqueryi交互式shell查詢arp緩存、系統(tǒng)當(dāng)前負(fù)載、系統(tǒng)當(dāng)前監(jiān)聽端口。
使用OSQUERY作為HIDS檢測系統(tǒng)異常
使用OSQUERY作為HIDS檢測系統(tǒng)異常
使用OSQUERY作為HIDS檢測系統(tǒng)異常

如果要查詢所有表,可以通過osqueryi交互shell下的 .table 查詢

2 配置
?linux通過官網(wǎng)rpm包安裝的osquery的配置默認(rèn)位置是:/etc/osquery/osquery.conf
配置格式是json格式,下面是一個(gè)配置示例:
{
? "options": {
? ? "config_plugin": "filesystem",
? ? "logger_plugin": "filesystem",
? ? "logger_path": "/var/log/osquery",
? ? "pidfile": "/var/osquery/osquery.pidfile",
? ? "worker_threads": "10",
? ? "enable_monitor": "true"
? },
? "schedule": {
?"system_info": {
? ? "query": "SELECT hostname, cpu_brand, physical_memory FROM system_info;",
? ? "interval": 3600
? }
? },
? ?"packs": {
? ? ?"secrity": "/etc/osquery/secrity.conf",
? ? ?"file":"/etc/osquery/file.conf"
? ? }
}
其中 Options
設(shè)置osquery daemon的一些配置,日志產(chǎn)生路徑、線程、使用內(nèi)存限制等。
Schedule
設(shè)置定時(shí)任務(wù)
Packs
packs可以看做是一系列schedule的集合。

3?文件監(jiān)控,文件監(jiān)控主要分兩部分。1 配置監(jiān)控目錄 , 2 查詢file_event表。
下面是一個(gè)每300秒查詢一次file_event表監(jiān)控目錄是/root、/home目錄下的文件的示例。/root或/home/目錄下的文件發(fā)生變化會(huì)在300秒內(nèi)告警。
{
? "schedule": {
? ? "file_events": {
? ? ? "query": "SELECT * FROM file_events;",
? ? ? "removed": false,
? ? ? "interval": 300
? ? }
? },
? "file_paths": {
? ? "homes": [
? ? ? "/root/%%",
? ? ? "/home/%%"
? ? ]
? }
}

4 遠(yuǎn)程配置。
? 遠(yuǎn)程配置分兩步。 1 向服務(wù)器發(fā)送主機(jī)信息,注冊主機(jī)。 2 從服務(wù)器獲取配置。
--enroll_secret_path=/etc/osquery/server.pass
--tls_server_certs=/etc/osquery/server.pem
--tls_hostname=11.0.16.118:443
--host_identifier=hostname
--enroll_tls_endpoint=/enroll
--config_plugin=tls
--config_tls_endpoint=/config
--config_tls_refresh=86400

--enroll_secret_path 注冊主機(jī)時(shí)需要將一個(gè)秘鑰發(fā)送給服務(wù)器端。
--tls_server_certs 使用遠(yuǎn)程配置時(shí),必須使用https協(xié)議。 這里配置的是https站點(diǎn)的公鑰。 ??
--tls_hostname ?遠(yuǎn)程
--host_identifier=hostname ? 注冊主機(jī)時(shí)會(huì)將hostname發(fā)送給服務(wù)端
--enroll_tls_endpoint ? ?通過tls獲取注冊主機(jī)的URL
--config_plugin ? 設(shè)置config方式
--config_tls_endpoint 通過tls獲取配置時(shí)URL
--config_tls_refresh ? ?間隔多少秒會(huì)重新獲取配置。

三 ?安裝
1 本次安裝通過本地配置、日志也記錄到本地達(dá)成以下目標(biāo):進(jìn)程監(jiān)控:比如ls這種執(zhí)行時(shí)間特別短的進(jìn)程也需要有日志。
網(wǎng)絡(luò)監(jiān)控:服務(wù)器主動(dòng)發(fā)起連接其他主機(jī)的都需要監(jiān)控。
主機(jī)arp緩存:主機(jī)arp緩存發(fā)生變化有告警。
文件監(jiān)控:指定目錄內(nèi)文件發(fā)生變化告警。
用戶新增監(jiān)控:添加用戶告警。
用戶組新增監(jiān)控:添加用戶組告警。
用戶密碼修改監(jiān)控:用戶修改密碼告警。
用戶登錄成功監(jiān)控:用戶登錄成功告警。

2.1 下載
? ?wget?https://pkg.osquery.io/rpm/osquery-4.0.2-1.linux.x86_64.rpm

2.2 下載完成之后安裝?
?rpm -ivh osquery-4.0.2-1.linux.x86_64.rpm

2.3 修改配置文件。
osquery.conf 如下:
{
? "options": {
? ? "config_plugin": "filesystem",
? ? "logger_plugin": "filesystem",
? ? "logger_path": "/var/log/osquery",
? ? "pidfile": "/var/osquery/osquery.pidfile",
? ? "worker_threads": "10",
? ? "enable_monitor": "true"
? },
? "schedule": {
? },
? ?"packs": {
? ? ?"secrity": "/etc/osquery/secrity.conf",
? ? ?"file":"/etc/osquery/file.conf"
? ? }
}
osquery.flags文件:
--disable_audit=false
--audit_allow_config=true
--audit_allow_process_events=true
--audit_allow_sockets=true
--audit_persist=true
--disable_events=false
--events_max=50000
secrity.conf文件:
{
"queries": {
"processes_events": {
"query" : "SELECT FROM process_events;",
"interval" : 5,
"removed": false
},
"socket_event": {
"query" : "select
from socket_events where family=2 and remote_address !='0.0.0.0';",
"interval" : 5,
"removed": false
},
"arp_cache": {
"query" : "SELECT FROM arp_cache;",
"interval" : 5,
"removed": false
},
"file_event": {
"query" : "SELECT
FROM file_events;",
"interval" : 5,
"removed": false
},
"users": {
"query" : "SELECT FROM users;",
"interval" : 5,
"removed": false
},
"groups": {
"query" : "SELECT
FROM groups;",
"interval" : 5,
"removed": false
},
"shadow": {
"query" : "SELECT FROM shadow;",
"interval" : 5,
"removed": false
},
"last": {
"query" : "SELECT
FROM last;",
"interval" : 5,
"removed": false
}
}
}

file.conf文件:
{
"file_paths": {
? ? "homes": [
? ? ? "/root/%%",
? ? ? "/home/%%"
? ? ],
? ? "tmp": [
? ? ? "/tmp/%%"
? ? ]
? }
}
2.4 檢查配置是否有問題。osqueryctl config-check ??
使用OSQUERY作為HIDS檢測系統(tǒng)異常
2.5 啟動(dòng)osquery :systemctl start osqueryd
使用OSQUERY作為HIDS檢測系統(tǒng)異常
2.6 觀察告警是否正常
可以看到pack_secrity_processes_events、pack_secrity_socket_event、pack_secrity_arp_cache等都可以正常告警。
使用OSQUERY作為HIDS檢測系統(tǒng)異常

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI