taibeihacker
Moderator
一、日志数据收集
日誌數據收集是從服務器或設備生成的記錄中收集的實時過程。此組件可以通過文本文件或Windows事件日誌接收日誌。它還可以通過遠程syslog直接接收日誌,這對防火牆和其他此類設備非常有用。此過程的目的是識別應用程序或系統程序錯誤,配置錯誤,入侵威脅,觸發策略或安全問題。
Wazuh aegnt 的內存和CPU要求是,因為它的非常低的,主要作用是將事件轉發給管理器。但是,在Wazuh管理器上,CPU和內存消耗可能會迅速增加,具體取決於管理器每秒事件數分析數量(EPS)。
1.处理流程
下圖說明了事件的處理流程::

2.日志收集
2.1 日志文件
可以將日誌分析引擎配置為監控服務器上的特定文件示例配置:
Linux:
localfile
location/var/log/example.log/location
log_formatsyslog/log_format
/localfile
windows:
localfile
locationC:\myapp\example.log/location
log_formatsyslog/log_format
/localfile
2.2Windows事件日志
Wazuh可以監控典型的Windows事件日誌以及較新的Windows事件通道示例配置:
事件日志:
localfilelocationSecurity/location
log_formateventlog/log_format
/localfile
事件通道:
localfile
locationMicrosoft-Windows-PrintService/Operational/location
log_formateventchannel/log_format
/localfile
2.3 远程系统日志
例如,在其他設備(如防火牆)上,可以將代理日誌分析組件配置為通過syslog接收日誌事件。示例配置:
ossec_config
remote
connectionsyslog/connection
allowed-ips192.168.2.0/24/allowed-ips
/remote
ossec_config
connectionsyslog/connection表示管理器將接受來自網絡的傳入的系統日誌信息,allowed-ips192.168.2.0/24/allowed-ips表示定義將接受系統日誌信息的網絡範圍。
記錄示例:
2016-03-15T15:22:10.078830+01:00 tron su

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 预解码
在分析的預解碼階段,來自大多數靜態信息的字段都是從日誌中提取的。Feb 14 12:19:04 localhost sshd[25474]: Accepted password for rromero from 192.168.1.133 port 49765 ssh2提取的信息:
主機名:'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_sid5700/if_sid
match^Accepted|authenticated.$/match
descriptionsshd: authentication success./description
groupauthentication_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_formatsyslog/log_format
/localfile
4.2 使用文件名的正则表达式监控日志
Wazuh支持posix正則表達式。例如,要分析以/var/log目錄中的.log結尾的每個文件,請使用以下配置:localfile
location/var/log/*.log/location
log_formatsyslog/log_format
/localfile
4.3 基于日期的日志监控
對於根據日期更改的日誌文件,您還可以指定strftime格式來自定義日,月,年等。例如,要監控日誌文件,例如C:\Windows\app\log-08-12-15.log,其中08是年份,12是月份,15是當月天數(並且每天自動增加),配置如下:localfile
locationC:\Windows\app\log-%y-%m-%d.log/location
log_formatsyslog/log_format
/localfile
4.4 从Windows事件日志中读取日志
要監控Windows事件日誌,您需要提供格式為“eventlog”,並將location參數作為事件日誌的名稱localfile
locationSecurity/location
log_formateventlog/log_format
/localfile
4.5 从Windows事件通道中读取事件
您還可以監控特定的Windows事件通道。該location是事件通道的名稱。這是監控應用程序和服務日誌的唯一方法。如果文件名包含“%”,請將其替換為“/”:localfile
locationMicrosoft-Windows-PrintService/Operational/location
log_formateventchannel/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
locationSystem/location
log_formateventchannel/log_format
queryEvent/System[EventID=7040]/query
/localfile
4.7 使用环境变量
像環境變量一樣%WinDir%可以在location中使用。以下是從IIS服務器讀取日誌的示例:localfile
location%WinDir%\System32\LogFiles\W3SVC3\ex%y%m%d.log/location
log_formatiis/log_format
/localfile
4.8 使用多个输出
默認情況下,日誌數據通過agent socket發送,但也可以將其他agent socket指定為輸出。 ossec-logcollector使用UNIX類型socket 進行通信,允許TCP或UDP協議。要添加新的outputsocket,我們需要使用socket標記來指定,如下示例配置:socket
namecustom_socket/name
location/var/run/custom.sock/location
modetcp/mode
prefixcustom_syslog: /prefix
/socket
socket
nametest_socket/name
location/var/run/test.sock/location
/socket
注意:有關定義socket的更多信息:socket
定義socket後,可以為每個location添加目標socket:
localfile
log_formatsyslog/log_format
location/var/log/messages/location
targetagent,test_socket/target
/localfile
localfile
log_formatsyslog/log_format
location/var/log/messages/location
targetcustom_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管理器。以下選項是可配置的:
频率:默認情況下,syscheck每12小時運行一次。
实时监控:Wazuh支持在運行Windows或Linux的服務器上進行實時文件完整性監控(Solaris不支持Inotify,因此不適用於此系統)。請注意,實時選項只能用於目錄而不能用於單個文件。
Whodata:此功能與實時功能類似,另外還提供有關誰觸發事件的信息。
2.Wazuh管理器存儲受監視文件的校驗和以及屬性,並通過將新值與舊值進行比較來查找修改。
3.只要在受監視的文件或註冊表項中檢測到修改,就會生成告警。可以使用ignore配置選項或通過創建列出要從FIM告警中排除的文件的規則來解決誤報。
由FIM生成告警示例:
** 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文件中配置。通常,此配置使用以下部分設置:頻率
目錄
忽略
alert_new_files
有關詳細的配置選項,請轉至Syscheck。
要配置syscheck,必須標識指定文件和目錄列表。該check_all選項檢查文件大小,權限,所有者,上次修改日期,inode和所有哈希值(MD5,SHA1和SHA256)。
注意:如果目錄路徑相同,則從集中配置推送的目錄將覆蓋ossec.conf文件。
syscheck
directories check_all='yes'&g