Instal Zeek di Ubuntu 20.04

Ikuti tutorial ini untuk mempelajari cara menginstal Zeek di Ubuntu 20.04. Zeek, sebelumnya Bro IDS, adalah alat pemantauan keamanan jaringan open source pasif terkemuka di dunia.

Zeek bukan perangkat keamanan aktif, seperti firewall atau sistem pencegahan intrusi. Sebaliknya, Zeek duduk di “sensor,” perangkat keras, perangkat lunak, virtual, atau platform cloud yang diam-diam dan diam-diam mengamati lalu lintas jaringan. Zeek menginterpretasikan apa yang dilihatnya dan membuat log transaksi yang ringkas, fidelitas tinggi, konten file, dan output yang sepenuhnya disesuaikan, cocok untuk tinjauan manual pada disk atau dalam alat yang lebih ramah-analis seperti sistem manajemen peristiwa keamanan dan informasi (SIEM).

Instal Zeek di Ubuntu 20.04

Jadi bagaimana Anda menginstal Zeek di Ubuntu 20.04? Lanjutkan sebagai berikut;

Zeek dapat diinstal dengan membangunnya dari kode sumber atau secara langsung melalui repositori Zeek APT.

Dalam tutorial ini, kita akan memilih nanti.

Instal Zeek di Ubuntu 20.04

Untuk menginstal Zeek di Ubuntu 20.04 dari repositori Zeek APT;

Tambahkan repositori Zeek ke Ubuntu 20.04:

echo 'deb http://download.opensuse.org/repositories/security:/zeek/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/security:zeek.list
curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_20.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/security_zeek.gpg > /dev/null

Jalankan pembaruan sistem;

apt update

Zeek 4.0.1 adalah rilis stabil saat ini pada tulisan ini, konfirmasikan hal yang sama dengan menjalankan perintah di bawah ini;

apt-cache policy zeek
zeek: Installed: (none) Candidate: 4.0.1-0 Version table: 4.0.1-0 500 500 http://download.opensuse.org/repositories/security:/zeek/xUbuntu_20.04 Packages

Anda kemudian dapat menginstal Zeek dengan menjalankan perintah di bawah ini;

apt install zeek

Selama instalasi, Anda akan diminta untuk beberapa pengaturan Postfix, pilih Situs Internet dan masukkan FQDN sistem Anda.

Mengonfigurasi Zeek di Ubuntu 20.04

Konfigurasikan Lingkungan Waktu Proses

Secara default, Zeek diinstal di bawah /opt/zeek.

Untuk memulainya, tambahkan jalur biner Zeek ke PATH;

echo "export PATH=$PATH:/opt/zeek/bin" >> ~/.bashrc
source ~/.bashrc

Tentukan Jaringan Lokal yang Akan Dipantau

Selanjutnya, Anda perlu memberi tahu Zeek jaringan lokal mana yang harus dipantau. Ini dapat ditentukan dalam /opt/zeek/etc/networks.cfgfile konfigurasi.

Jaringan default yang ditentukan adalah 10.0.0.0/8, 172.16.0.0/16, 192.168.0.0/16. Jadi, dalam kasus kami, jaringan yang ingin kami pantau adalah192.168.59.0/24.

Karena itu;

vim /opt/zeek/etc/networks.cfg
# List of local networks in CIDR notation, optionally followed by a # descriptive tag. # For example, "10.0.0.0/8" or "fe80::/64" are valid prefixes. #10.0.0.0/8 Private IP space #172.16.0.0/12 Private IP space #192.168.0.0/16 Private IP space 192.168.59.0/24 Kifarunix-demo IP space 

Simpan file dan keluar setelah Anda membuat perubahan konfigurasi jaringan.

Konfigurasikan Zeek Cluster

Zeek dapat dijalankan dalam mode mandiri atau dalam pengaturan cluster. Untuk menentukan apakah akan dijalankan dalam kluster atau penyiapan mandiri, Anda perlu mengedit /opt/zeek/etc/node.cfgfile konfigurasi.

  • Untuk konfigurasi mandiri, hanya boleh ada satu node Zeek yang ditentukan dalam file ini.
  • Untuk konfigurasi cluster, minimal harus ada node manager, node proxy, dan satu atau lebih node pekerja.

Menurut panduan memulai cepat Zeek, menggunakan mode proses mandiri / tunggal Zeek tidak cocok untuk pengaturan dengan lalu lintas yang signifikan. Dalam kasus ini, seseorang hampir pasti ingin menggunakan kluster Zeek, bahkan pada satu sistem.

Oleh karena itu, kita akan melihat cara mengatur cluster Zeek. Anda dapat melihat arsitektur cluster Zeek.

Konfigurasi node Zeek default adalah seperti;

cat /opt/zeek/etc/node.cfg
# Example ZeekControl node configuration. # # This example has a standalone node ready to go except for possibly changing # the sniffing interface. # This is a complete standalone configuration. Most likely you will # only need to change the interface. [zeek] type=standalone host=localhost interface=eth0 ## Below is an example clustered configuration. If you use this, ## remove the [zeek] node above. #[logger-1] #type=logger #host=localhost # #[manager] #type=manager #host=localhost # #[proxy-1] #type=proxy #host=localhost # #[worker-1] #type=worker #host=localhost #interface=eth0 # #[worker-2] #type=worker #host=localhost #interface=eth0 

