自從網際網路開始連接了原本需仰賴傳統媒介的世界後,每日訊息的交換不斷的增加。逐漸的,網路的速度越來越快,訊息的傳遞越來越豐富,傳遞的方式也越來越多,從 Web 1.0 到現在所提出的 3.0 概念,所有的資訊也開始從原本集中的資訊儲存到分散再回到現有的雲端概念,每個人也開始對於所擁有、公開、利用、分享的訊息是如何被保護也開始重視。
從另一層面,主管機關也制定法規以重視消費者的資訊,以及服務提供者應盡到何種義務對這些資料做保護。進而各式各樣的稽核標準不斷的進化,以確保法規規範被確實達成。而在所有不同的稽核環節中,包含管理、風險評估、網路架構、系統架構之間的要求,相信許多人多少耳聞其基本需求為何。本系列文章將針對上述環節中的基本構成元件:主機系統的稽核,其重要性及為何需要稽核進行深入探討。
掌握主機稽核四大區塊
伺服器主機,其主要目的是提供不同的服務給其使用者,是所有資訊環節中最重要,也是最常被忽略的地方。絕大部分的企業因主機系統數量龐大,難以加強管理,通常為了能夠保持服務品質就已經消耗了大量的人力。同時,主機系統的各項維護也只有在必須時才進行,而並非常態性的做評估並判斷主機的安全性。
正是這種長期眼不見為淨的心態,變成每個資安事件都是事後反應,而沒有積極在事前做預防的準備工作。主機的安全稽核,就是事前預防非常重要的一環。主機的稽核,可通用性的分為幾個區塊:
1) 資料稽核
2) 使用者行為稽核
3) 權限稽核
4) 主機日誌稽核
本文將針對上述的稽核區塊,舉例提出平日可簡易判斷的部份稽核項目,增強主機的檢核概念。
資料稽核
資料的稽核,通常是以常態性使用的結構性(資料庫系統)或非結構性(檔案資料)為主。而對一般的資安人員來說,資料庫系統的稽核也是常常碰到的問題,因為基本上很多的攻擊型態最終目標都是鎖定在資料庫系統內的資料。資料本身的使用方式,也需要將資料的傳輸方式,及傳輸的末端進行稽核。主要需要稽核的部分,也不外於各式各樣不同的應用程式如何去取得資料,或資料是如何被利用、新增、修改到各種不同的資料儲存端。
資料使用上的稽核通常會收集並產生大量的稽核資料,且為了能重建過去所發生資料的活動與事件,通常也需要將稽核資料做歷史性的長期歸檔存放。有些系統並無自動歸檔設計,一旦系統內部的儲存空間(如磁碟機)用盡,為了能持續收集稽核資料,則勢必將較舊的資料刪除捨棄,別無他法。如此一來很可能會發生在資料流量極為忙碌的狀況下,系統只僅能儲存1天的稽核資料或甚至只有數小時資料的窘境(視資料庫的負載而定)。另外,儲存稽核資料的方式或資料結構,也會大幅地影響系統的效能與耗用大量的儲存空間,使儲存空間的成本大幅攀升。
使用者行為稽核
所有主機系統的設計,都是為了給使用者去使用。而使用者本身的使用行為,會是整體主機安全中的相當重要的一環。使用者的行為,是所有資安環節中對於資料外洩的第一問題,而攻擊者欲進行攻擊時,都需要取得某個使用者的帳號密碼才可連接到不同的主機系統竊取資料。
在很多的資安問題發生的當下,都是因為不當的使用者行為而產生;舉凡短時間多次重複登入,非正常時間登入行為,都是在稽核過程中應當要注意的部份。但是通常對於一般的管理人員,這些資料都是要進行大量的日誌收集跟分析才能夠達成,因此鮮少有人會願意去執行。即使有分析相關的資料,也需要針對這些不正常的行為去做更深入的探討,像是使用者的來源路徑是否是正規路徑,或是可能由其他的跳板系統來進行連結。
權限稽核
傳統權限控管的實作是採取存取控制列(Access Control List)的方式,但是目前大部份的系統都改成以角色為主的權限控管(Role-Based Access Control,簡稱RBAC)的方式。在一個以角色為主的權限控管系統中,權限並不直接分配給使用者,而是分配給角色(Role),而使用者因為擁有角色,間接取得權限,因此,角色是扮演著使用者和權限之間中介者的任務。
一般的攻擊者在取得使用者帳號密碼並在可登入到不同的系統後,會針對已有的帳號密碼嘗試進行權限的提升,或透過該帳號密碼做最高權限使用者的帳號密碼的竊取。在另一部分,對於系統內不同的資料其權限設定也需要定期的進行稽核,確保對應的使用者權限是正確無誤的。
權限本身的問題,會直接影響到整個主機的穩定性,因此這一部分不可不做,但卻也是常被忽略的一點。尤其很多企業的資訊單位,會因為方便使用的原則將主機的連線使用者權限開的非常大,進而產生更多的漏洞或是可能的攻擊路徑被利用。
主機日誌稽核
前面所述的資料稽核、使用者行為稽核,跟權限稽核,都是將其資料存於主機的系統中。因此,主機的日誌保存方式為主機日誌稽核的其一重點。
主機的日誌保存依照不同的作業系統可使用不同的方式進行保存。目前主要的儲存方式有兩種:
一種是讓設備自己將資料傳送到Log Server中,另一種則是讓Log Server定期自動地到各個設備去收集資料。不過,在某些應用系統上有時會很難運作,幸運的話,可能只需要安裝代理程式(Agent),就可以協助收集到所需要的資料,但若不幸的話,一些委外開發的應用系統,甚至連產生Log的作法都沒有。
目前,Syslog是普遍被應用的Log server架構,但也有一些作業系統並沒有支援它,需要透過額外的工具來進行資料轉換才行。此外,Syslog的缺點是當網路傳輸流量大的時候,部份資料可能會因此而遺失,再加上預設的Syslog流量本身是沒有加密的,並且使用UDP通訊協定來進行溝通,在過程中很容易被假冒的訊息來攻擊。而除了Syslog,SNMP trap也是用來傳遞資料給Log Server的一種常見的方法,但SNMP一樣在傳輸過程中沒有加密,所以也容易遭到偽冒攻擊。
主機日誌政策5大方向
日誌的保存,也需要有對應的政策去輔助,下列為針對一些主機系統日誌的部份,可以做的一些日誌政策的擬定方向:
1. 擬定適當的管理政策
在文件化的政策之中,首先應說明到底有哪些人需要存取Log資訊?通常可能會包括IT、稽核或法務人員;接著,必須決定哪些是重要的系統和設備,要如何去收集不同格式的Log資料;然後,還要定義哪些事件是需要優先監控和分析的,以Windows作業系統為例,需要留意的Log記錄可能會有:帳號登入失敗、帳號鎖定、建立了新帳號、使用者帳號狀態變更、修改安全群組、修改安全記錄、政策變更等。
2. 選擇適合的收集方式
請先進行網路環境分析,再決定收集資料的方法,若要採取集中化方式進行,就需要特定的Log server來處理,但是要注意當大量Log資料傳輸時,可能會造成的網路壅塞情況。另外,Log server本身也需要進行系統安全強化,以避免受到攻擊而失效。
3. 應用適當的分析工具
大量的Log資料需要被分類、組織和搜尋,但是設備所內建的工具方面有時不是那麼容易使用,因此應選擇適當的整合式Log管理工具,並且測試確認是否能快速查詢分析,並產出符合法規或清晰易懂的報表,以滿足經營階層的需求。
4. 選擇適當的儲存方式
許多法規都要求Log必須保存一定的年限,以PCI資料安全標準為例,它要求企業需針對Log資料進行審查,並至少保存一年以上,因此Log資料的儲存與查詢,會是能否符合稽核時的重點。在國外的訴訟方面,Log有可能也會成為法庭上的證據,因此必須要確保資料的完整性,在歸檔與查詢時應避免修改原始資料,另外也可考慮加密儲存,以避免資料遭到竄改,並將儲存Log的媒體,放置在安全的地點。
5. 時間同步是重要關鍵
在Log管理之中,還有一個非常重要的地方,那就是必須確保各系統與設備時間的一致性,如果因為記錄的時間不同,在進行分析時,各個設備的Log資料即無法串連,甚至可能會誤導在問題處理時的方向,因此最好在內部架設一部Time server,以便所有設備可以進行時間同步。
日誌整合分析更顯重要
雖然資料的保存是主機安全稽核重要一環,但更重要的是能夠將各種不同的日誌資料在後端進行整合的工作。主要的問題在於今天攻擊的方式和路徑是越來越多元化,日誌的整合和融會貫通是每一位資安人員的必備功課。日誌資料的成長勢必越來越大,因此市場上也有各類不同的工具做日誌的整合和分析。但資安人員在每個企業中並不一定有專屬人員任職,因此通常都是各個系統的管理人員自行做稽核,但這也會牽扯到人力和時間的問題。
現實的問題,讓主機的安全稽核問題變得越來越多,絕對不會越來越少。每個企業要怎麼樣去有效的處理這些稽核問題,也通常會導入工具去進行。但是工具的導入後,也需要仰賴人員的定期查核才能達到效果,並非導入後就可以變成萬靈丹讓所有的問題消失散去。資安人員的素質培養,也將會變成一個重要的課題。下一篇將繼續探討如何利用日誌整合與分析找出APT攻擊的蛛絲馬跡。
本文作者為資深資安顧問,專長為資安法規稽核與資安訊息鑑識