Installer un serveur de logs (Rsyslog) sur FreeBSD 13.2 et configurer un client (debian 12)

Introduction

Un serveur de logs va centraliser les logs de toutes les machines du réseau.
Il va réceptionner les logs envoyés par toutes les machines.

Nous allons mettre en place un tel serveur ainsi que montrer la configuration de base d'un client (qui enverra ses logs au serveur)
Je ne détaille pas ici la configuration réseau des machines, elle est déjà faîte.
Voir les articles consacrés en cas de besoin.


Architecture Réseau

Nous avons 2 zones réseau :

Capture d'écran


Configuration du Serveur Rsyslog

1) Changer le hostname

(le hostname par défaut de ma VM est "freebsd", je vais le changer pour "RSYSLOG")
Passez en root :

su -

Changez le hostname

sed -i '' 's/^hostname=.*$/hostname="RSYSLOG"/' /etc/rc.conf

echo "RSYSLOG" > /etc/hostname

Redémarrez

reboot

2) Installer et configurer rsyslog

(toujours en root)

pkg update

pkg ins -y rsyslog

sysrc syslogd_enable=NO

sysrc rsyslogd_enable=YES

Configurez rsyslog afin que les flux passent uniquement en UDP, sur le port par défaut (514) et qu'il n'autorise que les machines sur nos réseaux à lui envoyer des logs.
(faîtes un copier/coller des commandes suivantes)

echo '#############################################' >> /usr/local/etc/rsyslog.conf

echo '# CONFIGURATION SERVEUR' >> /usr/local/etc/rsyslog.conf

echo 'module(load="imudp")' >> /usr/local/etc/rsyslog.conf

echo 'input(type="imudp" port="514")' >> /usr/local/etc/rsyslog.conf

echo '$AllowedSender UDP, 127.0.0.1, 10.10.10.0/24, 10.10.11.0/30' >> /usr/local/etc/rsyslog.conf

Nous allons à présent faire en sorte que les logs de chaque client arrivent dans un dossier nominatif et distinct :
(sous la forme /var/log/rsyslogclients/HOSTNAMECLIENT-IPCLIENT/rsyslog.log)

echo '$template DynamicFile,"/var/log/rsyslogclients/%source%-%fromhost-ip%/rsyslog.log"' >> /usr/local/etc/rsyslog.conf

echo '*.* ?DynamicFile' >> /usr/local/etc/rsyslog.conf

Créer le dossier de logs pour les clients :

mkdir /var/log/rsyslogclients

Redémarrer le serveur (car syslogd est toujours actif et va poser problème)

reboot

Vérifiez si tout s'est bien passé

service rsyslog status

sockstat -4l | grep 514

(le service doit être lancé et le port 514 doit apparaître)


Configuration d'un Client (Debian WORDPRESS)

1) Changer le hostname

(le hostname par défaut de ma VM est "debian", je vais le changer pour "WORDPRESS")
Passez en root :

su -

Changez le hostname

sed -i 's/debian/WORDPRESS/' /etc/hosts

sed -i 's/debian/WORDPRESS/' /etc/hostname

Redémarrez

reboot

2) Installer et configurer rsyslog

(toujours en root)

apt update

apt install rsyslog -y

systemctl enable rsyslog

Configurer le rôle de client (afin que notre WORDPRESS renvoie ses logs à RSYSLOG)
(faîtes un copier/coller des commandes suivantes)

echo '#############################################' >> /etc/rsyslog.conf

echo '# CONFIGURATION CLIENT' >> /etc/rsyslog.conf

echo 'auth,authpriv.* @10.10.10.210' >> /etc/rsyslog.conf

Démarrez le service

systemctl start rsyslog

Vous devriez voir les logs de votre client WORDPRESS remonter sur le serveur RSYSLOG, dans le dossier /var/log/rsyslogclients/



↑ Haut de page