Nach meinem Verständnis sind die gängigen Syslog-Formate:

  • RFC 3124 (BSD-Syslog):

    Format: < Priorität > Zeitstempel Hostname Anwendung: Nachricht

    Beispiel: <133>25. Februar 14:09:07 Webserver syslogd: Neustart

  • RFC 5424 (IETF-Syslog):

    Format: < Priorität >VERSION ISOTIMESTAMP HOSTNAME ANWENDUNGS-PID MESSAGEID STRUKTURIERTE DATEN MSG

    Beispiel: <34>1 2003-10-11T22:14:15.003Z mymachine.example.com su – ID47 – BOM „su root“ ist für lonvick auf /dev/pts/8 fehlgeschlagen

Aber sehen wir uns die Protokollformate anderer Unternehmen an:

  • Cisco:

    Beispiel: *Jan 18 03:02:42: %LINEPROTO-5-UPDOWN: Leitungsprotokoll auf Schnittstelle GigabitEthernet0/0, Status geändert auf down

  • Fortinet (Hier sehen Sie Syslog im Schlüssel-Wert-Paar. Ist das überhaupt Syslog?)

    Beispiel: <190>date=2015-03-30 time=14:42:11 logid=0508020503 type=utm subtype=emailfilter eventtype=smtp level=information vd="root" sessionid=83879670 srcip=12.130.136.122 srcport=48137 dstip=xxxx dstport=25 proto=6 service=SMTP profile="EF_Example" action=log-only from=" [email protected] " to=" [email protected] " sender=" [email protected] "recipient=" [email protected] " sentbyte=15369 rcvdbyte=46 direction=outgoing msg="allgemeines E-Mail-Protokoll" subject="Novos Treinamentos para Certificação Trend Micro" size="15360" attachment=no

  1. Bedeutet das, dass das Syslog-Format an ihre Bedürfnisse angepasst werden kann? Wie kann SIEM-Software dann diese Protokolle analysieren, wenn verschiedene Unternehmen unterschiedliche Syslog-Formate verwenden?
  2. Was bringt es dann, einen RFC zu haben, wenn verschiedene Unternehmen unterschiedliche Protokollierungspraktiken verfolgen?
  3. Meine letzte Frage: Sind das überhaupt Syslog-Formate?
answer

Als sehr kurze Antwort: Weil ein RFC die bestehende Codebasis, die in 15-25 Jahren geschrieben wurde, nicht ändert.

Alle Arten von Syslog-Formaten wurden seit den frühen 1980er Jahren entwickelt und verwendet (AFAIK, das Konzept hat seinen Ursprung in sendmail, und der erste Syslog-Daemon war 1986 Teil von 4.3 BSD ). Mit den Unix-Kriegen und dem Ende von BSD konnte jeder bauen, was er brauchte, und es gab wenig Anreiz, irgendetwas zu standardisieren. Ein minimaler Standard wäre "alles, was der BSD-syslogd verarbeiten kann" gewesen, und selbst dann wichen viele Implementierungen bewusst davon ab, um beispielsweise key=value oder TCP-Unterstützung hinzuzufügen.

RFC 3124 ist ein Informations-RFC aus dem Jahr 2001. Er ist nicht normativ (im Sinne von „das ist Syslog und alles andere nicht“), sondern verfolgt den Ansatz „schau, was da draußen ist und beschreibe eine kleine Gemeinsamkeit“.

RFC 5424 als vorgeschlagener Standard hat diesen normativen Ansatz. Aber es ist aus dem Jahr 2009, und selbst damals ist es "nur ein weiterer optionaler Standard", weil es praktisch unmöglich war (und ist), den gesamten vorhandenen und nützlichen Code da draußen zu ändern.