Accéder aux logs Meraki
Disclaimer : Cet article s'adresse aux pauvres ou à ceux qui n'ont pas de SIEM.
Autant Meraki propose des features très intéressantes, autant y a des fonctionnalités "basiques" qui manquent dans leur dashboard.
Notamment côté Firewalling, niveau 3 ou niveau 7, sans syslog, il n'y a aucun moyen de savoir ce qui passe à travers le firewall depuis le dashboard.
Etant donné qu'il s'agit d'une solution en SAAS, on peut imaginer que c'est une histoire de cout de stockage associée. Si Cisco doit conserver les logs de trafic de tous ses clients dans leur cloud, cela exploserait les coûts.
Syslog-NG à la rescousse
Après avoir installé syslog-ng sur votre serveur, éditer le fichier de configuration syslog-ng.conf et y inscrire les lignes suivantes :
Déclaration de la source :
Le paramètre source permet de définir, le protocole, l'adresse IP et le port d'écoute.
source s_net { udp(ip(192.168.1.10) port(514)); };
Déclaration de la destination :
La destination permet de définir le fichier de sortie qui contiendra les écritures.
destination d_meraki_fw {
file(
"/var/log/MERAKI/${HOST}/${YEAR}${MONTH}${DAY}_fw.log"
create-dirs(yes)
);
};
Les variables HOST, YEAR, MONTH et DATE permettent de créer un fichier avec un nom variable en fonction de l'IP d'émission des logs (IP du firewall), le jour, le mois et l'année.
Déclaration du filtre :
Le filtre permet comme son nom l'indique de filtrer quels logs nous allons conserver sur ce qui est reçu. La création de filtres permettra soit de ne conserver qu'un type de message ou pouvoir créer différents fichiers de sorties en fonction du log (type d'équipement, contenu du message)
filter f_meraki_fw { host( "A.B.C.D" ) and ( match("_FW" value ("MESSAGE")));};
Ici un filtre est fait sur le host A.B.C.D, la ligne de log doit contenir "_FW" pour être envoyé vers la sortie.
Déclaration du log :
Enfin le log permet d'associer une source, une destination et un filtre. C'est uniquement cette ligne qui permettra "le passage à l'action".
log { source ( s_net ); filter (f_meraki_fw ); destination (d_fw); };
On enregistre le fichier et on relance les services :
sudo systemctl restart syslog-ng.service
Debug
Si le redémarrage du service échoue, executer la commande :
sudo syslog-ng -Fdev
Cette commande indiquera les erreurs contenues dans le fichier de configuration empechant l'execution du service.
Envoi des logs :
Depuis le dashboard, dans un network, Menu Network-wide > General :
Sélectionner les catégories de logs à envoyer au serveur.
Warning :
Les logs sont envoyés en clair, pensez à mettre en place un VPN.
Liens utiles :
Pour en savoir plus, Meraki a fait un article assez détaillé pour la configuration des logs