自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

紅帽開發(fā)者:準(zhǔn)備扔掉你的syslog吧!

譯文
系統(tǒng) Linux
多年以來,系統(tǒng)管理員們和運(yùn)維們在懷疑服務(wù)器遭受攻擊或出現(xiàn)問題的時候,肯定是要先檢查syslog的。不過在最近,紅帽的兩位開發(fā)人員提議采用一種新的基于二進(jìn)制數(shù)的工具“The Journal”,這個工具可能將在Fedora 17中取代syslog。要知道,現(xiàn)在的syslog已經(jīng)是30年的老古董。

【51CTO精選譯文】說到保護(hù)服務(wù)器,你首先會想到什么?

多年以來,系統(tǒng)管理員們和運(yùn)維們在懷疑服務(wù)器遭受攻擊或出現(xiàn)問題的時候,肯定是要先檢查syslog的。不過在最近,紅帽的兩位開發(fā)人員提議采用一種新的基于二進(jìn)制數(shù)的工具“The Journal”,這個工具可能將在Fedora 17中取代syslog。

兩位開發(fā)人員名叫Lennart Poettering和Kay Sievers。他們的建議是:現(xiàn)在的syslog已經(jīng)是30年的老古董,不僅效率低下,很容易被誤讀和被改動,甚至于連其最基本的功能——將系統(tǒng)事件日志存儲在某一個Linux機(jī)器上都無法正常執(zhí)行。

這在很大程度上歸咎于系統(tǒng)日志不拘形式的性質(zhì):只要是Linux系統(tǒng)上的應(yīng)用程序或守護(hù)程序發(fā)送的文本字符串,不管采用什么樣的形式,系統(tǒng)日志基本上都照收不誤。于是,某個守護(hù)程序可能會以某一種方式發(fā)送關(guān)于事件的信息,而另一個守護(hù)程序可能會以全然不同的方式來發(fā)送事件信息;這樣一來,解析信息其含義的任務(wù)就扔給了閱讀日志的人。自動化的日志分析工具在這方面有所幫助,但是Poettering和Sievers在關(guān)于The Journal的詳細(xì)描述中寫道:

“記入日志的數(shù)據(jù)其形式非常隨便。自動化的日志分析工具需要解析人類語言字符串,以便:

1)識別消息類型,以及

2)從中解析相關(guān)參數(shù)。

這就導(dǎo)致了令人討厭的正則表達(dá)式,而且經(jīng)常需要跟在上游的開發(fā)人員屁股后面,因?yàn)檫@些開發(fā)人員可能會在新版本的軟件中調(diào)整人類語言的日志字符串。實(shí)際上,從某種程度上來講,只能這樣。為了不破壞用戶所用的正則表達(dá)式,所有日志消息變成了其相對應(yīng)的服務(wù)的二進(jìn)制文字版界面(ABI),而這通常不是開發(fā)人員的本意。”

這兩位開發(fā)人員重點(diǎn)指出了當(dāng)前的系統(tǒng)日志體系存在的14個問題,而上面這個只是其中之一。其他問題包括如下:      

•syslog的數(shù)據(jù)沒有經(jīng)過驗(yàn)證。

•syslog僅僅是Linux上眾多的日志系統(tǒng)之一。

•根本就沒有針對syslog的訪問控制機(jī)制。

•只是在固定的間隔時間對磁盤使用實(shí)行了限制,導(dǎo)致系統(tǒng)很容易受到分布式拒絕服務(wù)(DDoS)攻擊。

等等。Poettering和Sievers重點(diǎn)指出了syslog體系存在的一個大家非常關(guān)注的問題:

“比如說,最近熱議的kernel.org入侵事件涉及的就是黑客操縱日志文件;要發(fā)現(xiàn)這種攻擊行為,完全靠運(yùn)氣。”

考慮到這些因素,Sievers和Poettering提議采用The Journal守護(hù)程序,該守護(hù)程序?qū)碜韵到y(tǒng)日志的事件以二進(jìn)制數(shù)、而不是文本的形式來存儲數(shù)據(jù),將數(shù)據(jù)作為包含散列以增強(qiáng)安全性的鍵-值對(key-value pair)列表來存儲。

