# RSyslog Configuration - IDS MikroTik ## Overview Configurazione RSyslog per ricevere log dai router MikroTik via UDP:514 e salvarli in file dedicato senza duplicare in `/var/log/messages`. ## File - **99-mikrotik.conf**: Configurazione rsyslog - Template custom `MikroTikRawFormat` (salva log raw) - Ruleset dedicato `mikrotik` con STOP (evita duplicati) - Input UDP:514 per log MikroTik - Permessi automatici: utente `ids`, gruppo `ids` ## Installazione Automatica ```bash cd /opt/ids sudo ./deployment/setup_rsyslog.sh ``` Lo script: 1. Rimuove vecchie configurazioni conflittuali 2. Installa `99-mikrotik.conf` in `/etc/rsyslog.d/` 3. Crea directory `/var/log/mikrotik/` con permessi corretti 4. Verifica sintassi rsyslog 5. Configura firewall (UDP:514) 6. Riavvia rsyslog ## Verifica Funzionamento ```bash # Verifica rsyslog in ascolto su UDP:514 netstat -ulnp | grep 514 # Monitora log in arrivo tail -f /var/log/mikrotik/raw.log # Verifica permessi ls -lh /var/log/mikrotik/raw.log # Output atteso: -rw-r--r-- ids ids ``` ## Configurazione Router MikroTik Configura i router per inviare log al server: ``` /system logging action add name=remote-ids target=remote remote= remote-port=514 /system logging add action=remote-ids topics=firewall ``` ## Troubleshooting ### Errore: Template giĆ  impostato ``` error: omfile: default template already set via module global parameter ``` **Soluzione**: Lo script rimuove automaticamente vecchie configurazioni conflittuali. ### Log duplicati in /var/log/messages La configurazione usa `stop` nel ruleset per evitare propagazione. ### Permessi negati ```bash # Verifica/ripara permessi sudo chown -R ids:ids /var/log/mikrotik/ sudo chmod 755 /var/log/mikrotik/ sudo chmod 644 /var/log/mikrotik/raw.log ``` ### Firewall blocca UDP:514 ```bash sudo firewall-cmd --permanent --add-port=514/udp --zone=public sudo firewall-cmd --reload ``` ## File Log - **Path**: `/var/log/mikrotik/raw.log` - **Owner**: `ids:ids` - **Permissions**: `0644` - **Format**: Raw syslog message (no timestamp/hostname prefix) ## Note Tecniche - **Sintassi moderna**: rsyslog v8+ con `template()`, `ruleset()`, `action()` - **No legacy syntax**: Evita conflitti con `$ActionFileDefaultTemplate` - **Ruleset dedicato**: Isolamento completo per log MikroTik - **STOP directive**: Previene duplicazione in altri file log