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

使用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是主機監(jiān)控守護進程。生產(chǎn)通常使用這種方式。
使用OSQUERY作為HIDS檢測系統(tǒng)異常

我們提供的服務有:成都做網(wǎng)站、網(wǎng)站設計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、聶拉木ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的聶拉木網(wǎng)站制作公司

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

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

2 配置
?linux通過官網(wǎng)rpm包安裝的osquery的配置默認位置是:/etc/osquery/osquery.conf
配置格式是json格式,下面是一個配置示例:
{
? "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
設置osquery daemon的一些配置,日志產(chǎn)生路徑、線程、使用內(nèi)存限制等。
Schedule
設置定時任務
Packs
packs可以看做是一系列schedule的集合。

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

4 遠程配置。
? 遠程配置分兩步。 1 向服務器發(fā)送主機信息,注冊主機。 2 從服務器獲取配置。
--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 注冊主機時需要將一個秘鑰發(fā)送給服務器端。
--tls_server_certs 使用遠程配置時,必須使用https協(xié)議。 這里配置的是https站點的公鑰。 ??
--tls_hostname ?遠程
--host_identifier=hostname ? 注冊主機時會將hostname發(fā)送給服務端
--enroll_tls_endpoint ? ?通過tls獲取注冊主機的URL
--config_plugin ? 設置config方式
--config_tls_endpoint 通過tls獲取配置時URL
--config_tls_refresh ? ?間隔多少秒會重新獲取配置。

三 ?安裝
1 本次安裝通過本地配置、日志也記錄到本地達成以下目標:進程監(jiān)控:比如ls這種執(zhí)行時間特別短的進程也需要有日志。
網(wǎng)絡監(jiān)控:服務器主動發(fā)起連接其他主機的都需要監(jiān)控。
主機arp緩存:主機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 啟動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)異常

分享名稱:使用OSQUERY作為HIDS檢測系統(tǒng)異常
瀏覽地址:http://muchs.cn/article16/pgosdg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、標簽優(yōu)化、網(wǎng)站策劃微信小程序、定制開發(fā)、虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)