Karena kami menjalankan satu node Zeek Cluster dalam pengaturan ini, beri komentar tentang konfigurasi mandiri Zeek, bagian di bawah [zeek]dan tentukan alamat host untuk Zeek logger, manager, proxydan worker.

Jadi apa saja komponen tersebut;

  • logger: ini adalah proses Zeek opsional yang menerima pesan log dari sisa node di cluster. Ini dapat digunakan sebagai pengganti manajer untuk mengurangi beban pada manajer itu sendiri.
  • manager: menerima pesan log dan pemberitahuan dari sisa node di cluster Zeek jika tidak ada logger yang ditentukan.
  • proxy: adalah proses Zeek yang dapat digunakan untuk membongkar penyimpanan data atau beban kerja arbitrer apa pun. Sebuah cluster mungkin berisi beberapa node proxy.
  • worker: adalah proses Zeek yang mengendus lalu lintas jaringan dan melakukan analisis protokol pada arus lalu lintas yang dipasang kembali.

Jadi di bawah ini adalah konfigurasi konfigurasi cluster Zeek node tunggal kami;

cat /opt/zeek/etc/node.cfg
# Example ZeekControl node configuration. # # This example has a standalone node ready to go except for possibly changing # the sniffing interface. # This is a complete standalone configuration. Most likely you will # only need to change the interface. #[zeek] #type=standalone #host=localhost #interface=eth0 ## Below is an example clustered configuration. If you use this, ## remove the [zeek] node above. [kifarunix-demo-zeek-logger] type=logger host=192.168.59.16 # [kifarunix-demo-zeek-manager] type=manager host=192.168.59.16 # [kifarunix-demo-zeek-proxy] type=proxy host=192.168.59.16 # [kifarunix-demo-zeek-worker] type=worker host=192.168.59.16 interface=enp0s8 # [kifarunix-demo-worker-lo] type=worker host=localhost interface=lo 

Tinjau file konfigurasi Global ZeekControl

Selanjutnya, Anda perlu meninjau file konfigurasi ZeekControl global, /opt/zeek/etc/zeekctl.cfg.

Sebagian besar nilai default dalam file konfigurasi sudah cukup. Satu-satunya perubahan yang mungkin ingin Anda buat atau perbarui di sini adalah alamat penerima untuk semua email yang dikirim oleh Zeek dan ZeekControl, jika Anda memilikinya. Nilai default adalah [dilindungi email]

Validasi Konfigurasi Zeek

Sebelum Anda dapat menginstal dan memulai Zeek, Anda perlu memvalidasi file konfigurasi;

zeekctl check
Hint: Run the zeekctl "deploy" command to get started. kifarunix-demo-zeek-logger scripts are ok. kifarunix-demo-zeek-manager scripts are ok. kifarunix-demo-zeek-proxy scripts are ok. kifarunix-demo-zeek-worker scripts are ok. kifarunix-demo-worker-lo scripts are ok. 

Menyebarkan Konfigurasi ZeekControl

Jika semuanya baik-baik saja, instal konfigurasi ZeekControl dan mulai instance Zeek;

zeekctl deploy
checking configurations... installing... creating policy di
rectories... installing site policies... generating cluster-layout.zeek... generating local-networks.zeek... generating zeekctl-config.zeek... generating zeekctl-config.sh... stopping... stopping workers... stopping proxy... stopping manager... stopping logger... starting... starting logger... starting manager... starting proxy... starting workers... 

Periksa status Instans Zeek

Anda dapat memeriksa status instance Zeek dengan mengeksekusi;

zeekctl status
Name Type Host Status Pid Started kifarunix-demo-zeek-logger logger 192.168.59.16 running 17911 17 May 03:52:41 kifarunix-demo-zeek-manager manager 192.168.59.16 running 17962 17 May 03:52:43 kifarunix-demo-zeek-proxy proxy 192.168.59.16 running 18011 17 May 03:52:45 kifarunix-demo-zeek-worker worker 192.168.59.16 running 18081 17 May 03:52:48 kifarunix-demo-worker-lo worker localhost running 18082 17 May 03:52:48 

Memeriksa Log Zeek

Zeek akan mulai menganalisis lalu lintas sesuai dengan kebijakan default dan menulis hasil log di  /opt/zeek/logs/current direktori.

ls -1 /opt/zeek/logs/current/
broker.log capture_loss.log cluster.log conn.log dhcp.log known_services.log loaded_scripts.log notice.log packet_filter.log reporter.log stats.log stderr.log stdout.log weird.log 

