Belajar dengan berlatih: Memvisualisasikan data Zeek (Bro) Anda dengan Splunk

  • Whatsapp
Belajar dengan berlatih: Memvisualisasikan data Zeek (Bro) Anda dengan Splunk
Belajar dengan berlatih Memvisualisasikan data Zeek Bro Anda dengan Splunk

News.nextcloud.asia

Log DNS adalah salah satu log paling penting tentang apa yang terjadi di lingkungan Anda. Seperti HTTP, ada dorongan untuk mengenkripsi lalu lintas DNS juga. Ini didorong oleh OpenDNS, melalui DNSCrypt, Cloudflare dan sekarang IETF.

Sama halnya dengan posting sebelumnya, kita perlu memahami struktur log DNS sebelum kita mulai menguraikannya. Mari kita lakukan itu.

[email protected]:/opt/bro/logs/current# bro-cut -C < dns.log | head --lines=10 --verbose
#fields ts      uid     id.orig_h       id.orig_p       id.resp_h       id.resp_p       proto   trans_id        rtt     query   qclass  qclass_name     qtypeqtype_name       rcode   rcode_name      AA      TC      RD      RA      Z       answers TTLs    rejected
#types  time    string  addr    port    addr    port    enum    count   interval        string  count   string  count   string  count   string  bool    bool bool     bool    count   vector[string]  vector[interval]        bool
1541376001.059940       CvWBmNcrGUcDWf60g       192.168.0.26    52542   208.67.222.222  53      udp     43942   0.047960        ssl.gstatic.com 1       C_INTERNET    28      AAAA    0       NOERROR F       F       T       T       0       2607:f8b0:400b:80e::2003        300.000000      F
1541376003.063949       C2xxe74mFxdHKzMfHj      192.168.0.26    50157   208.67.222.222  53      udp     1261    0.039924        play.google.com 1       C_INTERNET    1       A       0       NOERROR F       F       T       T       0       172.217.0.110   300.000000      F

Sekarang mari kita identifikasi kueri Splunk yang akan mengekstrak bidang ini.

index=_* OR index=* sourcetype=Bro-Security-Monitoring source="/opt/bro/logs/current/dns.log" NOT "#fields" NOT "\x00\x00\x00\x00" NOT "ip6.arpa"
| rex field=_raw "(?<ts>.*?t)(?<uid>.*?t)(?<orig_h>.*?t)(?<orig_p>.*?t)(?<resp_h>.*?t)(?<resp_p>.*?t)(?<proto>.*?t)(?<trans_id>.*?t)(?<rtt>.*?t)(?<query>.*?t)(?<qclass>.*?t)(?<qclass_name>.*?t)(?<qtype>.*?t)(?<qtype_name>.*?t)(?<rcode>.*?t)(?<rcode_name>.*?t)(?<aa>.*?t)(?<tc>.*?t)(?<rd>.*?t)(?<ra>.*?t)(?<z>.*?t)(?<answers>.*?t)(?<ttls>.*?t)"
| stats count by ts,uid,orig_h,orig_p,resp_h,resp_p,proto,trans_id,rtt,query,qclass,qclass_name,qtype,qtype_name,rcode,rcode_name,aa,tc,rd,ra,z,answers,ttls

Sekarang setelah semua bidang diekstraksi, seperti yang dapat kami lakukan sebelumnya, sekarang kami dapat memperoleh statistik bidang tertentu. Pertama-tama mari kita lihat 50 domain teratas yang terlihat di file “dns.log” kita.

index=_* OR index=* sourcetype=Bro-Security-Monitoring source="/opt/bro/logs/current/dns.log" NOT "#fields" NOT "\x00\x00\x00\x00" NOT ".arpa" 
| rex field=_raw "(?<ts>.*?t)(?<uid>.*?t)(?<orig_h>.*?t)(?<orig_p>.*?t)(?<resp_h>.*?t)(?<resp_p>.*?t)(?<proto>.*?t)(?<trans_id>.*?t)(?<rtt>.*?t)(?<query>.*?t)(?<qclass>.*?t)(?<qclass_name>.*?t)(?<qtype>.*?t)(?<qtype_name>.*?t)(?<rcode>.*?t)(?<rcode_name>.*?t)(?<aa>.*?t)(?<tc>.*?t)(?<rd>.*?t)(?<ra>.*?t)(?<z>.*?t)(?<answers>.*?t)(?<ttls>.*?t)" 
| stats count by query 
| sort -count limit=50

Seperti biasa, mirip dengan cara Anda memperhatikan domain teratas yang terlihat, penting juga untuk melihat yang paling sedikit terlihat. Mari gunakan kueri berikut untuk mendapatkan informasi tersebut. Ingat, nilai-nilai unik bisa menonjol sedemikian rupa sehingga membuat Anda bertanya-tanya mengapa itu ada.

index=_* OR index=* sourcetype=Bro-Security-Monitoring source="/opt/bro/logs/current/dns.log" NOT "#fields" NOT "\x00\x00\x00\x00" NOT ".arpa" 
| rex field=_raw "(?<ts>.*?t)(?<uid>.*?t)(?<orig_h>.*?t)(?<orig_p>.*?t)(?<resp_h>.*?t)(?<resp_p>.*?t)(?<proto>.*?t)(?<trans_id>.*?t)(?<rtt>.*?t)(?<query>.*?t)(?<qclass>.*?t)(?<qclass_name>.*?t)(?<qtype>.*?t)(?<qtype_name>.*?t)(?<rcode>.*?t)(?<rcode_name>.*?t)(?<aa>.*?t)(?<tc>.*?t)(?<rd>.*?t)(?<ra>.*?t)(?<z>.*?t)(?<answers>.*?t)(?<ttls>.*?t)" 
| rare limit=50 query

Nah itu dia untuk memvisualisasikan data DNS Zeek (Bro). Sampai jumpa di posting berikutnya di mana kita melihat log x509.

Referensi:
https://www.opendns.com/about/innovations/dnscrypt/
https://www.cloudflare.com/learning/dns/what-is-1.1.1.1/
https://www.rfc-editor.org/rfc/rfc7858.txt

Postingan dalam seri ini:
Memvisualisasikan data Zeek (Bro) Anda dengan Splunk – Pengaturan
Memvisualisasikan data Zeek (Bro) Anda dengan Splunk – conn.log (log koneksi)
Memvisualisasikan data Zeek (Bro) Anda dengan Splunk – http.log (log http)
Memvisualisasikan data Zeek (Bro) Anda dengan Splunk – dns.log (log koneksi)
Memvisualisasikan data Zeek (Bro) Anda dengan Splunk – x509.log (log koneksi)

Pos terkait

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.