windows server - 碁峰資訊epaper.gotop.com.tw/pdf/aca007500.pdf · windows server indows server...

10

Upload: others

Post on 18-Jul-2020

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Windows Server - 碁峰資訊epaper.gotop.com.tw/pdf/ACA007500.pdf · Windows Server indows Server 2003 ACLs !"# Windows $% Windows N T Server 4.0 & Windows 2000 Server '( )*+,-

Windows Server

的安全對策

indows Server 2003 提供了一些保護你的作業系統及

應用程式的對策。一些對策譬如存取控制清單

(ACLs),從早期的 Windows版本(Windows NT Server 4.0

和 Windows 2000 Server)便已存在;然而有些是新的,譬如

網際網路連線防火牆(Internet Connection Firewall)。

在討論實際的 Windows Server的安全性功能之前,先談

論 Windows Server 架構的背景和它的附屬系統。第六章解

釋如何實行這些功能來保護你的系統。

Windows Server的架構

Windows 是一個模組型態的作業系統,它表面看起來是

整體的,但實際上它是由一些層級元件所組成,每一層都比

上一層更細微。

W

55C H A P T E R

本章內容

Windows Server

的安全功能

Active Directory

的安全管理

Microsoft

CryptoAPI

IPSec

ISA Server

� � � �

� � � �

Page 2: Windows Server - 碁峰資訊epaper.gotop.com.tw/pdf/ACA007500.pdf · Windows Server indows Server 2003 ACLs !"# Windows $% Windows N T Server 4.0 & Windows 2000 Server '( )*+,-

5-2 PART 1 安全基礎篇

在Windows Server 2003架構中最細小的模組是記憶體模式。Windows

上的所有事情都會執行兩種記憶體模式中的其中一種,如圖 5-1。使用者

模式(user mode)是所有使用者程式和應用程式(更精確地說,除了設

備的驅動程式或者作業系統的元件之外)執行的地方,還有核心模式

(kernel mode),是作業系統的服務,譬如 Windows kernel,和設備的驅

動程式執行的地方。

在核心模式中執行的元件可以直接存取硬體並直接存取記憶體至幾

乎整個記憶體空間。在使用者模式下執行的程式不能直接存取核心模式的

記憶體。記住這點,因為在安全管理中這是一個重要的因素。

圖 5-1 使用者記憶體模式和核心記憶體模式

談到 Window Server 的安全性時,使用者模式和核心模式的差別是

重要的。假設沒有限制程式在記憶體中執行的空間,作業系統元件和使用

者應用程式共用相同的記憶體空間。攻擊者就可以很容易地寫出一個存取

系統記憶體的應用程式並且竊取密碼。分離這兩種記憶體模式避免了這樣

的攻擊,因為重要的資料值,例如密碼,是保護在核心記憶體模式中,無

法由使用者應用程式來存取。雖然其它的安全性問題仍存在,但這是設計

一個安全的作業系統的第一步。

更細微的下一層是存在 Windows kernel 本身的模組中。這些模組包

括的元件,像是 Process Manager,用來控制處理程序和執行緒,以及 I/O

manager,透過設備的驅動程式用來控制硬體的存取。這些就是所謂的

executive services。

Page 3: Windows Server - 碁峰資訊epaper.gotop.com.tw/pdf/ACA007500.pdf · Windows Server indows Server 2003 ACLs !"# Windows $% Windows N T Server 4.0 & Windows 2000 Server '( )*+,-

Windows Server 的安全對策 5-3

既然你知道了一些關於 Windows 的架構,你也許想知道應用程式如

何在使用者模式和核心模式間建立橋樑,讓它們可以存取硬體並且寫入磁

碟或存取網路。應用程式的存取是透過數個閘道嚴格控制,包括 Win32

子系統及 LSA(Local Security Authority)。圖 5-2 顯示這些閘道如何允許

應用程式的存取。

圖 5-2 建立使用者模式和核心模式間的橋樑

Win32 子系統是負責提供應用程式對大多數硬體及其它核心服務的

存取。在 Windows Server 中,幾乎每一樣事都被視為一個物件,包含檔

案,處理程序等等。這些物件有的可能只能由作業系統直接存取。一些應

用程式介面(API)提供程式設計師作為這樣的存取。限制直接存取硬體

的好處是清楚的。所有的存取皆由作業系統來控制,這樣避免了作業系統

層安全性服務的繞行。應用程式開發者不需要關心他們軟體中驗證的問

題,因為可以使用標準的 Windows 驗證的機制。使用者只需要存取他們

被許可的物件。

LSA 是介於作業系統和使用者環境之間的另一個閘道。它並不是對

使用者應用程式提供存取物件的權限,無論如何,它是對這些存取執行安

全的查核。LSA 是 Windows 安全性子系統中主要的元件。大多數其它的

