https://www.informationsecurity.com.tw/Seminar/2024_PaloAlto/
https://www.informationsecurity.com.tw/Seminar/2024_PaloAlto/

觀點

資訊過載-壓倒網管人員的最後一根稻草

2007 / 04 / 02
ERIC COLE
資訊過載-壓倒網管人員的最後一根稻草

幾乎不可能處理所有伺服器以及網路裝置所產生出來的大量日誌記錄資料。所以把所有的這些事件用統一的格式儲存起來以供分析和關聯就變得非常的重要。如果你因為日誌記錄資料過於龐大而長期忽視它,或者是只透過單一的日誌記錄來監控網路,那麼你就應該使用syslog。
大部分非Wind ows 平台的作業系統以及內嵌Unix的裝置、所有的Unix服務(daemon)、路由器、防火牆、交換器以及網站伺服器,幾乎都會使用syslog當成共用規格。有許多的免費以及商業工具可以讓Winodws整合syslog,像是KiwiEnterprises的Kiwi Syslog Daemon。

只需要投入一點點時間和精力,你就可以從syslog取得龐大的好處:
●可以透視並了解你的區域網路中發生了什麼事。
●針對稽核記錄建立一個可中央控管的機制,讓你可以在單一地點備份或者分析稽核記錄檔案。
●跨異質系統間的關聯性。舉例來說,典型伺服器上的稽核記錄和路由器的稽核記錄被視為獨立的個體。透過syslog你可以一起觀察這兩項稽核記錄進而更加了解網路狀況。
●驗證各項裝置。Syslog可以驗證各項裝置是否正常的運作中。

例如,如果防火牆預設應該要將某種流量給阻擋,可是卻在syslog中發現該行為,那麼就表示可能有某樣東西故障了或者組態設定有誤。
?偵測攻擊協助快速的找出潛在的惡意事件。

有用的資訊
Syslog針對資訊過多的問題將稽核記錄資料分門別類的儲存起來,讓這些資訊可以簡單地被管理和分析。兩種最常見的分類方式是稽核記錄來源以及關鍵性,分別對應到syslog的資訊欄位“Facility”顯示哪一項服務軟體或服務產生該筆資訊,以及欄位 “Severity”表示該資訊的重要性。
為了讓稽核記錄有其價值,正確的組態syslog是很重要的,可是這也是最常被忽視的問題。每一項被記錄的資訊(facility)都可以被傳送到不同的位置,或者被不同的群組觀看,進而提供最大的彈性、查驗項目與平衡。大型企業可以建立多個syslog伺服器,而每一個伺服器負責特定的資訊或者一組特定的功能;針對較小型的組織,使用單一syslog伺服器將不同的資訊分門別類記錄起來也可以運作的很好。
Kern以及其他重要的服務應該要比系統上其他較不重要的服務更常被檢視。然而,記錄所有的資訊還是必須的,因為這些資訊可能會提供你找出系統問題的癥結或者系統被入侵的根本原因。例如,某次資安事件中某個系統被放入rootkit,可是該公司卻無法找出rootkit是怎麼被放到系統中的。後來發現該程式是核心層(kernel-level)的rootkit,該公司便將注意力放在kern以及系統記錄訊息(system facility)中 。一直到他們在檢視郵件資訊(mail facility)時才發現有異常大小的封包進到公司。 Syslog提供資料,但是人必須針對這些資料進行人工的關聯判別。某些版本的syslog內建有發出警告的功能;其餘的syslog可以使用簡單的腳本程式(scripting)來進行警告通知。

由於稽核記錄的大量成長,就算使用了syslog,追蹤一起攻擊變得越來越困難。這也是為什麼syslog開始整合SIM/SEM工具。這些工具會做初始關聯和分析來縮小事件,讓人可以更快速並專心的進行根本分析。

Severity level被用來決定訊息的重要性。你可以針對組織中每一個裝置被入侵後所造成的衝擊以及該多迅速恢復某裝置來設定severity level。許多的組織經常會犯沒有適當定義severity level的錯誤,因此無法在使用syslog時得到良好的效益。例如,如果我的呼叫器總是一直的產生出緊急狀況的警訊通知,那麼不用多久我就會開始忽略這些通知。然而,如果呼叫器在開啟的狀態下幾乎沒有收過任何緊急狀況的警訊通知,那麼只要一收到該類警訊我就會馬上做出反應。

如果severity level設定正確,syslog就會表現的像是一個主機型的入侵偵測統(HIDS, Host-based Intrusion Detection System)。使用syslog或者是把syslog當成中央日誌記錄伺服器的主機型入侵偵測系統/入侵防禦系統(HIDS/IPS)產品,你可以找出幾個主要的安全問題:

單一的偵測點。如果你把每一項裝置設備都當成一個主機型入侵偵測系統,把這些資訊蒐集在一起的中央式syslog可以針對這些資訊進行分析。

網路型入侵偵測系統的限制。網路型入侵偵測系統(NIDS)存在的一個問題是無法看見主機所看見的。封包切割以及其他TCP協定相關的攻擊可以欺騙網路型入侵偵測系統,認為惡意的網路封包是正常的,但是實際上主機卻會被迫執行惡意行為。中央集中式的syslog伺服器可以確實的看到主機做過了甚麼。在越來越多封包是被加密過的狀況下運行syslog更顯重要,因為主機是在資料被加密過後才來進行日誌記錄。

