Syslog Server by Splunk - Additional Transparent Proxy



Next..

Syslog Server digunakan untuk mengumpulkan log-log perangkat secara realtime, dalam kasus ini menggunakan mikrotik sebagai perangkat nya dan menggunakan splunk sebagai aplikasinya

Splunk versi free nya hanya dibatasi 500MB /hari selebihnya berbayar, jadi untuk set free silahkan download seperti biasa
Ref: https://www.splunk.com/en_us/download/splunk-light.html

Lalu setelah install jangan lupa set free license untuk tidak terkena free trial 30 hari saja
Settings->licensing->Change license group->Free licnse->Save

Yang free tidak ada sistem auth jadi kalau login langsung masuk ke dashboard, jadi biasanya saya restrick menggunakan firewall di mikrotik hanya ip X yang bisa akses ke port 8000

/ip firewall filter
add action=drop chain=forward dst-address=IP_SERVER dst-port=8000 \
    protocol=tcp src-address=!IP_SAYA/IP_VPN

Install seperti biasa disini saya menggunakan windows, jadi hanya next next saja, jangan lupa masukkan password ketika instalasi karna untuk login pertama kali menggunakan password tersebut
saya mencoba menggunakan default password splunk admin dan changeme namun tidak bisa. Jadi jangan sampai lupa

Setelah proses instalasi ada beberapa add-on yang bagus untuk diinstall
Mikrotik https://splunkbase.splunk.com/app/3845/
Mikrotik https://splunkbase.splunk.com/app/483/
Dataset https://splunkbase.splunk.com/app/3245/
Netflow https://splunkbase.splunk.com/app/1658/

Cara install add-on nya:
-> download app splunk from these ex
>> splunk-datasets-add-on_10.tgz
-> install app to this http://server-address/en-US/manager/launcher/apps/local
-> install app from file

Penggunaannya bervariasi, ada yang berguna pada saat melakukan search, atau report, atau pada dashboard dll, agak rumit juga tapi kalau sudah terbiasa akan mudah

Ok Next...

Setelah melakukan instalasi Splunk dan Add on nya, maka hal yang perlu dilakukan adalah melakukan allow untuk port splunk dan syslog terkait seperti port 8000, 514, atau port yang kita identifikasikan sendiri ketika mengirimkan log ke splunk server
Kalau saya karna tidak mau repot, saya lakukan disable firewall di windows, namun resiko ditanggung sendiri

Untuk splunk sendiri bisa dibuka aplikasi nya menggunakan browser
http://IP_SERVER:8000

Setelah itu login, dan kita siapkan server splunk untuk listen trafik yang akan masuk
Setting->Datainputs->Add new (behind the UDP)->Port 514->Next->Sourcetype type syslog and select syslog->Next-Submit
Atau bisa kesini
http://103.xxx.2:8000/en-US/manager/search/data/inputs/udp
http://103.xxx.2:8000/en-US/manager/search/adddata/selectsource?input_mode=1&input_type=udp
Berikut data biasanya:
- UDP
- Port 514
- Sourcetype=Cisco atau bisa buat sendiri sesuai kategori perangkat juga bisa
- Index=main atau bisa buat sendiri sesuai kategori client juga bisa

Dari sini berarti splunk berstatus listen dan siap menerima data dari perangkat yang akan mengirimkan log

Lanjut kita setting mikrotik nya. Kalau saya seperti ini settingannya

/system logging action
add bsd-syslog=yes name=syslog remote=IP_SERVER \
    remote-port=514 src-address=IP_PERANGKAT \
    syslog-facility=syslog target=remote
/system logging
add action=syslog topics=info
add action=syslog topics=warning
add action=syslog topics=error
add action=syslog topics=critical

Kalau sudah coba lakukan perubahan setting di Mikrotik dan cek log di mikrotik, nanti log tersebut akan dikirim ke splunk, sekarang kita coba lihat di splunk nya ke bagian search
http://103.xxx.2:8000/en-US/app/search/search lalu masukkan kata kuncinya
* (artinya semua log akan terlihat)
index=main (hanya yang index main saja yang terlihat)

