Dans cette première partie, l’installation de syslog-ng va permettre de faire converger les logs des plugins de pfsense de façon à pouvoir les envoyer au serveur graylog de manière sécurisée.
Se rendre dans le “Package Manager” de Pfsense (1) puis (2)
Installer le package “syslog-ng”:

Voici le package une fois installé dans l’onglet “Installed Packages” (1):


Il faut maintenant configurer syslog-ng
Se rendre dans l’interface de configuration de syslog-ng (1) puis (2):

Pour la suite de ce tutoriel, nous allons s’appuyer sur le protocole udp car nous n’avons pas réussi à mettre en place le protocole TLS. Celui-ci provoquait une erreur sur le serveur graylog. En pratique il ets évident que le protocole TLS est à privilégier pour accroître la sécurité dé communication, et éviter que des individus puissent intercepter les logs pouvant contenir des données sensibles.
Choisir l’interface sur laquelle le serveur va écouter. Seuls les logs du Pfsense et de ses plugins pourront l’adresser. L’interface “loopback” (1) suffit donc.
Sélectionner le protocole de communication, ici “udp” (2)
Entrer le port sur lequel le serveur va écouter (3):

Sauvegarder la configuration (1):

Il faut maintenant configurer afin que les logs reçus sur le port 5140 puissent être envoyés à graylog.
Se rendre dans l’onglet “Advanced” (1)
2 objets vont être créés afin de former un pipeline suivant le schéma suivant:
Source > Logs (3) > Destination (2)
Penser à sauvegarder la création des objets (4)
Cliquer sur “Add+” pour créer un nouvel objet :

L’objet log ici n’est qu’un intermédiaire entre une source et une destination, mais des filtres peuvent être ajoutés.
Saisir un nom explicite (1)
Choisir le type d’objet “Log” (2)
Entrer la configuration de l’objet (3)
{ source(_DEFAULT); destination(Graylog); };
Ajouter une description explicite à votre objet (4)
Sauvegarder la configuration (5):

Créer un nouvel objet
L’objet destination ici va permettre d’envoyer les logs par le réseau à un serveur cible.
Saisir un nom explicite (1)
Choisir le type d’objet “Destination” (2)
Entrer la configuration de l’objet (3)
{ network( "192.168.2.4" port(4444) transport(udp)); };
Ajouter une description explicite à votre objet (4)
Sauvegarder la configuration (5):

Misp doit maintenant rediriger ses logs vers syslog-ng.
Cliquer sur “Services” (1)
Cliquer sur “Snort” (2):

Cliquer sur le bouton d’édition (1):

Rediriger les logs vers le firewall du Pfsense (2)
Sélectionner le niveau et priorité de logs souhaités (3) (4)

Sauvegarder la configuration (1):

Relancer le service snort (1):

Maintenant que les logs de snort sont redirigés sur les logs du firewall, ces derniers doivent être redirigés vers le serveur syslog-ng.
Cliquer sur “Status” (1)
Cliquer sur “System Logs” (2):

Cliquer sur “Settings” (1)

Cocher “Send log to remote syslog server” (1)
Sélectionner le protocole de couche 3 “IPv4” (2)
Indique le serveur sur lequel les logs seront envoyés (graylog) (3)
Cocher les types de logs qu’il est pertinent d’envoyer au server de logs. Ici, il faut au moins cocher “firewall” afin d’inclure les logs snort. Les logs “System events”, “DNS events” et “DHCP events” sont suffisamment important dans notre cas pour être déporter vers un serveur dédié:

Sauvegarder la configuration (1):

Pour rediriger les logs de squid, nous allons modifier les fichiers de configuration.
Cliquer sur “Diagnostic” (1)
Cliquer sur “Edit File” (2) afin d’accès à l’arborescence de fichiers du Pfsense:

Ouvrir le fichier au chemin suivant (1):
/usr/local/pkg/squid.inc
Ajouter les lignes suivantes (2):
$logdir_cache = 'udp://127.0.0.1:5140';
$logdir_access = 'udp://127.0.0.1:5140';
Commenter les lignes originelles relatives à la définition des variables redéfinies au-dessus.
Sauvegarder la configuration (3):

Cliquer sur “Services” (1)
Cliquer sur “Squid Proxy Server” (2):

Décocher l’activation de squid (1):

Sauvegarder la configuration (1):

Cocher l’activation de squid (1):

Sauvegarder la configuration (1):

Pfsense est maintenant configuré, il faut maintenant configurer la destiantion, graylog.
Cliquer sur “System” (1)
Cliquer sur “Inputs” (2):

Sélectionner un nouveau type d’input (1)
Sélectionner “Syslog UDP”:

Créer le nouvel input (1)

Sélectionner le noeud qui correspond à la machine courante (1)
Entrer un nom explicite pour l’input (2)
Entrer le port sur lequel le serveur graylog va écouter (3). Celui-ci correspond au port de l’object destination créé précédemment dans syslog-ng

Sauvegarder la configuration (1):

Voici l’input fraîchement créé :

Il est primordial à présent d’ouvrir le port sur le firewall de la machines graylog. Pour cela, deux commandes suffisent.
$ sudo firewall-cmd --add-port=4444/udp --permanent
$ sudo firewall-cmd --reload

L’Input peut maintenant être démarré (1):

Voici un extrait des logs récupérés :

Nous allons maintenant nous consacrer à la récupération des log de DC01 dans graylog.
Se rendre sur l’url suivant sur votre navigateur favoris de DC01:

Télécharger la version 3 de nxlog (1):

Cliquer sur “Enregistrer le fichier” (1):

Se rendre dans le fichier de téléchargement (1)
Double-cliquer sur le fichier .msi nouvellement téléchargé:

Accepter l’installation (1):

Poursuivre l’intallation (1):

Lire les conditions d’utilisation (1)
Accepter les conditions d’utilisation (2)
Cliquer sur “Next” (3):

Cliquer sur “Next” (1):

Cliquer sur “Install” (1):

Cliquer sur “Finish” (1):

Se rendre au chemin suivant (1)
Modifier le fichier de config (2). Ce fichier est disponible dans la section appropriée

Entrer “services” dans la barre de recherche du bureau (1)
Cliquer sur “Services” (2):

Sélectionner le service “nxlog” (1)
Redémarrer le service nxlog (2):

Nous allons passer sur l’interface graylog afin de configurer l’input.
Cliquer sur “System” (1)
Cliquer sur “Inputs” (2):

Sélectionner le type d’input GELF UDP (1) qui est un format standard graylog
Créer l’input (2):

Sélectionner un noeud graylog (1), ici, il s’agit du noeud sur lequel se trouve l’interface
Entrer un titre explicite (2)
Entrer un le port sur lequel le serveur graylog va écouter, ce port est identique à celui renseigné dans le fichier de configuration nxlog (3):

Sauvegarder la configuration (1):

Voici l’input nouvellement créé:

Il faut maintenant le port 44445 nécessaires à la communication avec DC01
$ sudo firewall-cmd --add-port=4445/udp --permanent
$ sudo firewall-cmd --reload

Lancer l’écoute de l’input (1)
Ouvrir les logs en cliquant sur “Show received messages” (2):

Voici un extrait des logs récupérés :
