79 lines
2.5 KiB
Markdown
79 lines
2.5 KiB
Markdown
# Documentation : Script de Configuration rsyslog Multi-Profils
|
|
|
|
Ce dépôt contient un script Bash automatisé permettant d'installer et de configurer rsyslog sur des clients Linux (Debian/Ubuntu) afin d'envoyer les journaux d'événements vers un serveur centralisé (ex: Graylog).
|
|
|
|
## 📝 Présentation
|
|
|
|
Le script `configure_rsyslog.sh` simplifie la mise en conformité de la journalisation en proposant des configurations adaptées selon le rôle du serveur (Web, Base de données, Sécurité, ou Défaut).
|
|
|
|
### Caractéristiques principales
|
|
- Installation automatique du paquet `rsyslog` si manquant.
|
|
- Gestion de profils pour filtrer les logs envoyés (réduction du bruit réseau).
|
|
- Flexibilité du protocole (Support UDP et TCP).
|
|
- Vérification des privilèges root.
|
|
|
|
## ⚙️ Configuration du script
|
|
|
|
Avant l'exécution, modifiez les variables globales au début du script pour correspondre à votre infrastructure :
|
|
|
|
```bash
|
|
LOG_SERVER_HOST="graylog.h3campus.fr" # IP ou FQDN du serveur central
|
|
LOG_SERVER_PORT="514" # Port d'écoute
|
|
PROTOCOL="UDP" # UDP (rapide) ou TCP (fiable)
|
|
```
|
|
|
|
## 🚀 Utilisation
|
|
|
|
Le script nécessite un argument correspondant au profil souhaité.
|
|
|
|
### Syntaxe
|
|
```bash
|
|
sudo ./configure_rsyslog.sh <profil>
|
|
```
|
|
|
|
### Profils Disponibles
|
|
|
|
| Profil | Cible | Logs envoyés |
|
|
|--------|-------|--------------|
|
|
| `web` | Apache, Nginx | Daemons, erreurs système, logs local2. |
|
|
| `db` | PostgreSQL, MariaDB | Erreurs critiques, noyau, logs local0. |
|
|
| `security` | Firewall, Bastion, VPN | Authentification (auth, authpriv), kernel, cron. |
|
|
| `default` | Serveur générique | Infos système générales, kernel (exclut mail/news). |
|
|
|
|
### Exemple d'installation pour un serveur Web
|
|
```bash
|
|
chmod +x configure_rsyslog.sh
|
|
sudo ./configure_rsyslog.sh web
|
|
```
|
|
|
|
## 📂 Détails Techniques
|
|
|
|
### Emplacement des fichiers
|
|
- **Script** : `/usr/local/bin/configure_rsyslog.sh` (recommandé).
|
|
- **Configuration générée** : `/etc/rsyslog.d/50-remote-custom.conf`.
|
|
|
|
### Fonctionnement des protocoles
|
|
- Si `PROTOCOL="UDP"`, le script utilise `@` dans la configuration rsyslog.
|
|
- Si `PROTOCOL="TCP"`, le script utilise `@@` pour garantir la livraison des paquets.
|
|
|
|
## 🛠 Dépannage (Troubleshooting)
|
|
|
|
- Vérifier si le service tourne :
|
|
```bash
|
|
systemctl status rsyslog
|
|
```
|
|
|
|
- Tester la connectivité vers le serveur de logs :
|
|
```bash
|
|
# Pour UDP
|
|
nc -zv -u graylog.h3campus.fr 514
|
|
|
|
# Pour TCP
|
|
nc -zv graylog.h3campus.fr 514
|
|
```
|
|
|
|
- Consulter les erreurs rsyslog locales :
|
|
```bash
|
|
journalctl -u rsyslog
|
|
```
|