這并不是這兩位開發(fā)人員頭一回提議對Linux系統(tǒng)的基礎(chǔ)架構(gòu)作出如此全面的改變。Poettering不但是PulseAudio聲音服務(wù)器的開發(fā)者,還開發(fā)了取代Linux上System V init守護(hù)程序的systemd守護(hù)程序。Sievers最近成了Fedora項(xiàng)目團(tuán)隊(duì)的一名成員,他提議:需要時,將所有可執(zhí)行文件移入到/usr/bin目錄,將它們的庫移入到/usr/lib或/usr/lib64。(編輯注:當(dāng)然,如果你的usr沒了,那就悲催了)

實(shí)現(xiàn)了這種二進(jìn)制數(shù)后,The Journal守護(hù)程序就能夠?yàn)槊總€系統(tǒng)事件添加元數(shù)據(jù),比如進(jìn)程編號和發(fā)送者名稱、用戶和用戶組編號以及其他關(guān)鍵的系統(tǒng)數(shù)據(jù)。

“受udev事件的啟發(fā),The Journal條目酷似環(huán)境塊(environment block)。許多鍵/值字段由換行符分隔,使用大寫字母的變量名。與udev設(shè)備事件和實(shí)際環(huán)境塊相比較,有一大區(qū)別是:雖然關(guān)注的重心絕對放在ASCII格式化字符串上,但是作為值的二進(jìn)制斑點(diǎn)(binary blob,這是指裝入到開源操作系統(tǒng)內(nèi)核里面的一種對象文件,但沒有向公眾開放的源代碼)也得到支持——這種對象文件可以用來添加二進(jìn)制元數(shù)據(jù),比如ATA SMART健康狀況數(shù)據(jù)、SCSI感知數(shù)據(jù)、核心轉(zhuǎn)儲數(shù)據(jù)或固件轉(zhuǎn)儲數(shù)據(jù)。生成The Journal條目的代碼想為條目添加多少字段,就可以添加多少。字段可以是很有名的字段,也可以是針對特定服務(wù)/子系統(tǒng)/驅(qū)動程序的字符。”

如果說開發(fā)人員覺得這一切聽起來有點(diǎn)耳熟,那么不妨直說吧:Poettering和Sievers在這方面的許多努力其靈感其實(shí)源自提供給使用Git版本控制系統(tǒng)的開發(fā)人員的鍵/值、散列和元數(shù)據(jù)這些概念。

實(shí)施The Journal不但會讓Linux系統(tǒng)變得更安全(因?yàn)槲唇?jīng)驗(yàn)證的日志條目或突如其來的數(shù)據(jù)字符項(xiàng)會立即被The Journal守護(hù)程序標(biāo)出來),其發(fā)明者還希望通過統(tǒng)一Linux機(jī)器上的所有日志系統(tǒng),為數(shù)據(jù)高效地重新建立結(jié)構(gòu),可以實(shí)際減少日志系統(tǒng)在Linux上占用的資源。

“其設(shè)計(jì)方式如下:日志數(shù)據(jù)只添加在末尾(目的是為了借助基于mmap()的訪問,以確保健壯性和原子性),頭里面的一些元數(shù)據(jù)變化可以引用新添加的日志數(shù)據(jù)。字段在日志文件中作為一個個對象來存儲,然后可供有需要的所有條目來引用。這大大節(jié)省了磁盤空間,因?yàn)槿罩緱l目通常高度重復(fù)(想一想每個本地消息都會含有同樣的_HOSTNAME=和_MACHINE_ID=字段)。數(shù)據(jù)字段經(jīng)過了壓縮,目的是為了節(jié)省磁盤空間。最終結(jié)果就是,雖然The Journal記入日志的元數(shù)據(jù)要比經(jīng)典系統(tǒng)日志記入的多得多,但是占用的磁盤空間并沒有立馬體現(xiàn)這一點(diǎn)。”

然而,不是每個人都因這一提議而激動萬分。Poettering和Sievers預(yù)料,許多開發(fā)人員和系統(tǒng)管理員不高興The Journal使用通用唯一標(biāo)識符(UUID)來識別消息,他們其實(shí)并不真正注意提議文檔FAQ部分中的這個議題。

許多人在最先刊登這項(xiàng)提案的LWN上發(fā)表了反對意見,他們?yōu)楹唵蔚幕谖谋镜南到y(tǒng)將換成依賴The Journal這一種工具的二進(jìn)制數(shù)據(jù)格式而悲痛,而這個工具將僅在systemd守護(hù)程序中存在。

