Install_rsyslog/README.md

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
```