Recopilant els LOGs de Fortigate a Elasticsearch i visualitzant-los a Grafana

Seguim amb un altre document on intentarem centralitzar tots els nostres LOGs a Elasticsearch, en aquesta ocasió li toquen als nostres firewalls de Fortigate. La idea no només serà recopilar els LOGs si no a més comprendre'ls de manera visual i tenir eines que ens ajudin en el dia a dia.

El que s'ha dit, l'objectiu és el següent, primer recopilar els LOGs que tenim als firewalls de Fortigate, per tenir-los en un únic lloc, que serà el nostre volgut Elasticsearch. Un cop tinguem aquí els LOGs podrem fer servir Kibana per cotillejar què passa, qui visita quin web, que aplicacions són les més usades o quin trànsit generen… i a part de curiosejar-lo, doncs la idea serà també visualitzar-lo a Grafana, que sabem que tenim un munt de tipus de Panells per comprendre o fer comprendre el que estem registrant en aquests LOGs.

Podrem fer panells de tipus Formaci, Taules, Gràfiques de tipus barres, com no de tipus Sankey, o col·locar un Mapa mundi i geo localitzar les adreces IP de Destinació o Origen, i saber qui i quan accedeixen als nostres recursos, així com els nostres usuaris per a què fan servir Internet.

El més còmode serà fer-ho des de Kibana, ací també ens indicarà certs passos necessaris que veurem a continuació, des de Kibana anem a la seva “Home” > “Add data” > “Fortinet logs”, el bo és que aquest assistent verificarà si hem seguit els passos bé i està recopilant dades, i ens crearà l'índex si tot és OK.

Instal·lació de Filebeat,

Hem d'instal·lar Filebeat en una màquina Windows o Linux perquè aquest servei escolti en un port (al qual el Fortigate li manarà els LOGs), i després Filebeat emmagatzema en l'índex d'Elasticsearch que ens interessi els LOGs. Així que si no saps on instal·lar-lo, la pròpia màquina d'ELK ens pot ser totalment vàlida, els passos que seguirem són si recopilem des d'un Linux, així que, instal·lem 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

Editem el primer de tot com sempre el fitxer de configuració de Filebeat “/etc/filebeat/filebeat.yml” i indicarem almenys les dades de connexió a Elasticsearch i Kibana:

...
output.elasticsearch:
  hosts: ["http://DIRECCION_IP:9200"]
...
setup.kibana:
  host: "http://DIRECION_IP:5601"
...

A continuació habilitarem el mòdul de Fortinet:

sudo filebeat modules enable fortinet

Editem també el fitxer de configuració del mòdul de Fortigate “/etc/filebeat/modules.d/fortinet.yml”, habiliten la recol·lecció de 'firewall’ i si tenim Forticlients, FortiMail o FortiManager també, si no, aquests últims els deixem deshabilitats. També a considerar seleccionar quines són les interfícies Internes i les Externes; & per suposat el port d' escolta que tindrem (en aquest exemple el 9005):

- module: fortinet firewall:
    enabled: 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, fortiga't]
  clientendpoint:
    enabled: false fortimail:
    enabled: false fortimanager:
    enabled: false

I provem la configuració:

filebeat test config -c /etc/filebeat/filebeat.yml -e

Carreguem els índexs i els dashboards per a Kibana, iniciem el servei, l'habilitem perquè arrenqui de manera automàtica i verifiquem que el servei va arrencar de manera correcta:

sudo filebeat setup --pipelines --modules fortinet sudo systemctl start filebeat sudo systemctl enable filebeat sudo systemctl status filebeat

Habilitar els LOGs al Fortigate,

I configurem el Fortigate que escupa els LOGs a un syslog, el millor per línia de comandaments, ja que la GUI no ens permet especificar el port, i per CLI sí:

config log syslogd setting set status enable set server "DIRECCION_IP_FILEBEAT"
    set port 9005
anà

Jugant amb els LOGs,

El que s'ha dit, si la recol·lecció de dades és correcta i l'índex s'ha creat correctament poc més hem de fer (l'índex podem crear-lo nosaltres manualment si no seguim l'assistent inicial que comentem). Podrem des de Kibana descobrir el que recopila, afegir o treure camps, fer recerques en format Lucene o en format KQL (Kibana Query Language).

I podrem ja gaudir per exemple de Grafana per interpretar les dades recopilades!! Farem una connexió mitjançant un Data Source a Grafana de Tipus Elasticsearch i indicar les dades de connexió i després amb les mateixes que de Lucene que vàrem fer a Kibana, doncs podrem fer preciosos Dashboards.

Us deixo un exemple de com fer un Donut o un formalet amb el Top de consum d'Apps descobertes pel Forti.

I després ja és deixar córrer la imaginació i afegir les visualitzacions que vulguem.

El blog anireu veient diferents exemples de visualització, que si en format Tree Map…

Exemple de Taula, on podem fer filtrats a la GUI…

Exemple de diagrama tipus Sankey…

Uns mapes del món, on podem veure les connexions entrants o sortints, acceptades o denegades, en temps real o en històric de les últimes 24h, 7 dies, 1 any…

El que s'ha dit, en altres documents veuràs com fer cada tipus de panell que veus en aquest post, espero que us agradi i com sempre agraeixo aquests likes a les xarxes socials!

Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!