安全元件是連接到 LSA。LSA負責使用者驗證並授與存取權杖(token),

以及管理本機安全原則。LSA 是 Windows 架構中的元件。當使用者存取

本機系統時,它提供使用者存取權限。

Page 4: Windows Server - 碁峰資訊epaper.gotop.com.tw/pdf/ACA007500.pdf · Windows Server indows Server 2003 ACLs !"# Windows $% Windows N T Server 4.0 & Windows 2000 Server '( )*+,-

5-4 PART 1 安全基礎篇

LSA使用一些外部元件以允許或拒絕存取。使用者資料庫,譬如 SAM

( Security Accounts Manager),是本機使用者的資料庫,而 Active

Directory 把資料送給驗證通訊協定例如 Kerberos 和 NT LAN Manager

(NTLM),由它們連接到 LSA以控制存取。這些驗證通訊協定是由一個

叫做 Multiple Authentication Provider(MAP)所決定。MAP控制使用何

種驗證,例如 Kerberos,一個客戶端支援的外部驗證機制,或者 NTLM 提

供給早期不支援較新的通訊協定如 Kerberos的客戶端。

LSA 並沒有直接接觸作業系統。LSA 是系統上安全活動的集中地,

但它使用一個名為 Security Reference Monitor (SRM)的元件,作為真

正與核心層的活動。SRM負責實際存取控制的活動以及稽核物件的存取。

Windows Server的安全功能

Windows Server 引進了一些新的安全功能,其中有一些和 Windows

XP共用。有一些功能是全新的,例如 ICF (Internet Connection Firewall),

而有一些是大幅度更新現有的功能,例如 EFS (Encrypting File System)。

Windows Server的安全性功能比它最初外表給人的印象超出許多。直

到你開始大範圍建構你的 Windows 網路,並且脫離工作群組的模式進入

到網域/目錄服務的架構之後,這些功能才變得明顯。

Windows Server 的新功能

大多數在 Windows Server新的安全性功能是沿自於 Windows 2000並

加以更新。新的功能包括 Internet Connection Firewall( ICF),Session

Initiation Protocol (SIP),空白密碼的限制,以及軟體限制原則。

Page 5: Windows Server - 碁峰資訊epaper.gotop.com.tw/pdf/ACA007500.pdf · Windows Server indows Server 2003 ACLs !"# Windows $% Windows N T Server 4.0 & Windows 2000 Server '( )*+,-

Windows Server 的安全對策 5-5

網際網路連線防火牆(ICF)

ICF是個人防火牆應用程式。個人防火牆是設計用來保護本機免於遭

受攻擊。在一個有數台電腦的網路中,以一個真實的防火牆保護整個網路

是比較有效的方法,因為設定的改變僅需要在一個地方執行。在每一個系

統上,使用個人防火牆譬如 ICF,對一個小型的網路來說有時比較經濟實

惠。現在提供給小型網路使用的防火牆硬體裝備大概在美金 500到 1000

元間,而個人防火牆的用處是局限在單一個 Internet連結系統,但一些人

可能寧願選擇使用 ICF而非小型防火牆。

ICF 保護了單一系統的安全。預設已安裝,只需要啓用及設定。ICF

可以用來設定送出和接收的連線。送出的連線設定是受限的。除了某些

ICMP的傳輸可以被設定允許或拒絕,所有對外的傳輸是被允許的。

第六章 ICF 的運用。

接收的傳輸有較多可以設定的。ICF主要目的是控制進來的傳輸。預

設沒有任何網路傳輸允許進入。不同類型的傳輸可以被啓用,譬如,FTP,

Web 或是 Ping 的請求。如果預設沒有你需要的服務項目,你也可以自訂

服務。

除了傳輸的控制,ICF也有記錄日誌的能力。這允許你記錄成功或失

敗的連線,或兩者。這些記錄檔可以用來偵測系統的攻擊,並且查閱其它

的網路傳輸。

Session Initiation Protocol (SIP)服務

SIP 是提供如 Instant Messaging (IM)和其它線上即時通訊的軟體

譬如視訊會議所使用的通訊協定。SIP的服務提供這些應用程式一致性及

安全的傳遞路徑。

這些應用程式(譬如 IM)是相當不安全的。一些功能,如檔案傳輸,

允許不受信任的檔案在不做病毒掃瞄的情況下傳輸至你的電腦,就如同它

參考

Page 6: Windows Server - 碁峰資訊epaper.gotop.com.tw/pdf/ACA007500.pdf · Windows Server indows Server 2003 ACLs !"# Windows $% Windows N T Server 4.0 & Windows 2000 Server '( )*+,-

5-6 PART 1 安全基礎篇

們也會在電子郵件中出現。除非停用整個網路上的 IM,不然你不能限制

