Monitoring Perangkat Network via Netflow-Sflow-IPFIX dengan Logstash ELK/Elastiflow
Hello guys, ayies hari ini lagi keracunan gegara makan kroket 5 biji. Efeknya, ayies hari ini rilis 3-4 artikel sekaligus. hahaha…
Iyah walau aku nulis artikel bisa 3-6 bulan sekali tapi aku berharap kalian masih setia kunjugi website ayies atau polow IG ku yah. Tapi lebih oke lagi kalau kalian bantu aku klik iklan-iklan yang ada diwebsite ini hahahahaaaaaa. Lumayan buat beli cendol.
Oke lanjut…
Kali ini ayies akan bahas soal gimana caranya memonitoring, mengambil data, atau bahkan mengolah data perangkat network kamu (misal router,waf,ids-ips dll) yang support protokol Sflow, netflow atau IPfix ke ELK menggunakan Logstash. Iyah walaupun Logstash Netflow module udah diganti dengan keberadaan filebeat tapi masih oke kok bahkan berdasarkan pengalaman ayies Masih lebih cepat dan stabil via logstash ketimbang filebeat.
Oke lanjut…
Btw ayies akan pakai Elastiflow tapi Logstashnya saja yg kita ambil. Sedang Elasticsearch nya kita akan pakai existing milik kita (jika sudah punya).
Kita akan pakai docker container.
- Install pre requirements
sudo apt-get update ย sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
- Tambah Dockerโs official GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- Tambah Repository ubuntu:
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
Install Docker dan Docker Compose
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io sudo apt-get install docker-compose
Buat file dengan nama docker-compose.yml dengan isi file:
# Software distributed under the License is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for # the specific language governing rights and limitations under the License. # # The Original Source Code was developed by Robert Cowart. Portions created by # Robert Cowart are Copyright (C)2020 Robert Cowart. All Rights Reserved. #------------------------------------------------------------------------------ version: '3' services: elastiflow-logstash: image: robcowart/elastiflow-logstash:4.0.1 container_name: elastiflow-logstash restart: 'no' network_mode: host environment: # JVM Heap size - this MUST be at least 3GB (4GB preferred) LS_JAVA_OPTS: '-Xms4g -Xmx4g' # ElastiFlow global configuration ELASTIFLOW_AGENT_ID: elastiflow ELASTIFLOW_GEOIP_CACHE_SIZE: 16384 ELASTIFLOW_GEOIP_LOOKUP: 'true' ELASTIFLOW_ASN_LOOKUP: 'true' ELASTIFLOW_OUI_LOOKUP: 'false' ELASTIFLOW_POPULATE_LOGS: 'true' ELASTIFLOW_KEEP_ORIG_DATA: 'true' ELASTIFLOW_DEFAULT_APPID_SRCTYPE: '__UNKNOWN' # Name resolution option ELASTIFLOW_RESOLVE_IP2HOST: 'false' ELASTIFLOW_NAMESERVER: '127.0.0.1' ELASTIFLOW_DNS_HIT_CACHE_SIZE: 25000 ELASTIFLOW_DNS_HIT_CACHE_TTL: 900 ELASTIFLOW_DNS_FAILED_CACHE_SIZE: 75000 ELASTIFLOW_DNS_FAILED_CACHE_TTL: 3600 ELASTIFLOW_ES_HOST: 'https://IP-Cluster-ELK1:9200' ELASTIFLOW_ES_USER: 'ayies' ELASTIFLOW_ES_PASSWD: 'xxxxxxxxxxxxxxxxxxxxxxx' ELASTIFLOW_ES_SSL_ENABLE: 'true' ELASTIFLOW_ES_SSL_VERIFY: 'false' ELASTIFLOW_NETFLOW_IPV4_PORT: 2056 ELASTIFLOW_NETFLOW_UDP_WORKERS: 2 ELASTIFLOW_NETFLOW_UDP_QUEUE_SIZE: 4096 ELASTIFLOW_NETFLOW_UDP_RCV_BUFF: 33554432 ELASTIFLOW_SFLOW_IPV4_PORT: 6343 ELASTIFLOW_SFLOW_UDP_WORKERS: 2 ELASTIFLOW_SFLOW_UDP_QUEUE_SIZE: 4096 ELASTIFLOW_SFLOW_UDP_RCV_BUFF: 33554432 ELASTIFLOW_IPFIX_UDP_IPV4_PORT: 4739 ELASTIFLOW_IPFIX_UDP_WORKERS: 2 ELASTIFLOW_IPFIX_UDP_QUEUE_SIZE: 4096 ELASTIFLOW_IPFIX_UDP_RCV_BUFF: 33554432
Lalu jalankan perintah berikut: sudo docker-compose create (pastikan kamu dilokasi path file tsb berada.
Jalankan perintah docker ps -a untuk cek status container logstash-nya. Pastikan running well. Langkah terakhir cek di Kibana kamu apakah index pattern Elastiflownya sudah masuk atau belum. Dan langkah terakhir Download Design dashboardnya sesuai link disini Lalu kamu ke menu Kibana-mu. Pilih Stack Management > Save Objects.
Lalu pilih import. Import NDJSON file yang sudah didownload. Set Perangkat networkmu agar mengirimkan ke Port Logstash kamu pada contoh diatas UDP 2056 ^.
Voila, selamat kamu berhasil ๐
Demikian artikel ayies terakhir di hari ini. Netflow-Sflow-IPFIX dengan Logstash ELK sangat mudah kan? ๐
0 Comments