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

2019/05/23

之前發過一篇有關如何在graylog利用ip在地圖上顯示的方法
本來是有使用
但自從上次nas 掛二個HD GG後
graylog重裝 這個功能就沒有再加上去了
直到最近有人提到說想看類似的圖
才想說再起起來
沒想到由於目前收的log筆數太多
功能起起來後 因為會去解析所有進到graylog的ip
系統資源無法負荷
所以只好關掉再想別的辦法
剛好最近玩的grafana有個worldmap pannel 的plugin
想說來試看看
這個plugin支援滿多的datasource

Graphite
InfluxDB
OpenTSDB
Prometheus
MySQL
Postgres
MSSQL
Elasticsearch

想說就拿influxDB來用

首先每五分鐘到graylog取回這段時間被block的ip
取回後
再利用 geoiplookup 來把ip的地理位置取出來
在centos 7 上安裝

yum install GeoIP

裝好後就可以使用了
語法是
geoiplookup 8.8.8.8

GeoIP Country Edition: US, United States

我只想用國家來畫 所以以上資的資料就夠了
有二個原因
因為worldmap panel 直接支援用國碼來畫圖
再來就是如果要用座標來畫 一天的資料可能就會把HD撐爆了

接下來就是把以上取得的資料塞進influxdb
以下是程式碼

/bin/curl -u username:passwd 'http://10.10.10.10:9000/api/search/universal/keyword/export?query=source%3A10.10.10.20&keyword=last%205%20mins&batch_size=500&fields=message' > /tmp/5min_ipp
cat /tmp/5min_ipp |grep '\[' |awk '{print $2}'|cut -d ']' -f 1|cut -d '[' -f 2 > /tmp/5min_ip

rm /tmp/country

for i in `cat /tmp/5min_ip`
do
        country=`/bin/geoiplookup $i|awk '{print $4}'|cut -c 1-2`
        echo $country >> /tmp/country
done

cat /tmp/country|sort|uniq -c > /tmp/attack_data

while read line
do
#       echo $line
        /bin/influx -database "attacker" -execute "insert attack,name=`echo $line|awk '{print $2}'` value=`echo $line|awk '{print $1}'`"
done < /tmp/attack_data

attack 這個 Measurement只放了二個資料
國碼 這五分鐘的攻擊次數
如下

1558574202593759971 SG   9
1558574203886084275 SK   1
1558574205156245342 TH   3
1558574206520742362 TR   4

最後就是畫圖了 這也是搞最久的地方

設定influxdb 的datasource



























在dashbord上加上world map panel

再來設定相關資料
















紅色框一定要依据定義的field設對 不然圖就是出不來













location data 選擇country 以符合上面說明資料

如果設定正常 就會看到以下的圖了


















以上的程式在每五分鐘執行時會使用大量的cpu資源
請特別注意
另外可能要依据需求定時去清理influxdb的資料 以免占用太多HD空間


https://blog.csdn.net/Py_Wang/article/details/79186634


2017/05/09

今天開graylog碰到怪事
在dashborad設定的地圖監看資料都不見了
而且去看search 的結果也沒看到有解到geo的資料















昨天也沒去改設定
不過發現graylog好像會自己去update
/etc/graylog/server/GeoLite2-City.mmdb
最後update的時間是5/8
最後決定把service 重啟

graylog-ctl restart

目前看來正常
再觀察看看

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/

2014/05/13

本來一直使用來統計的google map
這個apps官方只支援到5
當時升到6後必須手動安裝後才能使用
但作者也似乎沒有改版的動作
升到6.1後完全不能用了
Orz
查了一下文件
發現splunk直接提供了一個geostat的指令可以使用
不再需要google map這個app了
指令如下

* | iplocation src | geostats count

因為在我送到splunk的資料中 src 後面帶的是攻擊者的ip
如果是使用其他字串
請自行修改

2013/10/21

之前在測試 splunk的geo

但因為使用的是enterprise的測試key
最近license 到期了
導致無法使用
轉成free license也沒用
所以再來重裝一次
但目前的最近版本是6
裝完後直接改用free license
免的到時又有問題
直接從splunk app去找也找不到google map
到了官方網站去看
寫的是只支援到5
想說不然下載原始檔用手動裝看看可不可以用
試了後竟然ok了
先醬用囉

2013/05/18

之前開始使用snort來detect port scan之後
所有ip都有記錄起來
今天想到是不是可以把這些ip直接畫在地圖上
這樣出來的圖應該很美 :D
於是找到了這個網站
http://freegeoip.net/
只要把ip貼上
就可以拿到有關這個ip的相關地圖資料(包含經緯度)
使用 wget 指令

http://freegeoip.net/{format}/{ip_or_hostname}
Supported formats are csv, xml or json.

wget http://freegeoip.net/csv/$i -O ip_tmp
cat ip_tmp |cut -d "," -f 8,9 >> map
單獨取出經緯度
這樣就可以畫在地圖上了
接下來到這個網站
http://gissrv4.sinica.edu.tw/gis/tools/geocoding.aspx

把上面產生出來的map資料貼上去



大功告成

再來就是思考要怎麼自動化了