Zum Hauptinhalt springen

Appendix A. Implementer Guidelines (Implementierungsrichtlinien)

Dieser Anhang ist nicht normativ.

Jede syslog-Implementierung SOLLTE in der Lage sein, Nachrichten bis zu einer Länge von mindestens 480 Oktetten zu akzeptieren. Dies ist die minimal erforderliche Länge. Implementierungen SOLLTEN in der Lage sein, Nachrichten bis zu einer Länge von 2048 Oktetten zu akzeptieren.

A.2. Transport Considerations (Transport-Überlegungen)

Implementierer sollten sich der verschiedenen Eigenschaften bewusst sein, die verschiedene Transporte bieten:

  • UDP-Transport: Bietet keine Liefergarantie. Nachrichten können verloren gehen, dupliziert oder neu geordnet werden.

  • TLS-Transport: Bietet zuverlässige, geordnete Nachrichtenzustellung und Vertraulichkeit.

A.3. Syslog Message Format (Syslog-Nachrichtenformat)

A.3.1. PRI Part (PRI-Teil)

Der PRI-Teil der syslog-Nachricht ist mit dem ursprünglichen BSD-syslog kompatibel, wie in [RFC3164] dokumentiert.

A.3.2. VERSION (Version)

Die Einführung des VERSION-Feldes ermöglicht es, verschiedene Versionen der syslog-Nachricht zu unterscheiden. Dies ist wichtig für die Zukunftssicherheit des Protokolls.

A.3.3. TIMESTAMP (Zeitstempel)

Das in diesem Dokument verwendete TIMESTAMP-Format basiert auf [RFC3339]. Dies bietet eine präzise und international standardisierte Zeitdarstellung.

Implementierer sollten beachten, dass:

  • Die Verwendung von UTC wird empfohlen, wenn möglich.
  • Zeitzonenoffsets sollten verwendet werden, wenn die lokale Zeit verwendet wird.
  • Die Genauigkeit des Zeitstempels sollte durch die "timeQuality" SD-ID angezeigt werden, wenn sie nicht optimal ist.

A.3.4. HOSTNAME

Das HOSTNAME-Feld sollte den Fully Qualified Domain Name (FQDN) enthalten, wenn dieser verfügbar ist. Wenn der FQDN nicht verfügbar ist, können alternative Werte verwendet werden, wie in Abschnitt 6.2.4 beschrieben.

A.3.5. STRUCTURED-DATA (Strukturierte Daten)

STRUCTURED-DATA ist ein leistungsfähiges Feature, das es ermöglicht, strukturierte Informationen in einer syslog-Nachricht zu übertragen. Implementierer sollten:

  • Die vordefinierten SD-IDs verwenden, wenn sie für ihre Anwendung geeignet sind.
  • Eigene SD-IDs mit ihrer privaten Unternehmensnummer erstellen, wenn spezielle Informationen übertragen werden müssen.
  • Die Anzahl der SD-ELEMENTs in einer einzelnen Nachricht begrenzen, um Leistungsprobleme zu vermeiden.

A.3.6. MSG Part (MSG-Teil)

Der MSG-Teil enthält die Freitextnachricht. Implementierer sollten:

  • UTF-8-Kodierung verwenden, wenn internationale Zeichen benötigt werden.
  • Die BOM verwenden, um anzuzeigen, dass UTF-8 verwendet wird.
  • Die Verwendung von Steuerzeichen vermeiden, wenn möglich.

A.4. Relay Considerations (Relay-Überlegungen)

Ein Relay empfängt syslog-Nachrichten und leitet sie weiter. Relays sollten:

  • Nachrichten nicht ändern, es sei denn, es ist absolut notwendig.
  • Den TIMESTAMP aktualisieren, wenn sie dies tun, sollten sie dies in STRUCTURED-DATA dokumentieren.
  • Fehlerhafte STRUCTURED-DATA ohne Änderung weiterleiten.

A.5. Security Considerations (Sicherheitsüberlegungen)

Implementierer sollten die in Abschnitt 8 beschriebenen Sicherheitsüberlegungen berücksichtigen. Insbesondere sollten sie:

  • TLS-Transport verwenden, wenn Sicherheit erforderlich ist.
  • Mechanismen zum Schutz vor Überflutungsangriffen implementieren.
  • Nicht davon ausgehen, dass Zeitstempel genau sind.
  • Mehrere Kanäle für kritische Ereignisse verwenden.

A.6. Beispiel-Implementierung

Hier ist ein Beispiel einer vollständigen syslog-Nachricht:

<165>1 2003-10-11T22:14:15.003Z mymachine.example.com evntslog - ID47 [exampleSDID@32473 iut="3" eventSource="Application" eventID="1011"] BOMAn application event log entry...

Diese Nachricht zeigt:

  • PRI: <165> (Facility=20 (local4), Severity=5 (notice))
  • VERSION: 1
  • TIMESTAMP: 2003-10-11T22:14:15.003Z (UTC)
  • HOSTNAME: mymachine.example.com
  • APP-NAME: evntslog
  • PROCID: - (NILVALUE)
  • MSGID: ID47
  • STRUCTURED-DATA: Ein Element mit drei Parametern
  • MSG: UTF-8-kodiert (mit BOM)