Nessun log TCP/UDP trasmesso nonostante connessioni attive: bug in syslog-ng?

Started by EmanueleP, July 17, 2025, 07:59:50 PM

Previous topic - Next topic
Salve a tutti,

sto cercando di trasmettere log da OPNsense verso un server syslog esterno (basato su syslog-ng) separando i flussi per Firewall, Suricata e System, ciascuno su porta dedicata. Il server è perfettamente configurato per ricevere via UDP/TCP, e ho testato tutte le combinazioni possibili. Tuttavia, non ricevo **nessun messaggio log**, nonostante la connessione venga stabilita.

## ⚙️ Sistema
- OPNsense version: 25.1.11-amd64
- Server di destinazione: syslog-ng su Linux Debian/Ubuntu
- Log ricevuti: **nessuno**, file `.log` vuoti su tutte le destinazioni

## 🔧 Configurazione su OPNsense (via GUI)
- Logging → Targets
  - 3 targets separati: Firewall, Suricata, System
  - Protocollo: TCP (testato anche UDP)
  - Porte: 10154 (Firewall), 10155 (Suricata), 10156 (System)
  - Livelli abilitati: info, notice, warn, error, alert
  - Facilities: local0 / local1 / local2
  - Targets abilitati e applicati

## 📡 Comportamento osservato

Nel log locale di OPNsense, vedo chiaramente:
syslog-ng: Syslog connection established; server='AF_INET(x.x.x.x:10154)' syslog-ng: Syslog connection closed; time_reopen='60'


...che si ripete ogni minuto circa. Quindi la connessione **si apre**, ma i file `.log` sul server restano vuoti.

Ho testato anche:

- TLS tramite stunnel → connessioni OK, ma log sempre assenti
- Porta 514 in UDP: solo Suricata funziona via Filebeat interno (non estendibile da GUI)
- TCP diretto → syslog-ng in ascolto su `0.0.0.0:10154`, `10155`, `10156` → connessioni attive ma nessun payload

## 📁 Configurazione syslog-ng lato server (semplificata)

```conf
source s_opnsense_firewall { tcp(ip(0.0.0.0) port(10154)); };
destination d_opnsense_firewall { file("/var/log/opnsense/firewall.log"); };
log {
    source(s_opnsense_firewall);
    destination(d_opnsense_firewall);
};

Ripetuto identicamente per Suricata e System.

Considerazioni
Sembra che syslog-ng su OPNsense apra la connessione ma non abbia messaggi da inviare

Anche le destinazioni definite e abilitate via GUI non generano traffico

Non posso accedere via shell → quindi non posso verificare manualmente /usr/local/etc/syslog-ng.conf.d/syslog-ng-destinations.conf

Il flusso funziona solo per Suricata → probabilmente gestito da Filebeat e non da syslog-ng

Domanda alla community
Qualcuno è riuscito a far funzionare davvero il logging remoto via TCP/UDP?

C'è un bug noto in pluginctl o nella GUI che impedisce la generazione della configurazione interna?

È possibile che syslog-ng su OPNsense sia inattivo o ignori i target definiti?

Ringrazio anticipatamente chiunque voglia dare supporto o condividere un caso simile.

Emanuele