顯示具有 extractor 標籤的文章。 顯示所有文章
顯示具有 extractor 標籤的文章。 顯示所有文章

2018/11/17

之前有寫到 security onion
裡面有個好用的 bro ids 可以獨立安裝
已經裝起來跑了一段時間了
效果不錯
做個記錄

首先安裝

我是裝在centos 7上 按照文件把該補的rpm補一下
make 時要花一點時間

裝好後修改
/usr/local/bro/etc/node.cfg
裡的監聽interface (使用port mirror)

然後在/etc/rc.local加上
/usr/local/bro/bin/broctl start 開几啟動

所有的相關記錄會放在
/usr/local/bro/logs/current 
歷史資料會按日期分開
分門別類 相當完整 可以依照個自的需求針對某個檔案進行解析

capture_loss.log  files.log        pe.log      software.log  stderr.log  weird.log
conn.log          http.log         radius.log  ssh.log       stdout.log  x509.log
dns.log           known_hosts.log  smtp.log    ssl.log       syslog.log
dpd.log           notice.log       snmp.log    stats.log     tunnel.log

我是利用rsyslog把需要的資料丟出來到graylog
建立/etc/rsyslog.d/bro.conf

範例如下

$InputFileName /usr/local/bro/logs/current/sip.log
$InputFileTag bro_sip:
$InputFileStateFile stat-bro_sip
$InputFileSeverity info
$InputFileFacility local7
$InputRunFileMonitor

# check for new lines every second
$InputFilePollingInterval 1
# To the ELSA test server!:
local7.info @1.2.3.4:514


目前graylog的marketplace只有一個Content Pack 是解析從security onion丟來的log
所以如果要統計一下來源 ip要自己再寫一下extractor
而且因為每個log檔的格式不盡相同
所以要依需求產生不同的extractor

2018/06/11

graylog預設會捉取log的第一個欄位來當成source

最近碰到 Cisco的ASA 吐出來log的第一個欄位是月分的英文
導致每個月都會換一次source
如下

May 09 2018 15:00:40 context-admin : %ASA-4-106023: Deny tcp src inside:172.16.213.212/52854 dst outside:192.168.213.203/445 by access-group "inside_access_in" [0x0, 0x0]
May 09 2018 15:00:40 context-admin : %ASA-4-106023: Deny tcp src inside:172.16.213.212/52855 dst outside:192.168.213.203/445 by access-group "inside_access_in" [0x0, 0x0]

查到二個解決方法

一個是讓ASA吐出來的log不要帶timestamp 不過因為是別廠商維護的
他們也不太想改

再來就是加個extractor
直接更換source這個欄位


2017/06/05

昨天突然在想是不是可以在graylog上直接用值畫出圖形
因為在fields展開後有四個選項可以操作













上圖的 Generate chart 應該就可以畫圖
而 Statistics 是相關的記錄及統計
但當點下去時出現









只能針對數字定義的欄位才能使用
看來必須要設定Extractor對message拆解並定義後才行了
因此先吐一筆測試資料到graylog

echo "testiiiiii 20"|nc 10.0.0.1 1234

再利用這筆資料來產生Extractor





















如上圖 主要的重點是必須定義該拆解出來的欄位值是數字
目前支援的定義如下圖 依所需值不同的位數來選擇不同的定義
目前的範例是定義為int



















定義好後接下來進到graylog的資料就會被拆解如下圖
num_test這個欄位就拆解出來而且被定義為int











接下來就可以使用 Generate chart 及 Statistics 產生如下的二張報表














在圖上就可以看到用數值畫出來的圖及統計的結果了
Generate chart還可以依不同需求產生不同的圖










cacti上寫shell也可以達到相同的目的
但操作上會複雜許多
目前想到可以利用個這個來畫出溫度及統計並利用alert功能來進行
溫度超標的通知
應該是滿方便的

http://docs.graylog.org/en/2.2/pages/extractors.html

2017/04/03

graylog支援利用ip在地圖上顯示的功能
記錄一下要使用之前所需的config

1. 首先要下載geoip的data 因為用ova安裝的graylog 預設並沒有提供這個檔案
    http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz
    解開後放在/etc/graylog/server/

2. 在管理介面上 system - configurations




















調整Message Processors Configuration



























把 GeoIP Resolver的順序調到最下面



3. 搜尋一筆滿足要求的資料來create Extractors 使用 Grok pattern

















依照所需的條件進行處理 如下範例

srcip=%{IP:srcip}

















重啟graylog

此時再搜尋 就會在搜尋結果看到多出有關Geo的結果




















在搜尋畫面的左方





















點下World map 之後就會在搜尋畫面上方出珼地圖























http://docs.graylog.org/en/2.2/pages/geolocation.html#configure-message-processor
http://docs.graylog.org/en/2.2/pages/extractors.html#
https://dev.maxmind.com/geoip/geoip2/geolite2/

2017/03/09

graylog預設是把log的訊息全部吃進去
不需要分欄位
直接用關鍵字搜尋即可找到資料(中英文都ok)
但如果一定要分欄位
graylog也提供了extractor的功能
可以根據user的需求依照message的內容來定義不同的field
但使用這個功能必須要特別注意
如果log的量太大而且message的內容又太多
會吃掉大量的資源(cpu ram 及io)
所以並不建議使用