Beberapa log yang layak disebutkan secara eksplisit:

  • conn.log: Berisi entri untuk setiap koneksi yang terlihat pada kabel, dengan properti dasar seperti waktu dan durasi, alamat IP originator dan responder, service dan port, ukuran muatan, dan banyak lagi. Log ini memberikan catatan lengkap tentang aktivitas jaringan.
  • notice.log: Mengidentifikasi aktivitas spesifik yang diakui Zeek sebagai berpotensi menarik, aneh, atau buruk. Kegiatan semacam itu disebut “pemberitahuan”.
  • known_services.log: File log ini berisi service yang terdeteksi di jaringan lokal dan diketahui digunakan secara aktif oleh client di jaringan. Ini membantu dalam menghitung semua service apa yang diamati di jaringan lokal dan jika semuanya disengaja dan diketahui oleh administrator jaringan.
  • weird.log: Berisi aktivitas yang tidak biasa atau luar biasa yang dapat menunjukkan koneksi yang salah, lalu lintas yang tidak sesuai dengan protokol tertentu, perangkat keras/service yang tidak berfungsi atau salah konfigurasi, atau bahkan penyerang yang mencoba menghindari/membingungkan sensor.
  • (protocol).log seperti (dns.log, dhcp.log, http.log, snmp.log): berisi informasi untuk paket yang ditemukan di masing-masing protokol.

Sampel conn.log log;

tail /opt/zeek/logs/current/conn.log
1621277534.729878	CY3bmP18QlSIvSFxej	192.168.59.16	8132	192.168.59.16	80	tcp	-	-	-	-	RSTRH	T	T	0	^r	00	1	40	- 1621277534.729881	CGVzYD19RQxUT0Vzq	192.168.59.16	8133	192.168.59.16	80	tcp	-	-	-	-	S0	T	T	0	S	140	0	0	- 1621277534.729883	C8jp1t2D0NHoUeOiF1	192.168.59.16	8133	192.168.59.16	80	tcp	-	-	-	-	RSTRH	T	T	0	^r	00	1	40	- 1621277564.065743	CduRKb4f4bLM38gakl	192.168.59.16	47762	192.168.59.16	58282	tcp	-	-	-	-	OTH	T	T	0	Ccc00	0	0	- 1621277564.065833	CRgk0dMeT9AeMyROd	192.168.59.16	47762	192.168.59.16	58288	tcp	-	-	-	-	OTH	T	T	0	Ccc00	0	0	- 1621277564.215195	Cg09q71OaurnFkIdRe	192.168.59.16	38834	192.168.59.16	47761	tcp	-	-	-	-	OTH	T	T	0	Cc	00	0	0	- 1621277566.725573	CG17M71tH9TV52bBe7	192.168.59.16	38836	192.168.59.16	47761	tcp	-	-	-	-	OTH	T	T	0	Cc	00	0	0	- 1621277574.895432	C2aJF016ENvM3nF6da	192.168.59.16	34700	192.168.59.16	80	tcp	-	-	-	-	OTH	T	T	0	C	00	0	0	- 1621277570.315909	CQp7gp31EAsSvqgIn1	192.168.59.16	38846	192.168.59.16	47761	tcp	-	-	-	-	OTH	T	T	0	Cc	00	0	0	- 1621277574.895458	CIP6UASndf9AtymV2	192.168.59.16	34700	192.168.59.16	80	tcp	-	-	-	-	OTH	T	T	0	^cC00	0	0	- 

Bidang dan jenisnya adalah;

#fields ts	uid	id.orig_h	id.orig_p	id.resp_h	id.resp_p	proto	service	duration	orig_bytes	resp_bytes	conn_state	local_orig	local_resp	missed_bytes	history	orig_pkts	orig_ip_bytes	resp_pkts	resp_ip_bytes	tunnel_parents #types time	string	addr	port	addr	port	enum	string	interval	count	count	string	bool	bool	count	string	count	count	count	count	set[string] 

Memeriksa Proses Node Zeek

Anda dapat memeriksa proses yang berjalan pada setiap node dengan mengeksekusi;

zeekctl ps.zeek <node>

Misalnya, untuk memeriksa proses pada node manajer Zeek;

zeekctl ps.zeek kifarunix-demo-zeek-manager 
 USER PID PPID %CPU %MEM VSZ RSS TT S STARTED TIME COMMAND >>> 192.168.59.16 (-) root 17911 17905 0.1 4.3 821252 88788 ? S 03:52:41 00:00:02 zeek (+) root 17962 17956 0.0 4.3 642664 89200 ? S 03:52:43 00:00:01 zeek (-) root 18011 18005 0.0 4.2 640972 87516 ? S 03:52:45 00:00:01 zeek (-) root 18081 18069 0.1 10.7 772672 219204 ? S 03:52:47 00:00:03 zeek (-) root 18082 18071 0.1 10.7 772148 218668 ? S 03:52:47 00:00:03 zeek 

Dan itu membawa kita ke akhir tutorial tentang cara menginstal Zeek di Ubuntu 20.04. Jangan ragu untuk meninggalkan komentar.

Referensi

Menginstal Zee k

Tutorial lainnya

Instal dan Konfigurasikan AIDE di Debian 10

Instal ModSecurity 3 dengan Apache di Docker Container

Instal dan Atur Suricata di Ubuntu 18.04