這樣的功能性。SIP可以針對這一類的傳輸,實行比較嚴謹的控制。

空白密碼的限制

預設你不能用一個密碼空白的帳號登入遠端系統。例如,如果本機管

理者帳號的密碼是空白的,你可以毫無問題地經由控制介面登入此系統。

但無論如何你不能使用那個帳號遠端登入。遠端登入包含對本機的網頁伺

服器或是對共用檔案的連線。

這項行為的設計是當系統出現空白密碼時用來避免 Internet的攻擊。

如果帳號的密碼是空白,而安全方法無效時,任何人便可以遠端存取這個

系統上的資源。

限制遠端登入可以兩種方式避免;所有帳號應該被強固的密碼所保

護。當密碼被設定時,帳號便可以作為遠端存取。在安全原則中停用這個

安全的功能也是可能的,但不建議這麼做。

軟體限制原則

軟體限制原則用來隔離潛在危險的程式以避免它們執行時對系統造

成損害。一個普遍的問題是電子郵件中夾帶的病毒或蠕蟲或者經由他種方

式。當執行這些程式時,它們啓動可自行散播的惡意攻擊碼,有時候對系

統造成了損害。

藉由在群組原則中設定軟體限制原則,將不被信任的程式隔離以保護

系統免於任何損害。這些程式可以被完全地限制執行或者嚴格地限制執行

以便它們在一個隔離的環境中執行,檢查負面的作用。

程式可以隔離在電子郵件的附加檔案中,網路連結,以及 ActiveX控

制項,因為這些是最常見惡意攻擊程式的地方。程式可以根據雜湊(定義

檔)或者是特定的 Internet區域來限制。

Page 7: Windows Server - 碁峰資訊epaper.gotop.com.tw/pdf/ACA007500.pdf · Windows Server indows Server 2003 ACLs !"# Windows $% Windows N T Server 4.0 & Windows 2000 Server '( )*+,-

Windows Server 的安全對策 5-7

Windows 現行的安全對策

有一些功能在早期的 Windows版本就已存在,NT 3.5、3.51和 4.0。

Windows 2000成為接替安全作業系統的下一步,並在基本的作業系統中

實行大量新的安全功能,特別是引進了 Active Directory(AD)。Active

Directory 比起以前,能夠更加有效率並更細項地將安全原則應用在使用

者和群組之上。

使用者和群組

這似乎是多人使用的作業系統上一個明顯的特色,使用者和群組亦是

重要的安全功能。擁有個別的使用者帳戶和群組允許你使用其它的存取控

制和驗證方法。從登入到加密金鑰配對每一件事都關係著使用者。沒有使

用者帳號,任何人都有可能登入系統並存取所有系統資源。

Windows Sever 上的每一個使用者帳號都有一個指定的安全識別碼

(SID)。SID是作業系統辨識帳戶的唯一號碼。名稱的欄位和使用者名稱

等的項目只能代表屬性。只有 SID是用來辨識作業系統的帳戶。

表面上,群組是儲存使用者帳號的一個容器。群組提供存取資源一個

較容易的方法,而不需個別針對使用者來提供。群組因為它們的範圍而變

得複雜。不同型態的群組皆有屬於它自己的範圍。本機群組是系統當地的

群組,只能用在本機系統上。它們可以包含本機使用者及其他,例如網域

使用者。

網域本機群組(Domain local groups)只有在本機的網域有效。它們

包含任何使用者,和其他的群組。網域通用群組和網域本機群組類似。除

了它們可以使用在本機網域之外,如果網域設定為原始模式(Native

mode)的執行方式,它們可以包含網域使用者及其他網域通用群組。原

始模式是用在 Active Directory中,當不存在 Windows 2000之前的網域控

制站時。原始模式允許更多的功能,因為它並不需要和之前的版本相容。

Page 8: Windows Server - 碁峰資訊epaper.gotop.com.tw/pdf/ACA007500.pdf · Windows Server indows Server 2003 ACLs !"# Windows $% Windows N T Server 4.0 & Windows 2000 Server '( )*+,-

5-8 PART 1 安全基礎篇

最後的群組類型是萬用群組(Universal groups)。這個群組在 Active

Directory 網域樹系 (forest)中任何地方都是有效的。Active Directory 網

域樹系可以包括任何使用者,網域通用群組,或其他的萬用群組。樹系包

含一些共用設定資訊的網域和在 AD 上單一的通用類別目錄(Global

Catalog)。

存取控制清單(ACLs)

ACL(Access Control List,存取控制清單)是 Windows Server一個

主要的安全功能。一筆 ACL 代表一個物件的屬性,指定使用者和群組對

物件存取的類型。這類型的存取控制清單稱為 DACL (Discretionary

ACL,判別存取物件清單)。除了在物件上的 ACL,在某些情況下 ACL

