Linux

為什麼像 cisco 這樣的公司遵循不同的 syslog 消息格式,而不是 rfc 3164 (BSD syslog) 和 rfc 5424 (IETF syslog)?

  • March 28, 2022

據我了解,流行的系統日誌格式有:

  • RFC 3124(BSD 系統日誌):

格式: <優先級>時間戳主機名應用:消息

範例: <133>Feb 25 14:09:07 webserver syslogd: restart

  • RFC 5424(IETF 系統日誌):

格式: <優先級>VERSION ISOTIMESTAMP HOSTNAME APPLICATION PID MESSAGEID STRUCTURED-DATA MSG

範例: <34>1 2003-10-11T22:14:15.003Z mymachine.example.com su - ID47 - BOM’su root’ 在 /dev/pts/8 上為 lonvick 失敗

但是讓我們看看其他公司的日誌格式:

  • 思科:

範例: *Jan 18 03:02:42: %LINEPROTO-5-UPDOWN: 介面 GigabitEthernet0/0 上的線路協議,將狀態更改為關閉

  • Fortinet(在這裡你可以看到鍵值對中的 syslog。這甚至是 syslog 嗎?)

範例: <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=“newsletterslatin@trendmicro.rsys1.com” to=“mail2@xx” sender=“newsletterslatin@trendmicro.rsys1.com “收件人=“mail2@xx” sentbyte=15369 rcvdbyte=46 direction=outgoing msg=“一般電子郵件日誌” subject=“Novos Treinamentos para Certificação Trend Micro” size=“15360” attachment=no

  1. 這是否意味著可以根據自己的需要修改 syslog 格式。那麼如果不同的公司遵循不同的 syslog 格式,那麼 SIEM 軟體如何解析這些日誌呢?
  2. 如果不同的公司遵循不同的日誌記錄實踐,那麼擁有 RFC 有什麼意義呢?
  3. 我的最後一個問題,這些甚至是系統日誌格式嗎?

作為一個非常簡短的答案:因為 RFC 不會更改 15-25 年內編寫的現有程式碼庫。

自 1980 年代初以來,各種 Syslog 格式已經被開發和使用(AFAIK 這個概念起源於 sendmail,第一個 syslog 守護程序是1986 年4.3 BSD的一部分)。隨著 Unix 戰爭和 BSD 的結束,每個人都可以自由地建構他們需要的東西,並且沒有什麼動力去標準化任何東西。一個最小的標準應該是“BSD syslogd 可以處理的一切”,即使這樣,許多實現也有意識地偏離了這個標準,例如添加 key=value 或 TCP 支持。

RFC 3124是 2001 年的資訊 RFC。它不是規範性的(在“這是 Syslog 而其他任何東西都不是”的意義上),而是採用“看看那裡有什麼並描述一個小的共同點”的方法。

作為提議標準的RFC 5424具有這種規範性方法。但它是從 2009 年開始的,即使在那個時候它也只是“另一個可選標準”,因為幾乎不可能(現在仍然)改變所有現有的和有用的程式碼。

引用自:https://serverfault.com/questions/1097195