Syslog is een standaard logboekprotocol dat wordt gebruikt voor het verzamelen, verzenden en opslaan van logberichten van netwerkapparaten, besturingssystemen en softwaretoepassingen. Het protocol maakt centrale logging mogelijk, wat essentieel is voor netwerkbeheer, beveiliging, probleemoplossing en auditing. Syslog is lichtgewicht, platformonafhankelijk en wordt breed ondersteund door routers, switches, firewalls, Unix/Linux-servers en zelfs sommige Windows-systemen.
Hoe werkt het Syslog-protocol?
Berichtstructuur van Syslog
Een Syslog-bericht bestaat uit drie hoofdonderdelen: een prioriteitswaarde (PRI), een header en het bericht zelf. De prioriteitswaarde bevat informatie over de faciliteit (de bron, zoals een applicatie of kernel) en het niveau van ernst (bijvoorbeeld waarschuwing of fout).
Voorbeeld van een typisch bericht:
<34>Oct 11 22:14:15 router1 sshd[1234]: Failed login from 192.168.1.10
In dit bericht geeft <34>
de prioriteit aan, gevolgd door een datum, hostnaam, procesnaam en het bericht zelf.
Transportprotocollen en poorten
Syslog gebruikt twee hoofdprotocollen voor transport:
- UDP (User Datagram Protocol): Het standaard transportprotocol voor Syslog. Snel maar zonder bevestiging van ontvangst.
- TCP (Transmission Control Protocol): Betrouwbaarder dan UDP omdat het foutcontrole en ontvangstbevestiging biedt. Gebruikt wanneer logintegriteit essentieel is.
De standaardpoorten voor Syslog zijn:
Protocol | Poort | Beschrijving |
---|---|---|
UDP | 514 | Meest gebruikte poort voor Syslog-verkeer |
TCP | 514 | Gebruikt voor betrouwbaardere logoverdracht |
TLS/SSL (beveiligde TCP) | 6514 | Gebruikt in moderne Syslog-implementaties voor beveiligde logoverdracht |
Syslog-faciliteiten en ernstniveaus
Syslog categoriseert berichten via ‘faciliteiten’ zoals kernel, mail, auth, cron, enzovoort. Elke faciliteit kan berichten genereren met verschillende ernstniveaus. Deze niveaus variëren van 0 (emergency) tot 7 (debugging). Hierdoor kunnen beheerders filters toepassen op basis van belang en bron.
Syslog-server en clientmodel
In een typische implementatie is een apparaat zoals een router of server een Syslog-client en stuurt loggegevens naar een centrale Syslog-server. Deze server verzamelt, indexeert en slaat de berichten op, vaak voor bewaking of analyse. Bekende Syslog-servers zijn rsyslog, syslog-ng en Graylog.
Syslog maakt het mogelijk om netwerk- en systeemproblemen snel te detecteren, onregelmatigheden te analyseren en historische data te bewaren. In beveiligingsomgevingen wordt Syslog vaak geïntegreerd met SIEM-systemen (Security Information and Event Management) voor detectie van aanvallen, compliance-controle en forensische analyse.
Omdat Syslog via UDP standaard geen versleuteling biedt, wordt het aanbevolen om beveiligde alternatieven zoals TLS op poort 6514 te gebruiken wanneer gevoelige informatie wordt gelogd of wanneer logdata over onbeveiligde netwerken wordt verzonden.