logo rss

Elastic Stack 8 - Filebeat pour la supervision des pare-feux 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.

Elastic Stack Dashboard visualisant le trafic, les ports et les politiques ACL de Cisco Firepower à l'aide de Filebeat.
Dashboard du Cisco Firepower.

Architecture Filebeat

Diagramme d’architecture montrant les journaux Cisco Firepower envoyés en syslog vers Filebeat, traités par Elasticsearch puis visualisés dans 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 :
Interface Cisco Firepower affichant le bouton plus pour ajouter un nouveau serveur Syslog
  • Entrer les informations de notre serveur Syslog (notre serveur Elastic) puis cliquer sur OK :
Fenêtre Cisco Firepower pour configurer un serveur Syslog avec adresse IP, protocole et interface de journalisation

Configurer la journalisation

  • Depuis le menu principal du Firewall aller dans Logging Settings :
Menu des paramètres système de Cisco Firepower avec l’option Paramètres de journalisation mise en évidence
  • Aller dans le menu Logging Settings et configurer Logging :
Configuration de la journalisation sur Cisco Firepower affichant le serveur Syslog, les niveaux de gravité et les options de journalisation des fichiers et malwares

Activer la journalisation sur nos règles

  • Éditer le(s) règle(s) de Firewall que l'on souhaite monitorer :
Interface Cisco Firepower mettant en évidence l’icône d’édition d’une règle de pare-feu dans les politiques de contrôle d’accès
  • Activer la journalisation :
Paramètres de journalisation de Cisco Firepower pour une règle d’accès montrant les actions de connexion et l’adresse IP du serveur Syslog de destination

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 :
Menu de Kibana avec la section Analytics développée et l’option Discover mise en évidence
  • Sélectionner filebeat-* et vérifier la présence de Données :
Vue Discover de Kibana affichant l’index filebeat-* et les données de journaux entrantes provenant de Cisco Firepower

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 :
Navigation dans le menu principal de Kibana vers la section Dashboard
  • Cliquer sur Create dashboard :
Interface de Kibana affichant le bouton pour créer un nouveau tableau de bord

Maps

Objectif
Carte géographique du trafic dans Kibana montrant la répartition des données par région à l’aide d’une visualisation en choroplèthe
Procédure
  • Cliquer sur l'icône Create new Maps :
Interface de Kibana avec l’option Créer une visualisation et Carte mise en évidence pour un nouveau tableau de bord géospatial
  • Cliquer sur Add layer > Choropleth :
Sélection d’une couche dans Kibana Maps avec l’option Choroplèthe pour visualiser les données par région
  • Paramétrer Boundaries source et Statistics source, puis cliquer sur Save and return :
Configuration de la carte dans Kibana montrant comment définir les limites et la source des statistiques pour une couche en choroplèthe

Gauge

Objectif
Jauge dans Kibana indiquant le nombre d’événements refusés avec des seuils colorés
Procédure
  • Cliquer sur Select type > Aggregation based > Gauge et chercher le terme filebeat :
Configuration de la visualisation de jauge dans Kibana avec le modèle d’index filebeat sélectionné comme source de données
  • Ajouter un Filtre choisir Aggregation puis cliquer sur Save and return :
Visualisation de jauge dans Kibana configurée pour afficher le nombre d’événements bloqués en utilisant des filtres et des options d’agrégation

Tag cloud

Objectif
Visualisation métrique de Kibana affichant les principales adresses IP sources à partir des journaux Cisco Firepower
Procédure
  • Cliquer sur Select type > Aggregation based > Tag cloud et chercher le terme filebeat :
Menu de visualisation de Kibana avec l’option Nuage de mots sélectionnée et l’index filebeat choisi comme source de données
  • Add Filter set Aggregation parameters then click Save and return :
Visualisation en nuage de mots dans Kibana filtrée pour afficher les adresses IP sources bloquées à partir des journaux Cisco Firepower

Pie

Objectif
Graphiques en anneau de Kibana montrant la répartition des ports source et destination par type de protocole (UDP/TCP)
Procédure
  • Cliquer sur Select type > Aggregation based > Pie et chercher le terme filebeat :
Interface de Kibana affichant la sélection de la visualisation en camembert avec le modèle d’index filebeat comme source de données
Port Source et Transport
  • Paramétrer les onglets Data et Options :
Paramètres de camembert dans Kibana montrant la configuration pour visualiser les ports source et les protocoles à partir des données du pare-feu
Port Destination et Transport
  • Paramétrer les onglets Data et Options :
Configuration du camembert dans Kibana pour visualiser les ports de destination et les types de transport avec des métriques de comptage

Data table

Objectif
Tableau dans Kibana affichant les noms des règles ACL et le nombre d’événements bloqués
Procédure
  • Cliquer sur Select type > Aggregation based > Data table et chercher le terme filebeat :
Interface de Kibana montrant la création d’une visualisation en tableau de données filtrée sur les règles ACL bloquées
  • Ajouter un filtre et paramétrer l'onglet Data :
Paramètres du tableau de données dans Kibana montrant le filtrage sur les règles bloquées et la configuration pour afficher les noms des règles ACL
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :

adresse mail de contact