有幾個人在上面針對The Journal提議的FAQ留言道:

“日志文件格式會實(shí)現(xiàn)標(biāo)準(zhǔn)化嗎?我在哪里能找到磁盤上數(shù)據(jù)結(jié)構(gòu)的解釋?”

“目前,我們不想對格式進(jìn)行標(biāo)準(zhǔn)化。只要我們覺得合適,就想隨意改變格式。我們可能最終會將磁盤上數(shù)據(jù)格式記入文檔,但是眼下,我們不想使用其他任何軟件來直接讀取、寫入或操縱我們的日志文件。我們需要一個共享庫和命令行工具才能訪問。(但是同樣,這是自由軟件,所以你總是能閱讀源代碼?。?rdquo;

這引起了很大的爭議,因?yàn)長WN上的許多讀者反對為The Journal的數(shù)據(jù)使用非標(biāo)準(zhǔn)格式。向后兼容也是讓人擔(dān)心的一大問題。

其中一位讀者C. McCabe留言道:“真遺憾,我們要失去明文syslog格式的簡潔性。再說了,syslog通常使用gzip進(jìn)行了壓縮。所以實(shí)際上對我來說,這一切意味著,我將需要使用某個“神奇的工具”而不是gzcat作為我外殼命令的第一個部分。我發(fā)現(xiàn)的一大問題是,許多系統(tǒng)管理員會將這視作可以提高安全的魔法粉末,卻沒有認(rèn)識到:為了獲得任何安全方面的優(yōu)點(diǎn),他們需要定期將那些散列保存到遠(yuǎn)程而且安全的系統(tǒng)。”

McCabe補(bǔ)充說:“我還希望Lennart及其公司認(rèn)識到磁盤上數(shù)據(jù)格式向后兼容的絕對必要性。要是升級到新版本后,舊日志變得無法讀取,這確實(shí)會激怒許多系統(tǒng)管理員。不過,假如這方面得當(dāng)了妥善處理,我覺得這倒也算是個好想法。”

這在更廣泛的Linux社區(qū)會引起怎樣的反響?我本人認(rèn)為,F(xiàn)edora(及它的紅帽爸爸)現(xiàn)在成了一個對Linux的許多內(nèi)部基礎(chǔ)架構(gòu)進(jìn)行改造的項(xiàng)目,而Ubuntu等發(fā)行版則側(cè)重于界面和用戶方面。

顯然,Linux在經(jīng)歷一些重大的革命性變化,剔除了UNIX的一些糟粕。在Linux不斷前進(jìn)的同時,這些變化會給它帶來怎樣的影響,讓我們拭目以待吧。

原文:http://www.itworld.com/it-managementstrategy/227291/linux-syslog-may-be-way-out

【編輯推薦】

  1. Linux日志管理高級進(jìn)階:實(shí)例詳解syslog
  2. 如何用rsyslog確保遠(yuǎn)程Linux日志安全?
  3. 專題:Windows服務(wù)器系統(tǒng)日志管理入門 
責(zé)任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2010-09-07 09:10:57

HTML 5特性CanvasWeb存儲

2016-11-29 07:39:18

蘋果iOS科技新聞早報(bào)

2011-05-06 11:55:41

紅帽PaaS

2009-12-25 09:12:33

2014-07-21 10:00:37

框架HTML5框架模板

2011-01-11 09:25:56

2012-10-17 10:09:16

紅帽

2009-05-25 10:18:29

PHPLAMPGLAMMP

2012-06-13 01:23:30

開發(fā)者程序員

2018-06-28 13:17:35

云平臺云環(huán)境容器

2023-08-18 10:57:42

?紅帽Linux

2013-10-24 09:50:12

開發(fā)者框架

2016-03-25 09:29:24

Apple開發(fā)工具開發(fā)者

2012-06-20 15:01:25

iOS開發(fā)

2012-02-28 09:32:40

蘋果OS X 10.8

2014-06-05 08:47:52

Spark 1.0Mapreduce

2013-09-12 09:49:36

PHP調(diào)試工具PHP調(diào)試工具

2021-06-25 09:00:00

Java開發(fā)工具

2021-11-17 12:10:32

在線課程TensorFlowFlutter

2022-10-09 18:52:11

JavaScript開發(fā)數(shù)組
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號