要約

  • RFC 3195のRAWプロファイルは従来型syslogメッセージをBEEPで運び、チャネル内の信頼性と順序性を確保する。COOKEDは構造化エントリーを使い、個々のエントリーに肯定または否定の応答を返せる。
  • それぞれが示す範囲は異なる。フレームの到達や<ok/>だけでは、イベントの発信元、永続保存、索引化、運用上の対応を証明できない。

「信頼性」という語は、仕様が保証する範囲より広く聞こえることがある。RFC 3195は2001年11月、Standards Track文書として公開され、syslogをコネクション指向のBEEPフレームワークに対応づけた。二つのプロファイルは設計上の選択を表す。RAWは低負荷と後方互換性を重視し、従来のsyslog形式を保ちながら、BEEPでチャネルごとの信頼性と順序性を得る。COOKEDは構造化された操作を使い、各entryにokまたはerrorを返せる。この応答が扱うのはプロトコル上の交換であり、ログ処理の後工程すべてではない。(RFC 3195 §§1, 3.1, 4.4.2)

証拠の連鎖を分けて考えたい。送信者がイベントを発し、BEEPの相手が完全なメッセージを受け取り、COOKEDの受信側がエントリーを承認または拒否する。その後、コレクターが解析、書き込み、索引化、複製を行ったり、アラートを生成したりする。これらは別々の状態変化だ。RFC 3195は転送とプロファイルの交換を規定するが、汎用のストレージトランザクションまでは定義しない。<ok/>も、コレクターが永続媒体へフラッシュしたか、後続の利用者が記録を受け取ったかを示さない。errorは管理上の拒否かもしれず、イベントが存在しなかった証拠にはならない。

RAWの仕様はこの境界を具体化する。BEEPの終端マーカーはメッセージを区切り、同一チャネル内で信頼性と順序性を与える。一方、RAWの受信側が最初に送るメッセージ自体にはsyslogエントリーとしての意味がなく、送信側の応答がエントリーを運ぶ。また、RAWイベント本文の上限は1,024バイトで、BEEPのフレーミング分は除外される。これはペイロードの境界であり、永続保存の約束ではない。RFC 3164のパケット全体の上限や、中継時の末尾切り詰めとも異なる機構だ。(RFC 3195 §3.3; RFC 3164)

RFC 3195は、通信の保護とメッセージオブジェクトの完全性も分けている。セキュリティの節では、侵害された機器が誤ったメッセージを生成し得ること、また追加の技術がなければ中継やコレクターがメッセージを検知されずに改変、挿入、削除できることを述べる。認証、リプレイ防止、完全性、機密性は個別に設定するサービスだ。保護されたチャネルは一つのホップの相手を認証できても、その主体がイベント中のホスト名と同じとは限らず、イベント本文のエンドツーエンド署名にもならない。(RFC 3195 §§5, 10; RFC 5425 §4)

後年のsyslog仕様はこの違いをさらに明確にした。RFC 5848は、発信元認証、完全性、リプレイ耐性、順序確認、欠落検知を支え得る署名ブロックを定義する。同文書は、信頼できる転送でもアプリケーション層の損失は防げないと指摘する。たとえば受信側がTCPまたはTLSセッションを閉じる場合だ。これらはRFC 3195の広範な導入実績や、署名があらゆる保存問題を解くことを示すものではない。配送、真正性、完全性には別々の証拠が要ることを示している。(RFC 5848 §§1, 8.3–8.7)

RFC 3195の意義は、保証範囲を具体的に切り分けた点にある。RAWは「このBEEPチャネルはメッセージを順番どおり配送したか」を問い、COOKEDは「この受信側はこのエントリーに肯定または否定で応答したか」を加える。それ以外、イベントの真正性、障害後の保存、担当者の対応は追加の仕組みなしに答えられない。インシデント調査では、セッション状態、エントリー応答、署名検証、コレクターの永続化、後続処理を別々に記録すべきだ。RFCが定めるのはプロトコル動作であり、現行の普及度や実運用性能を示す資料は確認できていない。

出典:RFC 3195;RFC EditorのRFC 3195現行レコード;IETF Datatracker版RFC 3195本文;RFC 3080:BEEPコア;RFC 3081:TCP上のBEEP;RFC 3164:BSD Syslogプロトコル;RFC 5424:Syslogプロトコル;RFC 5425:SyslogのTLS転送;RFC 5426:SyslogのUDP転送;RFC 5848:署名付きSyslogメッセージ;RFC 6587:TCP上のSyslog;RFC 2782:DNS SRV;RFC 2119:要求レベルを示す用語。