Last Updated on 03/07/2023 by administrator
Elastic – send logs from Cisco IOS
Elastic – send logs from Cisco IOS
Prerekvizita:
Prerekvizita pro tento návod je Instalace Ubuntu Elasticsearch Kibana Logstash Filebeat (Elastic Stack)
Instalace Ubuntu Elasticsearch Kibana Logstash Filebeat (Elastic Stack)
Motivace:
Návod ukazuje, jak nastavit zasílání logů z Cisco zařízení běžící pod IOS na Elastic server, resp. na Filebeat.
OS:
Instalace byla prováděna na Ubuntu 22.04 LTS pro Elasticsearch 8.8.1. Vše konkrétně otestováno přes VirtualBox 7.0.8.
Implementace:
Filebeat obsahuje mnoho modulů, nicméně v tomto případě bude použitý jen modul cisco, který sbírá a zpracovává (parsuje) a to díky službě logování, která je běžnou součástí Linuxových distribucí. Pro povolení modulu cisco použít příkaz níže:
sudo filebeat modules enable cisco
Příkaz níže spustí příkaz pro nastavení Filebeat a –pipelines povolí vytvoření předdefinovaných konfiguračních pipelines pro zpracování logů, přepínač –module cisco inicializuje modul cisco:
sudo filebeat setup --pipelines --modules cisco
Výstup příkazu sudo filebeat setup –pipelines –modules cisco ukáže následujicí hlášku:
Exiting: module cisco is configured but has no enabled filesets
Seznam všech dostupných modulů lze vidět příkazem:
sudo filebeat modules list
Částečný výstup příkazu sudo filebeat modules list ukazuje, že byl povolený modul cisco:
Enabled:
cisco
system
Disabled:
activemq
apache
auditd
aws
awsfargate
azure
barracuda
...
Přejít do souboru cisco.yml v adresáři /etc/filebeat/modules.d/:
vi /etc/filebeat/modules.d/cisco.yml
a nastavit v souboru cisco.yml ty parametry, které jsou označené boldem:
ios: enabled: true # Set which input to use between syslog (default) or file. #var.input: syslog # The interface to listen to syslog traffic. Defaults to # localhost. Set to 0.0.0.0 to bind to all available interfaces. #var.syslog_host: localhost var.syslog_host: 0.0.0.0 # The port to listen on for syslog traffic. Defaults to 9002. #var.syslog_port: 9002
Provést restart služby Filebeat:
service filebeat restart
Po restartu služby filebeat by měl filebeat naslouchat na portu UDP/9002:
ss -tulnp | grep 9002
Výstup příkazu ss -tulnp | grep 9002 ukazuje, že filebeat naslouchá na portu UDP/9002
udp UNCONN 0 0 *:9002 *:* users:(("filebeat",pid=2484,fd=27))
Cisco IOS konfigurace pro odesílání syslog zpráv na službu Filebeat:
Switch#conf t Switch(config)#logging on Switch(config)#logging host 192.168.0.163 transport udp port 9002 Switch(config)#do wr
V Ubuntu lze ověřet, zda syslog zpráva ze switche skutečně přichází na Elastic server. To se dá zachytit pomocí nástroje tcpdump, kde 192.168.0.30 je IP adresa switche je 9002 je cílový port:
tcpdump -n host 192.168.0.30 and port 9002
Testovací zpráva syslog z Cisco zařízení se dá vygenerovat následujicími příkazy na switchi níže. Boldem je/jsou označené syslog zprávy:
Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#end Jun 24 14:11:01.792: %SYS-5-CONFIG_I: Configured from console by console
Alternativně lze vygenerovat syslog zprávy z Cisco zařízení shutnutim a unshutnutim rozhraní:
Switch(config)#int fa0/4 Switch(config-if)#shut Jun 24 14:11:16.149: %LINK-5-CHANGED: Interface FastEthernet0/4, changed state t o administratively down Jun 24 14:11:17.149: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEtherne t0/4, changed state to down Switch(config-if)#no sh Jun 24 14:11:25.865: %LINK-3-UPDOWN: Interface FastEthernet0/4, changed state to down
Výstup příkazu tcpdump -n host 192.168.0.30 and port 9002 ukazuje, že byly celkově přijaty 4 syslog zprávy z IP adresy 192.168.0.30:
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode listening on enp0s3, link-type EN10MB (Ethernet), snapshot length 262144 bytes 14:11:02.791859 IP 192.168.0.30.56667 > 192.168.0.162.9002: UDP, length 81 14:11:17.148099 IP 192.168.0.30.56667 > 192.168.0.162.9002: UDP, length 112 14:11:17.149278 IP 192.168.0.30.56667 > 192.168.0.162.9002: UDP, length 116 14:11:26.863862 IP 192.168.0.30.56667 > 192.168.0.162.9002: UDP, length 94
Ve webovém prohlížeči v Rubrice Analytics > Discover byla vyfiltrovaná IP adresa 192.168.0.30 a jak lze vidět, syslog zprávy switche byly úspěšně přijaty: