wazhu之agent功能詳解
一、日誌資料收集
日誌資料收集是從伺服器或裝置生成的記錄中收集的實時過程。此元件可以通過文字檔案或Windows事件日誌接收日誌。它還可以通過遠端syslog直接接收日誌,這對防火牆和其他此類裝置非常有用。
此過程的目的是識別應用程式或系統程式錯誤,配置錯誤,入侵威脅,觸發策略或安全問題。
Wazuh aegnt 的記憶體和CPU要求是,因為它的非常低的,主要作用是將事件轉發給管理器。但是,在Wazuh管理器上,CPU和記憶體消耗可能會迅速增加,具體取決於管理器每秒事件數分析數量(EPS)。
1.處理流程
下圖說明了事件的處理流程:
2.日誌收集
2.1 日誌檔案
可以將日誌分析引擎配置為監控伺服器上的特定檔案
示例配置:
Linux:
<localfile>
<location>/var/log/example.log</location>
<log_format>syslog</log_format>
</localfile>
windows:
<localfile>
<location>C:\myapp\example.log</location>
<log_format>syslog</log_format>
</localfile>
2.2Windows事件日誌
Wazuh可以監控典型的Windows事件日誌以及較新的Windows事件通道
示例配置:
事件日誌:
<localfile>
<location>Security</location>
<log_format>eventlog</log_format>
</localfile>
事件通道:
<localfile>
<location>Microsoft-Windows-PrintService/Operational</location>
<log_format>eventchannel</log_format>
</localfile>
2.3 遠端系統日誌
例如,在其他裝置(如防火牆)上,可以將代理日誌分析元件配置為通過syslog接收日誌事件。
示例配置:
<ossec_config>
<remote>
<connection>syslog</connection>
<allowed-ips>192.168.2.0/24</allowed-ips>
</remote>
<ossec_config>
<connection>syslog</connection>
表示管理器將接受來自網路的傳入的系統日誌資訊,<allowed-ips>192.168.2.0/24</allowed-ips>表示
定義將接受系統日誌資訊的網路範圍。
記錄示例:
2016-03-15T15:22:10.078830+01:00 tron su:pam_unix(su-l:auth):authentication failure;logname=tm uid=500 euid=0 tty=pts/0 ruser=tm rhost= user=root
1265939281.764 1 172.16.167.228 TCP_DENIED /403 734 POST http://lbcore1.metacafe.com/test/SystemInfoManager.php - NONE/- text/html
[Sun Mar 06 08:52:16 2016] [error] [client 187.172.181.57] Invalid URI in request GET: index.php HTTP/1.0
3.分析
3.1 預解碼
在分析的預解碼階段,來自大多數靜態資訊的欄位都是從日誌中提取的。
Feb1412:19:04localhostsshd[25474]:Acceptedpasswordforrromerofrom192.168.1.133port49765ssh2- 提取的資訊:
-
- 主機名:'localhost'
- 應用名:'sshd'
3.2 解碼
在解碼階段,評估日誌資訊以識別它是什麼型別的日誌,然後提取該特定日誌型別的已知欄位。
示例日誌及其提取的資訊:
Feb 14 12:19:04 localhost sshd[25474]: Accepted password for rromero from 192.168.1.133 port 49765 ssh2
- 提取的資訊:
-
- 應用名:sshd
- 關鍵字:rromero
- 源IP:192.168.1.133
3.3 規則匹配
在下一階段,將提取的日誌資訊與規則集進行比較以查詢匹配項:
對於前面的示例,規則5715匹配:
<rule id="5715" level="3"> <if_sid>5700</if_sid> <match>^Accepted|authenticated.$</match> <description>sshd: authentication success.</description> <group>authentication_success,pci_dss_10.2.5,</group> </rule>
注意:有關更多資訊,請參閱Wazuh規則集
3.4 告警
匹配規則後,管理器將建立如下告警:
** Alert 1487103546.21448: - syslog,sshd,authentication_success,pci_dss_10.2.5,
2017 Feb 14 12:19:06 localhost->/var/log/secure
Rule: 5715 (level 3) -> 'sshd: authentication success.'
Src IP: 192.168.1.133
User: rromero
Feb 14 12:19:04 localhost sshd[25474]: Accepted password for rromero from 192.168.1.133 port 49765 ssh2
預設情況下,將在重要或安全相關的事件上生成告警。要儲存所有事件,即使它們與規則不匹配,請啟用該<log_all>
選項。
告警將儲存在/var/ossec/logs/alerts/alerts.(json|log)
和事件儲存在/var/ossec/logs/archives/archives.(json|log)
。系統會自動為每個月和每年建立單個目錄。
注意:預設情況下,不會自動刪除儲存日誌。您可以根據自己的當地法律和法規要求選擇何時手動或自動(例如cron計劃任務自動刪除)刪除日誌。
4.配置
4.1基本用法
日誌資料收集主要對ossec.conf檔案中的localfile,remote和global進行配置。還可以在agent.conf檔案中完成日誌資料收集的配置,以將這些設定的集中分發到相關代理上。
與此基本用法示例一樣,需要提供要監控的檔名稱和格式:
<localfile>
<location>/var/log/messages</location>
<log_format>syslog</log_format>
</localfile>
4.2 使用檔名的正則表示式監控日誌
Wazuh支援posix正則表示式。例如,要分析以/var/log
目錄中的.log結尾的每個檔案,請使用以下配置:
<localfile>
<location>/var/log/*.log</location>
<log_format>syslog</log_format>
</localfile>
4.3 基於日期的日誌監控
對於根據日期更改的日誌檔案,您還可以指定strftime格式來自定義日,月,年等。例如,要監控日誌檔案,例如C:\Windows\app\log-08-12-15.log
,其中08是年份,12是月份,15是當月天數(並且每天自動增加),配置如下:
<localfile>
<location>C:\Windows\app\log-%y-%m-%d.log</location>
<log_format>syslog</log_format>
</localfile>
4.4 從Windows事件日誌中讀取日誌
要監控Windows事件日誌,您需要提供格式為“eventlog”,並將location引數作為事件日誌的名稱
<localfile>
<location>Security</location>
<log_format>eventlog</log_format>
</localfile>
4.5 從Windows事件通道中讀取事件
您還可以監控特定的Windows事件通道。該location是事件通道的名稱。這是監控應用程式和服務日誌的唯一方法。如果檔名包含“%”,請將其替換為“/”:
<localfile>
<location>Microsoft-Windows-PrintService/Operational</location>
<log_format>eventchannel</log_format>
</localfile>
通過event channel
新的事件資料處理,Wazuh v3.8.0增強了日誌格式,保留了舊的功能和配置。它允許監控任何Windows代理生成的每個事件,以JSON格式顯示每個通道的資訊。作為舊的event channel,使用此log_format可以查詢通道,按事件ID,程序,登入型別或生成的事件中包含的任何其他欄位進行過濾,從而可以檢索所需的事件。
這個新功能使用JSON解碼器處理事件欄位,確保比以前更容易新增新方法的規則。Wazuh規則集中包含的預設通道是應用程式,安全性,系統,Microsoft-Windows-Sysmon / Operational,Microsoft反惡意軟體(Microsoft Security Essentials),Microsoft-Windows-Windows Defender / Operational和Microsoft-Windows-Eventlog。
Windows事件通道中的一些示例事件顯示如下:
4.6 使用查詢過濾Windows事件通道中的事件
Windows事件通道中的事件可以按如下方式過濾:
<localfile>
<location>System</location>
<log_format>eventchannel</log_format>
<query>Event/System[EventID=7040]</query>
</localfile>
4.7 使用環境變數
像環境變數一樣%WinDir%
可以在location中使用。以下是從IIS伺服器讀取日誌的示例:
<localfile>
<location>%WinDir%\System32\LogFiles\W3SVC3\ex%y%m%d.log</location>
<log_format>iis</log_format>
</localfile>
4.8 使用多個輸出
預設情況下,日誌資料通過agent socket傳送,但也可以將其他agent socket指定為輸出。ossec-logcollector
使用UNIX型別socket 進行通訊,允許TCP或UDP協議。要新增新的outputsocket,我們需要使用<socket>標記來指定
,如下示例配置:
<socket>
<name>custom_socket</name>
<location>/var/run/custom.sock</location>
<mode>tcp</mode>
<prefix>custom_syslog: </prefix>
</socket>
<socket>
<name>test_socket</name>
<location>/var/run/test.sock</location>
</socket>
注意:有關定義socket的更多資訊::socket
定義socket後,可以為每個location新增目標socket:
<localfile>
<log_format>syslog</log_format>
<location>/var/log/messages</location>
<target>agent,test_socket</target>
</localfile>
<localfile>
<log_format>syslog</log_format>
<location>/var/log/messages</location>
<target>custom_socket,test_socket</target>
</localfile>
注意:要將輸出保持為預設socket,我們需要使用“agent”作為目標來指定它。否則,輸出將僅重定向到指定的目標。
5.常規問題
5.1 是否有必要在每個代理上分析日誌?
不,管理器從所有代理獲取日誌,然後分析資訊。
管理器多久監控一次日誌?
管理器實時監控日誌。
日誌儲存在伺服器上多長時間?
預設情況下,不會自動刪除儲存日誌。但是,您可以根據當地的法律和法規要求選擇何時手動或自動(例如cron計劃任務自動刪除)刪除日誌。
這如何幫助進行合規性?
日誌分析符合標準:PCI DSS合規性,HIPAA合規性,FISMA合規性和SOX合規性。
代理上的CPU使用率是多少?
Wazuh代理的記憶體和CPU要求是非常低的,因為它的主要職責是將事件轉發給管理器。但是,在Wazuh管理器上,CPU和記憶體消耗可能會迅速增加,具體取決於管理器每秒出來實際的數量(EPS)。
Wazuh從哪裡可以獲得日誌資訊?
Wazuh可以從文字日誌檔案,Windows事件日誌和事件通道以及遠端syslog中讀取日誌訊息。日誌實時監控。
可以向Wazuh傳送防火牆,VPN,身份驗證日誌嗎?
可以。Wazuh能夠從使用syslog協議傳送日誌的裝置接收和處理日誌。您可以為特定裝置的日誌建立自定義解碼器和規則。
Wazuh可以從日誌中提取哪些資訊?
這取決於您的需求。一旦瞭解了應用程式日誌的格式和典型事件,就可以為它們建立解碼器和規則。
我可以忽略那些不重要的事件?
您可以配置規則以忽略您認為不重要的某些事件。有關更多資訊,請參閱:自定義規則
二、檔案完整性監控
Wazuh的檔案完整性監控(FIM)系統所選檔案,在修改這些檔案時觸發告警。負責此任務的元件稱為syscheck。此元件儲存加密校驗以及已知正常檔案或Windows登錄檔項的修改監控,並定期將其與系統使用的當前檔案進行比較,以檢視更改。
1.處理流程- Wazuh代理掃描系統並將對監視檔案和Windows登錄檔項的校驗和以及屬性發送給Wazuh管理器。以下選項是可配置的:
2.Wazuh管理器儲存受監視檔案的校驗和以及屬性,並通過將新值與舊值進行比較來查詢修改。 3.只要在受監視的檔案或登錄檔項中檢測到修改,就會生成告警。可以使用ignore配置選項或通過建立列出要從FIM告警中排除的檔案的規則來解決誤報。 由FIM生成告警示例:
- 頻率:預設情況下,syscheck每12小時執行一次。
- 實時監控:Wazuh支援在執行Windows或Linux的伺服器上進行實時檔案完整性監控(Solaris不支援Inotify,因此不適用於此系統)。請注意,實時選項只能用於目錄而不能用於單個檔案。
- Whodata:此功能與實時功能類似,另外還提供有關誰觸發事件的資訊。
** Alert 1540815355.847397: - ossec,syscheck,pci_dss_11.5,gpg13_4.11,gdpr_II_5.1.f, 2018 Oct 29 13:15:55 (ubuntu) 10.0.0.144->syscheck Rule: 550 (level 7) -> 'Integrity checksum changed.' File '/test/hello' checksum changed. Old md5sum was: '2a4732b1de5db823e94d662d207b8fb2' New md5sum is : '146c07ef2479cedcd54c7c2af5cf3a80' Old sha1sum was: 'b89f4786dcf00fb1c4ddc6ad282ca0feb3e18e1b' New sha1sum is : 'e1efc99729beb17560e02d1f5c15a42a985fe42c' Old sha256sum was: 'a8a3ea3ddbea6b521e4c0e8f2cca8405e75c042b2a7ed848baaa03e867355bc2' New sha256sum is : 'a7998f247bd965694ff227fa325c81169a07471a8b6808d3e002a486c4e65975' Old modification time was: 'Mon Oct 29 13:15:19 2018', now it is 'Mon Oct 29 13:15:54 2018' (Audit) User: 'root (0)' (Audit) Login user: 'test (1000)' (Audit) Effective user: 'root (0)' (Audit) Group: 'root (0)' (Audit) Process id: '26089' (Audit) Process name: '/bin/nano' Attributes: - Size: 4 - Permissions: 100644 - Date: Mon Oct 29 13:15:54 2018 - Inode: 537259 - User: root (0) - Group: root (0) - MD5: 146c07ef2479cedcd54c7c2af5cf3a80 - SHA1: e1efc99729beb17560e02d1f5c15a42a985fe42c - SHA256: a7998f247bd965694ff227fa325c81169a07471a8b6808d3e002a486c4e65975
2.配置
2.1 基本用法
Syscheck在ossec.conf檔案中配置。通常,此配置使用以下部分設定:
有關詳細的配置選項,請轉至Syscheck。
要配置syscheck,必須標識指定檔案和目錄列表。該
check_all
選項檢查檔案大小,許可權,所有者,上次修改日期,inode和所有雜湊值(MD5,SHA1和SHA256)。注意:如果目錄路徑相同,則從集中配置推送的目錄將覆蓋ossec.conf檔案。
<syscheck> <directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories> <directories check_all="yes">/root/users.txt,/bsd,/root/db.html</directories> </syscheck>
2.2 配置預定掃描
Syscheck可以選擇配置
frequency
系統掃描。在此示例中,syscheck配置為每10小時執行一次。<syscheck> <frequency>36000</frequency> <directories>/etc,/usr/bin,/usr/sbin</directories> <directories>/bin,/sbin</directories> </syscheck>
2.3 配置實時監控
使用
realtime
選項配置實時監控。此選項僅適用於目錄而不適用於單個檔案。在定期syscheck掃描期間暫停實時更改檢測,並在這些掃描完成後立即重新啟用。<syscheck> <directories check_all="yes" realtime="yes">c:/tmp</directories> </syscheck>
2.4 配置who-data監控
版本3.4.0中的新功能。
使用
whodata
選項配置who-data監控。此選項代替了realtime
選項,這意味著whodata進行
實時監控,但添加了who-data資訊。此功能使用Linux Audit子系統和Microsoft Windows SACL,因此可能需要其他配置。檢查稽核who-data以獲取更多資訊。<syscheck> <directories check_all="yes" whodata="yes">/etc</directories> </syscheck>
2.5 配置報告更改
使用report_changes選項,我們可以看到文字檔案中的具體更改。 請注意您設定為report_changes的資料夾,因為為了執行此操作,Wazuh會將您要監視的每個檔案複製到私有位置。
<syscheck> <directories check_all="yes" realtime="yes" report_changes="yes">/test</directories> </syscheck>
2.6 配置忽略檔案
使用ignore選項(Windows登錄檔項的registry_ignore)可以忽略檔案和目錄。為了避免誤報,可以將syscheck配置為忽略某些不需要監視的檔案。
<syscheck> <ignore>/etc/random-seed</ignore> <ignore>/root/dir</ignore> <ignore type="sregex">.log$|.tmp</ignore> </syscheck>2.7 配置允許最大等級級別
版本3.6.0中的新功能。
通過設定
recursion_level
選項,可以配置特定目錄允許的最大等級級別。此選項必須是0到320之間的整數。使用示例:<syscheck> <directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories> <directories check_all="yes">/root/users.txt,/bsd,/root/db.html</directories> <directories check_all="yes" recursion_level="3">folder_test</directories> </syscheck>
使用以下目錄結構和
folder_test├──file_0.txt└──level_1├──file_1.txt└──level_2├──file_2.txt└──level_3├──file_3.txt└──level_4├──file_4.txt└──level_5└──file_5.txtrecursion_level="3"
:我們將收到所有檔案的告警(
folder_test/level_1/level_2/level_3/),
但我們不會從其他目錄中收到level_3警報
。如果我們不想要任何遞等級(只是從受監視資料夾中的檔案獲取警報),我們必須設定
recursion_level
為0。注意:如果recursion_level未指定,則它會被設定為自定義的預設值,syscheck.default_max_depth中內部選配置檔案。
2.8 通過規則忽略檔案
也可以使用規則忽略檔案,如下例所示:
<rule id="100345" level="0"> <if_group>syscheck</if_group> <match>/var/www/htdocs</match> <description>Ignore changes to /var/www/htdocs</description> </rule>
2.9 更改重要性
使用自定義規則,可以在檢測到對特定檔案或檔案格式的更改觸發警告的等級級別
<rule id="100345" level="12"> <if_group>syscheck</if_group> <match>/var/www/htdocs</match> <description>Changes to /var/www/htdocs - Critical file!</description> </rule>3.常規問題
3.1syscheck多久執行一次?
預設情況下,Syscheck每12小時執行一次,但掃描之間的間隔可以通過頻率選項由使用者定義。
3.2 代理上的CPU使用率是多少?
Syscheck掃描旨在緩慢執行以避免過多的CPU或記憶體使用。
3.3 所有校驗和儲存在哪裡?
FIM守護程式收集的資料將傳送給Analysisd,以分析是否應傳送告警。Analysisd向Wazuh-db傳送查詢並從該檔案中收集舊資料。當收到響應時,會將校驗和與代理髮送的字串進行比較,如果校驗和發生更改,我們會發送警報。
對於Wazuh 3.7.0,FIM解碼器與Wazuh-DB通訊並將所有資料儲存在SQL資料庫中。為每個代理建立一個DB,用於儲存與其相關的資訊。在每個資料庫上,我們都可以找到
fim_entry
包含FIM記錄的表。3.4 可以忽略目錄中的檔案嗎?
是的,您可以使用ignore選項來避免誤報。通過單擊ignore-false-positives檢視此配置的示例
3.5 Wazuh能否顯示文字檔案內容的變化?
是的,監控目錄時可以這樣做。使用該
report_changes
選項可以在受監視目錄中的文字檔案中提供已更改的準確內容。選擇使用資料夾report_changes監控
,因為這需要syscheck將您要監視的每個檔案複製report_changes內
進行比較。單擊報告更改,檢視此配置的示例
3.6 Wazuh如何驗證檔案的完整性?
Wazuh管理器儲存並查詢對從受監視檔案的代理程式接收的所有校驗和和檔案屬性的修改。然後,它將新的校驗和和屬性與儲存的校驗和和屬性進行比較,在檢測到更改時生成警報。
3.7 Wazuh預設監控任何目錄嗎?
是。預設情況下Wazuh 監控類似於Unix系統的
/etc
,/usr,/bin
,/usr,/sbin
,/bin目
和/sbin目錄以及Windows系統下的
C:\Windows\System32目錄
。3.8 可以強制立即進行syscheck掃描嗎?
是的,您可以強制代理執行系統完整性檢查:
/var/ossec/bin/agent_control -r -a /var/ossec/bin/agent_control -r -u <agent_id>
有關更多資訊,請參見Ossec控制部分。
3.9 當Wazuh執行時,Syscheck會立刻檢查?
預設情況下,syscheck會在Wazuh啟動時進行掃描,但是,可以使用scan_on_start選項更改此行為
3.10 Wazuh在建立新檔案時會發出警報嗎?
Wazuh可以在建立新檔案時傳送警報,但是,此配置選項需要由使用者設定。對此配置使用alert_new_files選項。
3.11 FIM如何管理其資料庫中的歷史記錄?
從Wazuh 3.7.0開始,FIM從資料庫中刪除歷史記錄。每個不再受監控的記錄都被編為歷史記錄。出於安全原因,在代理重新啟動3次後,將刪除資料庫。
3.12 如何將舊的DB資訊遷移到新的SQLite資料庫?
我們提供了一個將所有登錄檔遷移到新資料庫的工具。您可以在fim升級工具部分中檢視
三、稽核who-data
版本3.4.0中的新功能。
從版本3.4.0開始,Wazuh集成了一項新功能,可從受監控檔案中獲取who-data資訊。
此資訊包含對受監視檔案進行更改的使用者以及用於執行更改的程式名稱或過程。
1.稽核Linux中的who-data
1.1 工作原理
who-data監視功能使用Linux Audit子系統獲取有關在受監視目錄中進行更改的相關人的資訊。這些更改會生成由syscheck處理並報告給管理器的稽核事件。
1.2 配置
首先,我們需要檢查我們系統中是否安裝了Audit守護程式。
在基於RedHat的系統中,預設情況下通常安裝Auditd。如果沒有安裝,我們需要使用以下命令安裝它:
# yum install audit
對於基於Debian的系統,請使用以下命令:
# apt install auditd
下一步是配置syscheck,在
ossec.conf
檔案中的配置以啟用who-data監控:<syscheck> <directories check_all="yes" whodata="yes">/etc</directories> </syscheck>
新增此配置後,我們需要重新啟動Wazuh以應用更改。我們可以檢查是否應用了用於監視所選資料夾的稽核規則。要檢查這一點,我們需要執行以下命令
# auditctl -l | grep wazuh_fim
並檢查是否添加了規則
-w /etc -p wa -k wazuh_fim
當代理程式停止時,我們可以使用相同的命令檢查新增的規則是否已成功刪除。
1.3 告警欄位
啟用who-data時,FIM警報中會收到以下欄位:
(Audit) User 包括啟動修改受監視檔案的程序的使用者的標識和名稱。 audit.user.id
audit.user.name
(Audit) Login user 包括稽核使用者標識和名稱,即登入uid和登入名。此ID在登入時分配給使用者,即使使用者的身份發生更改,也會被每個程序繼承。 audit.login_user.id
audit.login_user.name
(Audit) Effective user 包括啟動修改受監視檔案的程序使用者的有效使用者標識和名稱。 audit.effective_user.id
audit.effective_user.name
(Audit) Group 包括啟動修改受監視檔案程序使用者的組ID和組名。 audit.group.id
audit.group.name
(Audit) Process id
(Audit) Process name
包括用於修改受監視檔案程序的ID和名稱。 audit.process.id
audit.process.name
audit.process.ppid 包括用於修改受監視檔案程序的父程序ID。 1.4 告警示例
在下面的示例中,我們可以看到使用者Smith如何(
/etc/hosts.allow)
使用帶有sudo許可權並通過nano編輯器向檔案新增新IP:以日誌格式提醒:
** Alert 1531224328.2834462: - ossec,syscheck,pci_dss_11.5,gpg13_4.11,gdpr_II_5.1.f, 2018 Jul 10 14:05:28 (vpc-agent-debian) any->syscheck Rule: 550 (level 7) -> 'Integrity checksum changed.' Integrity checksum changed for: '/etc/hosts.allow' Size changed from '421' to '433' Old md5sum was: '4b8ee210c257bc59f2b1d4fa0cbbc3da' New md5sum is : 'acb2289fba96e77cee0a2c3889b49643' Old sha1sum was: 'd3452e66d5cfd3bcb5fc79fbcf583e8dec736cfd' New sha1sum is : 'b87a0e558ca67073573861b26e3265fa0ab35d20' Old sha256sum was: '6504e867b41a6d1b87e225cfafaef3779a3ee9558b2aeae6baa610ec884e2a81' New sha256sum is : 'bfa1c0ec3ebfaac71378cb62101135577521eb200c64d6ee8650efe75160978c' (Audit) User: 'root (0)' (Audit) Login user: 'smith (1000)' (Audit) Effective user: 'root (0)' (Audit) Group: 'root (0)' (Audit) Process id: '82845' (Audit) Process name: '/bin/nano' What changed: 10a11,12 > 10.0.12.34 Attributes: - Size: 433 - Permissions: 100644 - Date: Tue Jul 10 14:05:28 2018 - Inode: 268234 - User: root (0) - Group: root (0) - MD5: acb2289fba96e77cee0a2c3889b49643 - SHA1: b87a0e558ca67073573861b26e3265fa0ab35d20 - SHA256: bfa1c0ec3ebfaac71378cb62101135577521eb200c64d6ee8650efe75160978c
以JSON格式提醒:
{ "timestamp":"2018-07-10T14:05:28.452-0800", "rule":{ "level":7, "description":"Integrity checksum changed.", "id":"550", "firedtimes":10, "mail":false, "groups":[ "ossec", "syscheck" ], "pci_dss":[ "11.5" ], "gpg13":[ "4.11" ], "gdpr":[ "II_5.1.f" ] }, "agent":{ "id":"058", "ip": "10.0.0.121", "name":"vpc-agent-debian" }, "manager":{ "name":"vpc-wazuh-manager" }, "id":"1531224328.283446", "syscheck":{ "path":"/etc/hosts.allow", "size_before":"421", "size_after":"433", "perm_after":"100644", "uid_after":"0", "gid_after":"0", "md5_before":"4b8ee210c257bc59f2b1d4fa0cbbc3da", "md5_after":"acb2289fba96e77cee0a2c3889b49643", "sha1_before":"d3452e66d5cfd3bcb5fc79fbcf583e8dec736cfd", "sha1_after":"b87a0e558ca67073573861b26e3265fa0ab35d20", "sha256_before":"6504e867b41a6d1b87e225cfafaef3779a3ee9558b2aeae6baa610ec884e2a81", "sha256_after":"bfa1c0ec3ebfaac71378cb62101135577521eb200c64d6ee8650efe75160978c", "uname_after":"root", "gname_after":"root", "mtime_before":"2018-07-10T14:04:25", "mtime_after":"2018-07-10T14:05:28", "inode_after":268234, "diff":"10a11,12\n> 10.0.12.34\n", "event":"modified", "audit":{ "user":{ "id":"0", "name":"root" }, "group":{ "id":"0", "name":"root" }, "process":{ "id":"82845", "name":"/bin/nano", "ppid":"3195" }, "login_user":{ "id":"1000", "name":"smith" }, "effective_user":{ "id":"0", "name":"root" } } }, "decoder":{ "name":"syscheck_integrity_changed" }, "location":"syscheck" }
2.稽核Windows中的who-data
2.1 工作原理
who-data監視功能使用Microsoft Windows審計系統來獲取有關在受監視目錄中進行更改的相關人的資訊。這些更改會生成由syscheck處理並報告給管理器的稽核事件。與Windows Vista以上的系統相容。
2.2 配置
要以who-data模式開始監視,必須正確配置要監視目錄的SACL。當在ossec.conf檔案配置whodata="yes"為指定目錄時,Wazuh會自動執行此任務
<syscheck> <directories check_all="yes" whodata="yes">C:\Windows\System32\drivers\etc</directories> </syscheck>
系統稽核策略也需要正確配置。對於大多數受支援Windows的系統,此部分也會自動完成。如果您的系統高於Windows Vista,但稽核策略無法自行配置,請參閱配置本地稽核策略的指南。
2.3 警告欄位
啟用who-data時,會在警告中收到以下欄位:
(Audit) User 包括啟動修改受監視檔案程序使用者的使用者標識和名稱。 audit.user.id
audit.user.name
(Audit) Process id
(Audit) Process name
包括用於修改受監視檔案程序的ID和名稱。 audit.process.id
audit.process.name
2.4 警告示例
以日誌格式提醒:
** Alert 1531323832.10357533: - ossec,syscheck,pci_dss_11.5,gpg13_4.11,gdpr_II_5.1.f, 2018 Jul 11 17:43:52 (vpc-agent-win) any->syscheck Rule: 550 (level 7) -> 'Integrity checksum changed.' Integrity checksum changed for: 'C:\Windows\System32\drivers\etc\hosts' Size changed from '825' to '857' Old md5sum was: '76eae1f63f77154db8c9dd884a47e994' New md5sum is : 'e71b0c5cf0e3a8d1848312f1394e448f' Old sha1sum was: '9c2abeed447447d072aec2128f296e6d3f1ad21a' New sha1sum is : '0f89ca73534037c5cf23193d032c93cbf0fc4af4' Old sha256sum was: 'f8d35672114862f660424d8436d621261279703a65bc8ac3146016d5b023520b' New sha256sum is : 'b9cc339e89fc5d8890cfb8a47249b3b515f5982d8a7348e2e5eb104aec232c9f' (Audit) User: 'Administrator (S-1-5-21-3292556202-24657078-706277677-500)' (Audit) Process id: '1736' (Audit) Process name: 'C:\Windows\System32\notepad.exe' What changed: ***** QUEUE\DIFF\LOCAL\WINDOWS\SYSTEM32\DRIVERS\ETC\HOSTS\state.1531323769 ***** QUEUE\DIFF\LOCAL\WINDOWS\SYSTEM32\DRIVERS\ETC\HOSTS\LAST-ENTRY 10.0.0.211 dns_server ***** Attributes: - Size: 857 - Date: Wed Jul 11 17:43:39 2018 - User: SYSTEM (S-1-5-18) - MD5: e71b0c5cf0e3a8d1848312f1394e448f - SHA1: 0f89ca73534037c5cf23193d032c93cbf0fc4af4 - SHA256: b9cc339e89fc5d8890cfb8a47249b3b515f5982d8a7348e2e5eb104aec232c9f - File attributes: ARCHIVE, COMPRESSED, HIDDEN, NOT_CONTENT_INDEXED - Permissions: standar_user (DENIED) - FILE_READ_DATA, FILE_WRITE_DATA, FILE_APPEND_DATA, FILE_READ_EA SYSTEM (ALLOWED) - FILE_READ_DATA, FILE_WRITE_DATA, FILE_APPEND_DATA, FILE_READ_EA, FILE_WRITE_EA, FILE_EXECUTE, FILE_READ_ATTRIBUTES, FILE_WRITE_ATTRIBUTES, FILE_DELETE, DELETE, READ_CONTROL, WRITE_DAC, WRITE_OWNER