驗證主機型入侵偵測系統的正確性。當主機型入侵偵測系統越來越精準之後,自然而然的軟體發展就會從偵測攻擊轉到預防攻擊。然而,許多的組織無法忍受主機型入侵偵測系統的誤判,且需要一個在阻擋攻擊之前能夠驗證是否是真實攻擊的方法。Syslog不只可以針對單一主機還可以對整個網路提供滿足這樣需求的功能。

監控防火牆的規則。運行防火牆時最堅持的一項原則就是僅給予最低權限(least privilege),但是要達成這項原則卻可能很困難。由於Syslog伺服器可以記錄每一個伺服器上的資訊,就可以利用這些資訊去回推防火牆允許開放哪些通訊埠。現在,你可以對應防火牆的規則到每一個主機上並且使用syslog來驗證哪些通訊埠或者服務真的需要透過防火牆被存取。


最佳實踐
Syslog可以讓你洞察整個網路的狀況,但是要能夠透過syslog取得最大效益就必須正確的組態syslog。 以下有一些提示和訣竅讓你可以在使用 syslog時取得最大的效益。

比對本機以及遠端的日誌記錄。如果一個入侵者取得某個裝置的控制權,他就可以修改本機的日誌記錄檔來隱藏他的蹤跡。如果你使用了集中式的syslog伺服器,甚至在本機日誌記錄資料已經被修改的狀況下,你還是會記錄到發生了甚麼事。你可以自己撰寫腳本程式來比對本機以及遠端的檔案;如果檔案的資料不相符,很可能就代表某項裝置已經被入侵了。修改syslog的組態檔。Syslog的組態檔預設是在etc目錄下的syslog.conf(etc/syslog.conf)。大部分的入侵者都會檢視這個檔案,如果他們發現這些記錄都會被傳送到遠端的syslog伺服器,攻擊者就會試著去停止這個負責日誌記錄的服務程式或者對中央伺服器進行阻斷服務攻擊。你可以欺騙這些入侵者:建立一個假的etc/syslog.conf檔案並只負責將記錄儲存在本機上,然後在不同的目錄中建立真正的syslog.conf 檔案並且重新編譯syslog服務程式來指向新的地方。入侵者將不會知道你進行了遠端的日誌記錄工作。
使用只能寫入一次的記錄方式。因為syslog的資訊可以被用來當成法庭上的證據,你就必須保證這些資訊的完整性。最簡單的解決方法就是將這些資訊複寫到只能寫入一次的儲存媒體,通常都是可寫入一次多次讀出的裝置(WORM drive)。透過SSH來傳送syslog。Syslog資訊是透過明碼的方式在傳送並可以在網路上被觀察到。為了保護這些傳送的資訊,應該透過SSH管道來進行傳送。SSH幾乎是每一種電腦系統都會內建的而且SSH需要使用的額外封包也最小。為了對所有的資訊進行加密,SSH允許你增加強健的認證機制以及主機驗證,進而增加syslog資料的可靠度。

使用網路校時協定(network time protocol)。為了能跨多個系統進行校時的關聯,確保這些系統使用的時間是可靠的是很重要的。網路校時協定(Network timeprotocol;NTP)是一個可以確保每一個系統都使用相同時間的簡單方法。


下一代
Syslog有一些很重要的限制。第一,未提供驗證。任何送到伺服器符合syslog格式的資訊都會被處理和接收。因為不提供驗證,攻擊者可以假造資訊送給syslog伺服器。例如,攻擊者可以通知你一筆假的攻擊事件來轉移他真正想攻擊目標上的防禦資源。

此外,因為syslog使用UDP協定所以並不保證資料會送達。因此,如果對syslog伺服器發起系統洪水阻斷服務攻擊(system-flooding DoS attack),合法的資料就可能會流失。

Syslog-ng就是一個使用TCP協定並支援認證的改進版。在預設狀況下,TCP協定會保證封包的送達。因為TCP協定可以使用session和tear down,所以主機可以透過額外像是IPsec的協定來產生驗證認證用的額外資訊。

Syslog-ng也內建日誌輪轉功能。Syslog在進行日誌輪轉時會因停止服務程式或重新啟動而遺失某些資訊。Syslog其中一項的問題是把日誌輪轉的存檔工作用來作為遵循法規、呈堂證物以及未來調查時不允許有任何資料流失的工具。

Syslog-ng會自動的將日誌記錄給儲存到預先設定的地方。此外,syslog僅提供基本的日誌記錄資訊,因此有的時候在追蹤日誌訊息或者追查跨系統間事件的詳細狀況時會產生問題。在追蹤日誌訊息方面,原始裝置的標頭資訊常常會被轉送裝置覆寫成轉送裝置的資訊。例如,如果某個裝置負責轉送三個系統的資訊時,原始的資料將會流失。此外syslog對於封包標頭的資訊記錄也非常地有限。

Syslog-ng就可以透過記錄資訊的組態功能來記錄發生了甚麼事、資訊是由誰產生的以及何時發生的來協助解決以上的問題。Syslog-ng已經可以被大部分的裝置使用並且取得供應商的支援。然而還是有些裝置還不支援Syslog-ng,你可以設定你的syslog-ng伺服器來支援傳統的syslog裝置格式以及新式的格式。

Eric Cole,擁有 CISSP證照,著有《Hiding in Plain Sight and Hackers
Beware》及《coauthor of Network Security Bible》。