還可以針對特定的物件內容。在這個情況下,可以針對特定內容允許或拒

絕存取,而不是對整個物件,允許在存取控制上作更細微的設定。

稽核

Windows Server 也針對物件的存取提供稽核。由於許多物件存在

Windows的系統中(例如使用者帳號和檔案),事件如登入,登出,以及

檔案存取都可以被稽核。物件還有一種 ACL,名為系統存取控制清單

(SACL),控制存取物件時的稽核。

使用者權利

使用者權利和 ACL類似。除了不允許使用者存取物件,它們授與使用

者權限去執行動作。使用者權利是針對本機系統。在一個網域的模式中,

使用者權利經由群組原則所指派。一些可以授與使用者的權利包括下列:

� 改變系統時間的權利

� 關閉系統的權利

� 登入行動的權利

Page 9: Windows Server - 碁峰資訊epaper.gotop.com.tw/pdf/ACA007500.pdf · Windows Server indows Server 2003 ACLs !"# Windows $% Windows N T Server 4.0 & Windows 2000 Server '( )*+,-

Windows Server 的安全對策 5-9

譬如,使用者可以被限制本機登入或者從網路上存取本機系統

群組原則

群組原則是在 Active Directory中執行。 群組原則是應用在特定的使

用者群組或電腦或整個網域並且為使用者或電腦定義一組原則。這和

Windows NT 4.0的系統原則編輯器的工具類似,但更拓展了它的運用。

群組原則在 Windows Server 上是一個主要的安全特色。它們被用來

控制許多的安全功能,譬如密碼原則以及 Kerberos 的設定。群組原則在

保護你的網路安全上是一個強大的工具。除了可以自訂群組原則,一些群

組原則的範本也包含在 Windows server 當中,它允許你設定系統的安全

層級而無須了解每一個需要改變的設定。範本可以被運用並且自動完成必

要的改變。

NT檔案系統

NT檔案系統(NTFS)是 DOS檔案配置表(FAT)的替代方法。FAT

使用在一些其它的 Windows版本和 DOS中。不像 FAT,NTFS支援 ACLs。

這是為什麼 NTFS 被廣泛使用在 Windows 的安裝中。指派檔案物件的權

限,在 FAT的檔案系統是不可能的。NTFS在檔案系統驅動程式的運用方

面,提供比 FAT更佳的效能。

加密檔案系統

EFS(Encrypting File System,加密檔案系統)是用來加密 NTFS磁

碟分割上的檔案。基本上,EFS合併公開金鑰和對稱加密來對資料加密。

只有對檔案加密的使用者或管理者可以解密檔案。EFS對使用者是完全透

明的,所有運作是在檔案系統驅動程式的層級中執行。

加密檔案系統在第八章有詳細的討論。

參考

Page 10: Windows Server - 碁峰資訊epaper.gotop.com.tw/pdf/ACA007500.pdf · Windows Server indows Server 2003 ACLs !"# Windows $% Windows N T Server 4.0 & Windows 2000 Server '( )*+,-

5-10 PART 1 安全基礎篇

當使用 EFS 對檔案加密時,資料是經由亂數產生的檔案加密金鑰

(FEK)來加密。EFS 然後利用使用者憑證(它是透過 Windows Server

的 PKI自動註冊的功能所產生)加密 FEK。加密的 FEK被儲存成為檔案

的屬性。解密的過程正好相反。你利用使用者的私密金鑰解密 FEK,然

後利用 FEK對檔案解密。

第十二章公開金鑰的基礎結構。

Kerberos驗證

預設在網域模式下,Windows Server使用 Kerberos驗證方法。Kerberos

比傳統的 NTLM 的驗證方式更加地安全,因為它使用完整公開金鑰的密

碼編譯方法而不是一個簡單的單向雜湊法。很多年來,Kerberos一直作為

一個高度安全的驗證機制。

Kerberos 驗證的綜述將在第十章介紹,詳細地描述在第十一章。

虛擬私人網路

VPNs(Virtual Private Networks,虛擬私人網路)是在公用的網路上

例如 Internet,建立兩個網路間的安全連線。你可以在 Windows Server 上

以幾種方式實行 VPN。Point-to-Point Tunneling Protocol(PPTP),Layer 2

Tunneling Protocol(L2TP),以及 IP Security(IPSec)都是有支援的通訊

協定。VPNs正快速地增加,因為高速網路的成本正在下降中,而點對點

網路連線的成本相對地仍維持一致。對於許多較低速的點對點連線而言,

譬如 T1(1.544 mbps),在 SDSL Internet或類似的連線上執行 VPN更為

經濟實惠。而較高速的網路在維持高價的情形下被認為不比 VPN 來得有

效。除此之外,在高速連線(100 Mbps+)上執行 VPN 所須的硬體設備

是昂貴的。

參考

參考