Description
OpenBSD intègre par défaut dans le système de base, depuis 5.7, le serveur de relais nommé relayd.
-
Site web : https://bsd.plumbing/
-
OpenBSD : 6.6, 6.7
Le but de cet article est de savoir comment mettre en place une journalisation du flux HTTP(S) qui passe au-travers de relayd.
C’est très simple !
Configuration
- Par défault, le fichier de configuration :
/etc/relayd.conf
Configuration Globale
Dans un premier temps, nous devons déclarer le paramètre global log dans
le fichier de configuration de relayd.
relayd.conf(5)#log
Les déclarations de journal suivantes ont pour signification les suivantes :
log state changesoulog host checkssont utiles pour suivre l’état de l’hôte ou les contrôles effectués dessus.- les états peuvent être de type :
upsi l’état de santé de l’hôte est positifdownsi celui est arrété ou si les contrôles ne sont pas bons.- en état
unknownsi l’hôte est désactivé ou n’a pas encore été contrôlé.
- les états peuvent être de type :
log connectionnous permet de journaliser les connexions TCP, si relayd est configuré en tant que relai(s) 1 . À noter l’ajout de l’optionerrorspour le cas où nous voulons journaliser que les erreurs de connexions TCP.
1 En effet, relayd peut aussi être configuré en tant que routeur ou serveur de redirection.
Règles de filtrage
Toujours dans le contexte du fichier de configuration de relayd, les relais ont la possibilité de filtrer les connexions par le biais de paramètres de filtrage spécifiques.
Ainsi nous utiliserons l’action de correspondance match sur laquelle
nous appliquons l’option de journalisation log.
relayd.conf(5)#match
Cette action de correspondance s’appliquera sur un type d’action ;
actuellement, 5 types d’actions sont définies :
cookie: une action qui a lieu sur un cookie. 2 relayd.conf(5)#cookieheader: une action ciblant le protocol d’entête HTTP - les fameuses headers relayd.conf(5)#headerpath: une action qui analyse le chemin de l’URL demandée. 2 relayd.conf(5)#pathquery: une action pour chercher la partie query de l’URL demandée. 2 relayd.conf(5)#queryurl: l’action récupérant l’URL complète… 2 relayd.conf(5)#url
2 seulement disponible sur une requête HTTP.
Exemple de configuration
L’exemple ci-dessous nous montre cinq règles de filtrage :
- les quatre premières ayant lieu sur une correspondance d’entête
- la dernière journalisant l’URL dans son ensemble.
Fichier : /etc/relayd.conf
|
|
Journaux
Là encore, tout simplement, une fois la configuration établie, validée, et le service relayd fonctionnel, les différents journaux se retrouvent principalement dans :
/var/log/daemon,/var/log/message.
Exemple log daemon
Code : sh
Cet exemple nous restitue :
- des connexions réussies
done - des connexions échouées, ici de type erreur 403, bloquées selon des règles
de filtrage bloquantes
block- non expliquées ici
Exemple log message
Code : sh
Cet exemple nous montre 3 écritures de journalisation de règles bloquantes, provoquant une erreur 403, sur des critères de filtrage non expliqués ici.