Coleta de LOGs do Fortigate no Elasticsearch e visualização deles no Grafana
Continuamos com outro documento onde tentaremos centralizar todos os nossos LOGs no Elasticsearch, desta vez é a nossa vez de firewalls Fortigate. A ideia não será apenas recolher os LOGs, mas também compreendê-los visualmente e ter ferramentas que nos ajudem no nosso dia-a-dia.
O que eu disse, o objetivo é o seguinte, primeiro recolher os LOGs que temos nos firewalls da Fortigate, para tê-los num único sítio, que será o nosso querido Elasticsearch. Uma vez que tenhamos lá os LOGs, poderemos usar o Kibana para espreitar o que se passa, quem visita que sites, que aplicações são mais usadas ou que tráfego geram… e além de espreitarmos, a ideia será também visualizá-los no Grafana, que sabemos que temos imensos tipos de painéis para compreender ou fazer compreender o que estamos a registar nesses LOGs.
Poderemos fazer painéis do tipo Pizza, Tabelas, Gráficos de barras, como não, do tipo Sankey, ou colocar um mapa-múndi e geolocalizar os endereços IP de destino ou origem, y saber quién y cuándo acceden a nuestros recursos, así como nuestros usuarios para qué usan Internet.
Lo más cómodo será hacerlo desde Kibana, ahí también nos indicará ciertos pasos necesarios que veremos a continuación, desde Kibana vamos a su “Início” > “Add data” > “Fortinet logs”, lo bueno es que este asistente verificará si hemos seguido los pasos bien y está recopilando datos, y nos creará el índice si todo es OK.
Instalación de Filebeat,
Tenemos que instalar Filebeat en una máquina Windows o Linux para que éste servicio escuche en un puerto (al que el Fortigate le mandará los LOGs), y luego Filebeat almacene en el índice de Elasticsearch que nos interese los LOGs. Así que si no sabes donde instalarlo, la propia máquina de ELK nos puede ser totalmente válida, los pasos que seguiremos son si recopilamos desde un Linux, Então, instalamos Filebeat:
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.12.0-amd64.deb sudo dpkg -i filebeat-7.12.0-amd64.deb
Editamos lo primero de todo como siempre el fichero de configuración de Filebeat “/etc/filebeat/filebeat.yml” e indicaremos al menos los datos de conexión a Elasticsearch y Kibana:
... output.elasticsearch: Hosts: ["Referências HTTP://DIRECCION_IP:9200"] ... setup.kibana: anfitrião: "Referências HTTP://DIRECION_IP:5601" ...
A continuación habilitaremos el módulo de Fortinet:
sudo filebeat modules enable fortinet
Editamos también el fichero de configuración del módulo de Fortigate “/etc/filebeat/modules.d/fortinet.yml”, habilitamos la recolección de 'firewall’ y si tenemos Forticlients, FortiMail o FortiManager también, caso contrário, estos últimos los dejamos deshabilitados. También a considerar selecionar cuáles son las interfaces Internas y las Externas; & por supuesto el puerto de escucha que tenremos (Neste exemplo, o 9005):
- módulo: fortinet
firewall:
Habilitado: true
var.input: udp
var.syslog_host: 0.0.0.0
var.syslog_port: 9005
var.internal_interfaces: [ "lan1" ]
var.external_interfaces: [ "wan" ]
var.tags: [fortinet-firewall, fortigate]
clientendpoint:
Habilitado: false
fortimail:
Habilitado: false
fortimanager:
Habilitado: Falso
Y probamos la configuración:
filebeat test config -c /etc/filebeat/filebeat.yml -e
Cargamos los índices y los dashboards para Kibana, iniciamos el servicio, lo habilitamos para que arranque de manera automática y verificamos que el servicio arrancó de manera correta:
sudo filebeat setup --pipelines --modules fortinet sudo systemctl start filebeat sudo systemctl enable filebeat sudo systemctl status filebeat
Habilitar los LOGs en el Fortigate,
Y configuramos el Fortigate que escupa los LOGs a un syslog, lo mejor por linea de comandos, ya que la GUI no nos permite especificar el puerto, y por CLI sí:
config log syslogd setting
set status enable
set server "DIRECCION_IP_FILEBEAT"
set port 9005
Fim
Jugando con los LOGs,
O que eu disse, si la recolección de datos es correta y el índice se ha creado corretamente poco más tenemos que hacer (el índice podemos crearlo nosotros manualmente si no seguimos el asistente inicial que comentamos). Podremos desde Kibana descubrir lo que recopila, añaquir o quitar campos, hacer búsquedas en formato Lucene o en formato KQL (Kibana Query Language).
Y podremos ya disfrutar por ejemplo de Grafana para interpretar los datos recopilados!! Faremos uma ligação através de uma Fonte de Dados no Grafana do tipo Elasticsearch e indicar os dados de ligação e depois com as mesmas queries de Lucene que fizemos no Kibana, pois poderemos criar dashboards fantásticos.
Deixo-vos um exemplo de como fazer um Donut ou um gráfico circular com o Top de consumo de Apps descobertas pelo Forti.
E depois é só deixar correr a imaginação e adicionar as visualizações que quisermos.
No blog irão ver diferentes exemplos de visualização, como no formato Tree Map…
Exemplo de Tabela, onde podemos aplicar filtros na GUI…
Exemplo de diagrama do tipo Sankey…
Alguns mapas do mundo, onde podemos ver as ligações de entrada ou saída, aceites ou rejeitadas, em tempo real ou no histórico das últimas 24h, 7 Dias, 1 ano…
O que eu disse, en otros documentos verás cómo hacer cada tipo de panel que ves en este post, ¡espero que os guste y como siempre agradeceros esos likes en las redes sociales!
















