Contoh search di splunk
source="udp:514" index="client" sourcetype="Mikrotik" (NOT "dhcp") (NOT "dhcp1")
index=lapan (host="bgp" OR host="vpn") (NOT "No route to host") (NOT "RemoteAddress") (NOT "TCP connection established") (NOT "HoldTimer") (NOT "Connection opened")

Kalau mau delete tinggal tambahkan "| delete" di akhir search, tp pastikan kalau data tersebut benar-benar kita ingin delete dengan check search dulu contoh
source="udp:51403" index="client" sourcetype="Mikrotik" (NOT "dhcp") (NOT "dhcp1") | delete

Kalau mau buat Chart di dashboard bisa count by host atau date
* | stats count by host
* "logged" | chart count by host
* | convert timeformat="%Y-%m-%d" ctime(_time) AS date | stats count by date

Untuk membuat dashboard seperti gambar di artikel ini, bisa ke sini
http://103.51.131.2:8000/en-US/app/search/dashboards

Lalu create saja, semua dashboard di splunk adalah kombinasi dari command-command search yang diatas dan tinggal pilih visualizationnya menggunakan chart apa saja, mirip seperti mysql, ini yang membuat saya lucu ketika pertama kali belajar splunk, tapi sangat memuaskan meskipun pada mode free :D Seru pokoknya
Contoh command dashboard
- index="client" (NOT "No route to host") (NOT "RemoteAddress") (NOT "dhcp1") (NOT "dhcp") | stats count by host
- * "logged" | chart count by host
- * "login failure" | convert timeformat="%Y-%m-%d" ctime(_time) AS date | stats count by date
- index="traffic"
- index=client (host="bgp" OR host="vpn") (NOT "No route to host") (NOT "RemoteAddress") (NOT "TCP connection established")
- sourcetype="Data Traffic" | chart  count(_raw) by date
- sourcetype="Data Traffic"   field15="(after" | chart  count(_raw) by domain
- index=client(NOT host="BGP") (NOT host="VPN") (NOT "dhcp1")

Yang agak rumit menggunakan dataset dan membuat table serta meng-extract field menggunakan regex expression :D

Kalau mau nge-log All Traffic seperti di torch
Send Log Torch from mikrotik https://forum.mikrotik.com/viewtopic.php?t=63223
/ip firewall mangle
add action=log chain=forward
/system logging action
add bsd-syslog=yes name=logging remote=103.xxx.2 remote-port=51404 src-address=\
    103.xxx.5 syslog-facility=syslog target=remote
/system logging
add action=logging topics=info
add action=logging topics=firewall

Trap data in splunk server
-> http://server-address/en-US/manager/search/data/inputs/udp
-> New Local UDP
-> port 51404 -> index "traffic"
-> Check data received index="traffic"
-> Click dataset New Table

Terakhir kalau mau trap source address dan destination web menggunakan web-proxy fiture di mikrotik (transparent proxy) maka bisa seperti dibawah ini, tapi hanya www atau port 80 saja yang terlog, karna https atau 443 dia ter-encrypt jadi tidak ter log

Settingannya sama di splunk nya, tinggal create dan listen saja, misal di port 51404

Di mikrotiknya tinggal set firewall, logging
/ip firewall nat
add action=redirect chain=dstnat comment="TES LOG" disabled=yes dst-port=80 protocol=tcp \
    to-ports=8080

/system logging action
add bsd-syslog=yes name=logging remote=103.XXX.2 remote-port=51404 src-address=\
    103XXX.1 syslog-facility=syslog target=remote
/system logging
add action=logging topics=web-proxy,!debug

Lalu di ip -> web-proxy, dicentang enable saja... Otomatis semua data transparent nya ke log di splunk :D


^_^

Related Posts:

0 Response to "Syslog Server by Splunk - Additional Transparent Proxy"

Posting Komentar