在微軟(Microsoft)最近開始主張的網路安全概念當中,微軟宣稱如果使用者需要真正安全的網路,使用者必須注意包括週邊、網路、應用程式、資料、主機等五個方面的防衛問題。在此我將會把焦點集中在網路防護上,並提出保障網路防衛安全的四個步驟。 什麼是網路防衛? 網路防衛涉及連結不同網路以及整體網路運作的問題,但是網路防衛並不處理外部防火牆和電話撥接這些涵蓋在周邊防衛當中的問題,也不包括主機防衛當中的伺服器和工作站。通訊協定和路由器之類的問題,才是網路防衛涵蓋的範圍。 內部防火牆 雖然網路防衛並不包括外部防火牆,但是這並不表示網路防衛和防火牆完全無關。事實上,我對於加強網路防衛的第一個建議,就是在啟動內部防火牆。內部防火牆基本上和外部防火牆一樣,主要的差別是內部防火牆著重於自家網路當中的防衛。這邊有幾個建置內部防火牆的原因: 試想如果駭客或病毒在外部防火牆上動手腳,穿透了外部防火牆保護。一般來說,內部網路將會暴露在攻擊之下,可是如果這個時候你已經啟動了內部防火牆,那麼這些穿過外部防火牆的惡意封包,還是可以被內部防火牆阻擋下來。 另外一個主要的原因,則是因為許多攻擊是發自內部網路的事實。或許你曾經聽過這樣的事情,不過卻認為內部的攻擊絕對不會發生在你的網路上。可是,在我以前工作過的公司當中,每一家都有來自內部的攻擊或違反資訊安全的例子。 其中兩家公司,就因為有員工或系統管理員,覺得從公司網路上抓取資料很酷,於是就著手嘗試看看可以在網路上抓到什麼資料。他們宣稱他們並沒有惡意,只是想秀一下自己的能力,可是不管他們的動機是什麼,他們的動作都破壞了網路的資訊安全。我們必須在內部網路防止這種事情的發生。 在其他的公司裡面,我則看過有人使用未經授權的程式,而這些程式又感染了特洛伊木馬的病毒。這些特洛伊木馬,則透過特定的通訊埠對外發送訊息。防火牆也沒辦法處理這種存在內部網路上的惡意封包。 這樣的情況也引發一個必須注意的事實:大多數我所知道的技術,外部防火牆都只能阻絕來自外部的封包,而會允許內部封包向外傳遞。我建議檢查外來封包的標準,必須應用在向外傳送的封包上。因為你永遠不曉得,特洛伊木馬會不會從內部把自家網路的資訊傳到全世界。 在理想的狀況下,每一台個人電腦或伺服器,都應該安裝內部防火牆。市場上有許多不錯的個人用防火牆,像賽門鐵克(Symantec)的Norton's Personal Firewall 2003就是一個例子。不過因為Windows XP已經內建了個人防火牆,你可能一毛錢也不用花,就可以啟動內部防火牆。 想要啟動Windows XP的防火牆,就先點選「我的網路」,打開快捷選單(shortcut menu)的「屬性」選項,顯示網路連線狀的視窗。然後在你所需要的網路連結上,點擊右鍵點選「屬性」,並在「進階設定」下勾選防火牆的選項。此外,你也可以透過「設定」,打開所需要的通訊埠。雖然Windows XP的防火牆是以網際網路的防火牆為設計目標,不過也是可以當作內部防火牆來用。 加密 我建議的下一個步驟,就是把網路上所傳遞的訊息進行加密。這可以從建置IPSec開始,這裡提供一些關於建置IPSec時所必須知道的事情。 當你設定IPSec的時候,你可以把IPSec設成必須加密(require encryption)或請求加密(request encryption)。如果你把IPSec設成必須加密,任何嘗試和你連線的機器都會被告知連線需要加密功能。如果這些機器有加密功能,那雙方就會建立安全通道開始傳輸資料。如果對方沒有IPSec加密功能,那就無法建立連線傳送資料。 要求加密的方式則有些不同。在要求加密當中,如果嘗試和你連線的機器有IPSec功能,那麼就會建立安全通道,以加密的方式傳送資料。但是如果和你連線的機器不支援IPSec,雙方仍然會建立傳輸通道,只是資料會以未經加密的方式傳送。 此外,我建議把所有的伺服器規劃在一個安全網路當中。這個網路應該獨立一般的網路之外。每一台伺服器配備兩張網路卡,一張用來連結主要的網路,另一張則是連接私有的伺服器網路。在伺服器網路當中只允許伺服器加入,並配備專屬的路由器或交換機。 建立這樣的環境之後,你在伺服器之間就建立了一個專屬的骨幹網路。所有伺服器間的通訊,包括RPC或複製的連結,都可以透過這個專屬的骨幹網路。這樣就可以加強伺服器上資料傳輸的安全,並增加主要網路上的頻寬。 在這個只有伺服器的網路當中,我建議將IPSec設成必須加密。除非你有UNIX、Linux、Macintosh或其他非微軟的伺服器,不然所有的伺服器應該都支援IPSec,你將會擁有完整的加密環境。所有連結到主要網路的工作站或伺服器,則可以設為要求加密,以便在安全和功能上達到有最佳化的平衡。 不過IPSec並無法辨識設在不同地點的電腦的網路卡,所以除非伺服器只連在伺服器網路上,不然你就會把他設成要求加密,以免其他機器無法連上伺服器。 IPSec也不是網路上唯一的一種加密方式,你必須考慮如何保護穿過網路週邊的資訊以及經由無線方式連結的網路。 無線區域網路的產品仍在演進當中,所以無線的加密方式被視為一個棘手的問題。因為無線傳遞的封包可能被任何裝有無線網卡的筆記型電腦攔截,所以許多系統管理員,就直接把無線區域網路當作不安全的網路。 不過,雖然無線區域網路有他的風險,在某種程度上來說。無線區域網路可能比有線連結還來得安全。這是因為無線區域網路採用WEP作為加密機制。WEP加密的程度可以從40-bit到152-bit或者更高。實際的加密強度則依據最低公分母而定,例如,雖然你的無線基地台支援128-bit的WEP加密,但是用戶端卻只有64-bit的WEP加密,最高的加密等級也就被限制在64-bit的加密。只是目前幾乎所有的無線區域網路產品最少都會支援128-bit的加密。 許多系統管理員並未了解的事情是,雖然無線區域網路使用了WEP加密,但是這並不表示無線區域網路只能使用WEP加密。所以如果原本的網路就已經有IPSec加密,那WEP就只是附加另一層的加密。 網路隔離 如果公司的規模夠大,公司的網站可能有專屬的網頁伺服器。如果網頁伺服器沒有連結後端的資料庫或私有網路當中的資源,那就不需要把網頁伺服器放在私有網路當中。如果可以把網頁伺服器和私有網路分離,你就不需要擔心有人利用網頁伺服器入侵私有網路。 如果你的網頁伺服器需要連結資料庫及其他的私有網路的資源,那我建議在防火牆和網頁伺服器當中,架設ISA伺服器。來自網路的連結將會透過ISA伺服器連結網頁,而不是直接連上網頁伺服器。ISA伺服器會代理(proxy)使用者和網頁伺服器之間的請求。你也可以在網頁伺服器和資料庫伺服器當中,建立IPSec連結,網頁伺服器和ISA伺服器當中則建立SSL連結。 封包監聽器 同時,我也建議不定期以封包監聽器(packet sniffer)檢查網路,偵測還是能夠穿越安全防衛的封包。這是一個檢視實際網路資料的預防措施。如果你偵測到意外出現的封包,你就可以追蹤封包的來源。 封包監聽器最大的問題是,有時候駭客會把封包監聽器當作他們的工具。我曾經認為沒有辦法偵測到有人在我的網路上使用封包監聽器。因為封包監聽器只是去檢視網路上每個封包的內容,既然封包監聽器本身沒有傳送任何封包,那又要怎麼偵測到這些監聽器呢? 事實上,偵測封包監聽器比你想的來得簡單。你所需要的只是一台作為陷阱的電腦,一台只有你知道的工作站。先確認這台工作站擁有一個IP位址,也不屬於網域的一部分,然後再把這台工作站安裝在網路上,並發出一些封包。如果有人在你的網路上,使用封包監聽器。監聽器就會看到來自這台工作站的封包,監聽器可以看到IP位址,但是卻無法得知主機的名稱,這時候監聽器就會開始在DNS上查詢這台工作站的名稱。可是因為你是唯一一個知道這台工作站的人,理論上不應該有任何人在DNS上查詢這台工作站。所以,一旦你在DNS的紀錄檔發現類似紀錄時,那就很可能有人在網路上使用封包監聽器。 另外一個可以防範封包監聽的方法,則是把路由器換成VLAN交換機。VLAN交換機會在封包的發送方和接收方建立虛擬網路,封包不會經過網路的不同電腦,而是會直接傳到目的地。這樣一來,封包監聽就很難得到有用的資訊。 VLAN交換機也有另一個好處。如果你使用路由器,所有的節點會共享同一個頻寬,例如100Mbps的頻寬必須分給所有的連線。不過在VLAN交換機當中,每一個虛擬網路都會有專屬的頻寬,所以100Mbps的頻寬,可以同時處理好幾個虛擬的100Mbps頻寬。採用VLAN交換機可以同時加強資訊安全和網路效能。