Elastic Stack 8 - Filebeat pour monitorer les Firewalls Cisco Firepower

Beats logo

Les Cisco Firepower sont les pires firewalls de l'univers, mais ce n'est pas le sujet ici… Je parlerai uniquement du moyen de monitorer cette daube avec un environnement Elastic Stack.

Pour se faire, nous allons travailler avec le module Filebeat.

Le point positif est que Filebeat propose un module Cisco capable de gérer les logs Firepower envoyés via syslog. Le point négatif est qu'il n'existe pas de dashboard préconfiguré, nous allons donc devoir en créer un manuellement.

Kibana | Firepower Dashboard
Dashboard Cisco Firepower.

Architecture Filebeat

SIEM | Schéma Filebeat avec elasticsearch and kibana
Architecture Filebeat.

Configuration Cisco Firepower

La première chose que l'on doit faire est de configurer notre Firepower Cisco afin qu'il envoit les informations syslog à notre agent Filebeat. Pour se faire, nous allons devoir déclarer un serveur syslog et activer la journalisation sur les règles que l'on souhaite monitorer.

Ajout d'un objet de type serveur syslog

  • Aller dans Objects > Syslog servers et cliquer sur Add button :
FirePower | Ajouter un serveur syslog
  • Entrer les informations de notre serveur Syslog (notre serveur Elastic) puis cliquer sur OK :
FirePower | Ajouter un serveur syslog

Configurer la journalisation

  • Depuis le menu principal du Firewall aller dans Logging Settings :
FirePower | Menu System settings
  • Aller dans le menu Logging Settings et configurer Logging :
FirePower | Menu System settings, logging settings, paramétrer un serveur syslog

Activer la journalisation sur nos règles

  • Éditer le(s) règle(s) de Firewall que l'on souhaite monitorer :
FirePower | Éditer une règle
  • Activer la journalisation :
FirePower | Éditer une règle

Installer Filebeat

Note : J'installerais filebeat sur la même machine que le moteur Elasticsearch.

Si la clé PGP Elasticsearch n'a pas encore été importé et que le repository n'a pas été ajouté, voir la partie I.

  • Installer Filebeat :
root@host:~# apt install filebeat
  • Éditer le fichier /etc/filebeat/modules.d/cisco.yml pour activer le module ftd/firepower :
  ftd:
    enabled: true

    var.syslog_host: 0.0.0.0
    var.syslog_port: 514
  • Éditer le fichier /etc/filebeat/filebeat.yml pour paramétrer filebeat :
# ---------------------------- Elasticsearch Output ----------------------------
output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["localhost:9200"]

  # Protocol - either `http` (default) or `https`.
  protocol: "https"

  # Authentication credentials - either API key or username/password.
  #api_key: "id:api_key"
  username: "elastic"
  password: "elastic_password;)"
  ssl.verification_mode: none


# =================================== Kibana ===================================

# Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API.
# This requires a Kibana endpoint configuration.
setup.kibana:

  # Kibana Host
  # Scheme and port can be left out and will be set to the default (http and 5601)
  # In case you specify and additional path, the scheme is required: http://localhost:5601/path
  # IPv6 addresses should always be defined as: https://[2001:db8::1]:5601
  host: "https://X.X.X.X:5601"
  ssl.verification_mode: none
  • Redémarrer le service Filebeat :
root@host:~# systemctl restart filebeat

Kibana

Vérifier les logs

Attendre quelques minutes et ouvrir kibana.

  • Aller dans Analytics > Discover :
Kibana | Menu principal, Analytics, Discover
  • Sélectionner filebeat-* et vérifier la présence de Données :
Kibana | Page Discover

Dashboard

Il n'y a pas de dashboard préconfigurés pour les périphériques Firepower, nous allons donc en créer un manuellement.

  • Ouvrir le menu principal et aller dans Kibana > Dashboard :
Kibana | Menu principal, Dashboard
  • Cliquer sur Create dashboard :
Kibana | Bouton Create Dashboard

Maps

Objectif
Kibana | Visualization Maps
Procédure
  • Cliquer sur l'icône Create new Maps :
Kibana | Créer une Visualization Maps
  • Cliquer sur Add layer > Choropleth :
Kibana | Ajouter un calque Choropleth
  • Paramétrer Boundaries source et Statistics source, puis cliquer sur Save and return :
Kibana | Paramétrage du calque

Gauge

Objectif
Kibana | Visualization gauge
Procédure
  • Cliquer sur Select type > Aggregation based > Gauge et chercher le terme filebeat :
Kibana | Ajout d'une Visualization de type gauge
  • Ajouter un Filtre choisir Aggregation puis cliquer sur Save and return :
Kibana | Ajout d'un filtre et création de la visualization gauge

Tag cloud

Objectif
Kibana | Visualization Tag cloud
Procédure
  • Cliquer sur Select type > Aggregation based > Tag cloud et chercher le terme filebeat :
Kibana | Ajout d'une Visualization de type Tag cloud
  • Add Filter set Aggregation parameters then click Save and return :
Kibana | Ajout d'un filtre et création de la visualization Tag cloud

Pie

Objectif
Kibana | Visualization Pie
Procédure
  • Cliquer sur Select type > Aggregation based > Pie et chercher le terme filebeat :
Kibana | Ajout d'une Visualization de type Pie
Port Source et Transport
  • Paramétrer les onglets Data et Options :
Kibana | Paramétrage de la Visualization de type Pie
Port Destination et Transport
  • Paramétrer les onglets Data et Options :
Kibana | Paramétrage de la Visualization de type Pie

Data table

Objectif
Kibana | Visualization Data table
Procédure
  • Cliquer sur Select type > Aggregation based > Data table et chercher le terme filebeat :
Kibana | Ajout d'une Visualization de type Data table
  • Ajouter un filtre et paramétrer l'onglet Data :
Kibana | Paramétrer une visualisation Data table
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :