Pages

Subscribe:

Ads 468x60px

Labels

2013年10月23日 星期三

11 個管理 Active Directory 的基本工具

作者:Laura E. Hunte…    厚朴教育来源:T.N    点击数:5338    更新时间:2009-3-13
摘要:
  • 在命令列建立物件
  •  Active Directory 內執行大量作業
  • Active Directory 的更新及維護

如果您曾經處理一份列出從下週起新進公司的 200 名新員工的 Excel 試算表,或使用者帳戶因為服務台人員輸入錯誤而設定不正確,
或者,您只是想要在除了每次開啟 [使用者及電腦之外有更簡單的 Active Directory® 管理方式,您可以利用一些免費的管理工具來幫助您。有些工具直接內建於 Windows® OS,有些隨附於 Resource Kit  Windows 支援工具中,有些則是免費的協力廠商工具。這些方便的工具是什麼?可從何處取得它們?現在就讓我們來了解一下。
我將先從 Windows Server® 2003 的內建命令列工具開始,這些工具可讓您建立、刪除、修改及搜尋 Active Directory 中的物件。

CSVDE
所謂的 CSVDE  Comma-Separated Values Data Exchange 工具,它可讓您使用 CSV 來源檔案,將新物件匯入 Active Directory 中;它也可以讓您將現有的物件匯出至 CSV 檔。CSVDE 不能用來修改現有的物件;當您在匯入模式下使用此工具時,您只能建立全新物件。
 CSVDE 匯出現有物件的清單非常簡單。以下示範如何將 Active Directory 物件匯出至 ad.csv 檔:
csvde –f ad.csv
–f 參數指出輸出檔名稱跟隨在後。但您必須知道一件事實,根據您的環境而定,此基本語法可能會產生使用不便的大型輸出檔。為了限制工具只在特定組織單位 (OU) 內匯出物件,您可以修改陳述式如下:
csvde –f UsersOU.csv –d ou=Users,dc=contoso,dc=com
現在我們進一步假設您只要匯出使用者物件至 CSV 檔。在此情形下,您可以新增 –r 參數,它可讓您指定輕量型目錄存取協定 (LDAP)篩選器來進行搜尋,以及指定 –l 參數,它可限制匯出的屬性數目 (請注意,以下全部在同一行)
csvde –f UsersOnly.csv –d ou=Users,dc=contoso,dc=com –r
    "(&(objectcategory=person)(objectclass=user))" –l
    DN,objectClass,description
–i 參數可讓您將物件從來源 CSV 檔匯入 Active Directory 中。不過,使用 CSVDE 建立使用者物件有一項重要限制:您不能在其中設定使用者密碼。因此,我會避免使用 CSVDE 來建立使用者物件。

LDIFDE
Active Directory 提供大量使用者作業的第二個內建工具,叫做 LDIFDE,它的功能比 CSVDE 更強,且彈性更大。除了建立新物件之外,LDIFDE 也可以修改及刪除現有的物件,甚至延伸 Active Directory 架構。LDIFDE 彈性的交換條件是必要的輸入檔會使用比 CSV 檔更複雜的格式,這個輸入檔稱為 LDIF 檔,其副檔名為 .ldf (您也可以很輕鬆地設定使用者密碼,但這點稍後再探討)
我們先從簡單的範例開始,將某個 OU 內的使用者匯出至 LDF  (請注意,以下全部在同一行)
ldifde -f users.ldf -s DC1.contoso.com -d "ou=UsersOU,dc=contoso,dc=com"
       –r "(&(objectcategory=person)(objectclass=user))"
就像大部分命令列工具一樣,您可以執行 LDIFDE /? 參數來找到 LDIFDE 參數的完整說明。[ 1] 說明我在此處使用的參數 (請注意,CSVDE  LDIFDE 命令的參數其實是一樣的)
 Figure 1 LDIFDE 參數

參數
說明
-d
指定 LDIFDE 應該在作業中連接的 LDAP 路徑。
-f
在此案例中,指出用來輸出匯出結果的檔案名稱。
-r
指定用於匯出的 LDAP 過濾器。
-s
指定為了執行此作業而連接的網域控制站 (DC);如果您省略它,LDIFDE 將連接到本機 DC (或已驗證您的 DC,如果您是從工作站執行此工具的話)


LDIFDE 的真正功能在於建立及處理物件。不過,在這麼做之前,您必須先建立輸入檔。以下建立兩個新的使用者帳戶,叫做 afuller  rking;若要建立輸入檔,請在 [記事本] (或您愛用的純文字編輯器輸入文字並將它另存為 NewUsers.ldf
dn: CN=afuller, OU=UsersOU, DC=contoso, DC=com
changetype: add
cn: afuller
objectClass: user
samAccountName: afuller

dn: CN=rking, OU=UsersOU, DC=contoso, DC=com
changetype: add
cn: rking
objectClass: user
samAccountName: rking
建立該檔案之後,請執行下列命令:
ldifde –i –f NewUsers.ldf –s DC1.contoso.com
這裡唯一的新參數是 -i,您大概猜得到,它表示這是匯入作業而不是匯出。
在修改或刪除現有的物件時,LDIFDE 命令的語法不變;不過,您可以修改 LDF 檔的內容。若要變更使用者帳戶的說明欄位,請建立一個叫做 ModifyUsers.ldf 的文字檔,如 [ 2] 所示。
 2 ModifyUsers LDF  (按影像可放大)
您可以執行與之前一樣的 LDIFDE 命令語法並在 -f 參數後面指定新的 LDF 檔名,來匯入變更。刪除物件的 LDF 格式更簡單;若要刪除您處理的使用者,請建立一個叫做 DeleteUsers.ldf 的檔案,並輸入下列命令:
dn: CN=afuller OU=UsersOU, DC=contoso, DC=com
changetype: delete

dn: CN=rking, OU=UsersOU, DC=contoso, DC=com
changetype: delete
請注意,LDIFDE 能夠設定使用者密碼,這點與 CSVDE 不同。不過,在您可以設定使用者帳戶的 unicodePWD 屬性之前,您必須先在網域控制站上設定安全通訊端層/傳輸層安全性 (SSL/TLS) 加密。
不僅如此,LDIFDE 還可以建立及修改 Active Directory 物件的類型,而不只是使用者帳戶。例如,下列 LDF 檔將在 contoso.com樹系的架構中建立一個自訂架構延伸,叫做 EmployeeID-example
dn: cn=EmployeeID-example,cn=Schema,
cn=Configuration,dc=contoso,dc=com
changetype: add
adminDisplayName: EmployeeID-Example
attributeID: 1.2.3.4.5.6.6.6.7
attributeSyntax: 2.5.5.6
cn: Employee-ID
instanceType: 4
isSingleValued: True
lDAPDisplayName: employeeID-example
因為 LDIFDE 檔使用業界標準 LDAP 檔案格式,所以,需要修改 Active Directory 架構的協力廠商應用程式通常會提供 LDF 檔,當您在生產環境中套用這些變更之前,可使用 LDF 檔來檢查及核准變更。
除了大量匯入及匯出作業的工具之外,Windows Server 2003 也包括內建工具組,讓您建立、刪除及修改各種 Active Directory 物件,以及對符合特定準則的物件執行查詢 (請注意,Windows 2000 Active Directory 不支援 dsadddsrmdsget  dsquery 等工具)

Dsadd
Dsadd 是用於特定目錄磁碟分割中建立 Active Directory 物件類別的執行個體。這些類別包括使用者、電腦、連絡人、群組、組織單位和配額。Dsadd 會使用由下列各項組成的一般語法:
dsadd attributes
請注意,您建立的每一個物件類型都會使用一組特定的參數,這些參數要對應該類型可用的屬性。此命令會建立填入了各種屬性的單一使用者物件 (請注意,以下全部在同一行)
dsadd user cn=afuller,ou=IT,dc=contoso,dc=com
–samID afuller –fn Andrew –ln Fuller –pwd *
-memberOf cn=IT,ou=Groups,dc=contoso,dc=com "cn=Help Desk,ou=Groups,
dc=contoso,dc=com"
–desc "Marketing Director"
–memberOf 參數需要使用者要新增至的每一個群組的完整分辨名稱 (DN);如果您想要將使用者新增至多個群組,可新增以空格隔開的多個 DN
如果有任何元素包含空格,例如 Help Desk 群組的 DN,則需要以雙引號括住它。如果有元素包含反斜線,例如一個叫做 IT\EMEA  OU,則必須輸入反斜線兩次:IT\\EMEA (這些需求適用於所有 ds* 工具)
當您使用 -pwd * 參數時,會提示您在命令列輸入使用者的密碼。您可以在命令本身指定密碼 (-pwd P@ssword1),但這樣會以純文字將密碼顯示在螢幕上,或您內含該命令的文字檔或指令檔中。
同樣地,您可以使用下列兩個命令建立群組物件和 OU
dsadd computer cn=WKS1,ou=Workstations,dc=contoso,dc=com
dsadd ou "ou=Training OU,dc=contoso,dc=com"

Dsmod
Dsmod 是用來修改現有的物件,其使用方式十分類似 dsadd,但視您要修改的物件類型而定,可能會使用不同的子功能表和語法。下列 dsmod 陳述式會變更使用者的密碼並修改其帳戶,因此在下次登入時會提示該使用者變更為新密碼:
dsmod user "cn=afuller,ou=IT,dc=contoso,dc=com" –pwd P@ssw0rd1
    –mustchpwd yes
若要了解這些參數的相似程度,請參考您設定了相同屬性來建立此使用者時所用的 dsadd 語法:
dsadd user "cn=afuller,ou=IT,dc=contoso,dc=com" –pwd P@ssw0rd1
    –mustchpwd yes
顯而易見,如果您知道要在 dsadd 中建立物件的參數,可在 dsmod 中使用那些相同的參數來修改使用者。

Dsrm
 dsadd 相反的是 dsrm;您可以想像得到,此工具可讓您從命令列刪除物件。基本 dsrm 語法非常直接了當:只要輸入 dsrm,後面跟著您要刪除的物件的分辨名稱,如下所示:
dsrm cn=WKS1,ou=Workstations,dc=contoso,dc=com
根據預設,dsrm 會提示「您確定要刪除這個物件嗎?」輸入 Y,然後按 Enter 鍵。您可以使用 –noprompt 參數而不顯示此提示,但顯然這麼做您就沒有機會在刪除之前確認是否已選取正確物件。如果您要刪除容器物件,亦即可能在其中包含其他物件的組織單位,則另有兩個參數會有幫助。下列命令會刪除 TrainingOU 組織單位及其中包含的所有物件:
dsrm ou=TrainingOU,dc=contoso,dc=com –subtree
這個命令會刪除包含在 TrainingOU 內的所有子物件,但會將組織單位物件本身留在原地:
dsrm ou=TrainingOU,dc=contoso,dc=com –subtree
    –exclude

Dsmove
若要在 Active Directory 中移動或重新命名物件,您可以使用 dsmove 工具,但請注意,您只能使用它在單一網域內移動物件。若要在網域或樹系之間移轉物件,請使用 Active Directory Migration Tool (ADMT),您可從 Microsoft 網站免費下載它。Dsmove 會仰賴兩個參數,它們可分開使用或合併使用。此命令會給予 Steve Conn 帳戶新的姓氏:
dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com"
    –newname "Steve Conn"
此命令會將 IT OU 中的 Steve 帳戶移到 OU 中:
dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –newparent
    ou=Training,dc=contoso,dc=com
您可以同時指定兩個參數,將 rename  move 合併成單一作業,如下所示:
dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –newname
    "Steve Conn" –newparent ou=Training,dc=contoso,dc=com

Dsget  Dsquery
ds* 命令列工具組也包括用來查詢 Active Directory 的兩個工具,它們是為了取得資訊而非建立或修改物件。
Dsget 使用物件的 DN 作為輸入,並提供您所指定之屬性的值。Dsget 使用與 dsadd  dsmod 相同的子功能表:usercomputercontactgroupou  quota
若要取得使用者的 SAM 帳戶名稱和安全性描述元 (SID),請輸入下列命令 (請注意,以下全部在同一行)
dsget user cn=afuller,ou=IT,dc=contoso,dc=com
    –samAccountName –sid
您將得到如 [ 3] 所示的輸出。
 3 執行 dsget (按影像可放大)
Dsquery 會傳回符合您指定的準則的 Active Directory 物件清單。不論您使用哪一個子功能表,您都可以指定下列參數:
dsquery -s -o
對於 ObjectTypedsquery 可使用下列子功能表,它們各有自己的語法:computercontactsubnetgroupousiteserver (請注意,伺服器子功能表會擷取網域控制站的相關資訊,而非環境中的任何成員伺服器)userquota  partition。如果其中一個查詢類型無法滿足要求,您可以使用 * 子功能表,它可讓您輸入任意形式的 LDAP 查詢。
StartNode  Active Directory 樹狀目錄中指定要開始搜尋的位置。您可以使用特定 DN,例如 ou=IT,dc=contoso,dc=com,或下列其中一個捷徑指定元:domainroot  forestroot,前者從特定網域根目錄開始,後者從樹系根網域的根目錄開始,並利用通用類別目錄伺服器執行搜尋。
最後,[搜尋範圍選項會指定 dsquery 應如何搜尋 Active Directory 樹狀目錄。樹狀子目錄 (預設值會查詢指定的 StartNode 及其所有子物件,onelevel 只查詢 StartNode 當前的子系,base 僅查詢 StartNode 物件。
若要進一步了解搜尋範圍,請考慮一個包含使用者物件的 OU 和其本身包含其他物件的子 OU。使用樹狀子目錄範圍將查詢 OU、其包含的所有使用者物件及子 OU 及其內容。onelevel 範圍只會查詢 OU 包含的使用者,而不查詢子 OU 或其內容。base 查詢只會搜尋OU 本身而不查詢其包含的任何物件。
最後,您可以使用 Output Format 來控制如何將 dsquery 的結果格式化。根據預設,dsquery 會傳回符合查詢的任何物件之分辨名稱,如下所示:
"cn=afuller,ou=Training,dc=contoso,dc=com"
"cn=rking,ou=ITTraining,ou=Training,dc=contoso,dc=com"
若要查詢 IT OU 內包含的所有使用者物件及任何子 OU,請使用下列命令:
dsquery user ou=IT,dc=contoso,dc=com
您可以新增其他參數來進一步限定此查詢,例如 -disabled,它只會傳回已停用的使用者帳戶;-inactive x,,它只會傳回在過去 x 週以來未登入的使用者;或 -stalepwd x,它只會傳回在 x 天以上未變更其密碼的使用者。
視目錄中的物件數而定,您在執行查詢時可能需要指定 -limit x 參數。根據預設,dsquery 會傳回最多 100 個符合查詢細節的物件;您可指定更大的數目,例如 -limit 500,或使用 -limit 0 指示 dsquery 傳回所有符合的物件。
您可以使用其他子功能表,也對其他物件類型執行有用的查詢。請看下列查詢,它會傳回 Active Directory 站台及服務所定義的每一個子網路,其位於 10.1.x.x 位址空間:
dsquery subnet –name 10.1.*
或使用下列命令以傳回位於 Corp 站台中的每一個子網路:
dsquery subnet –site Corp
使用另一個子功能表,您可以快速判斷樹系中有多少個網域控制站是設定為通用類別目錄伺服器:
dsquery server –forest –isgc
您也可以使用此語法幫助您判斷,網域中的哪一個網域控制站管理網域主控站 (PDC) Emulator Flexible Single Master Operations (FSMO) 角色:
dsquery server –hasfsmo pdc
就像其他包含子功能表的 ds* 命令一樣,您可以到命令提示字元中輸入 dsquery user /?dsquery computer /?dsquery subnet /? ...等等,來檢視特定 dsquery 子功能表內可用的所有參數。
另一個訣竅是使用 | 字元 (英數鍵盤上的 Shift + 反斜線 dsquery 的輸出 pipe 到另一個工具,例如 dsmod。例如,假設貴公司已將 Training 部門重新命名為 Internal Development,現在您必須將舊部門名稱的每一個相關使用者的說明欄位更新為新名稱。在單一命令行上,您可以查詢有 Training 說明欄位的使用者物件,然後大量修改該說明欄位,如下所示:
dsquery user –description "Training" | dsmod
    -description "Internal Development"

協力廠商的好康工具
由於 Active Directory 是依據 LDAP 標準,因此,您可以使用可表示 LDAP 的任何工具來查詢及修改它。許多協力廠商發行付費工具協助您管理 Active Directory,但有時候您會發現社群已有的免費工具。例如由 Directory Services MVP Joe Richards 所建立的集合,可從 joeware.net/freetools 下載。其中有數個工具,分別提供許多不同的功能。有三個是我常用的,即 adfindadmod  oldcmp

Adfind  Admod
Adfind  admod 類似 dsquery  dsmodadfind  Active Directory 的命令列查詢工具,admod 可建立、刪除或修改一或多個 Active Directory 物件。
與具有多個子功能表和視物件類型而定的不同參數的 ds* 工具不同,不管您要執行的查詢或修改類型是什麼,adfind  admod 均具有一致的語法。adfind 的基本語法如下:
adfind –b -s -f
    attributesDesired

因此,對於網域內所有電腦物件的 DN 和說明的查詢如下:
adfind –b dc=contoso,dc=com –s subtree –f (objectclass=computer) dn
    description
對於所有使用者物件的查詢如下:
adfind –b dc=contoso,dc=com –s subtree –f "(&(objectcategory=person)
    (objectclass=user))" dn description
請注意,除了 LDAP 查詢的內容之外,其餘語法不變。
當您使用 adfind 時,會發現一些捷徑運算子,它們可為您節省一些打字的功夫。例如,-default 參數可取代先前範例中的 -b dc=contoso,dc=com,並搜尋整個網域;-gc 會搜尋廢棄項目收集 (GC) 並傳回 Active Directory 樹系中的所有使用者。您也可以使用 -rb 參數設定搜尋的相對基底;如果您想要在 phl.east.us.contoso.com 網域中搜尋 Training OU,您可以直接指定 –default –rb ou=Training 而不要指定 –b ou=Training, dc=phl,dc=east,dc=us,dc=contoso,dc=com,這樣可為自己節省不少功夫。.
Adfind 也可以執行一些在命令列不好管理的進階搜尋功能,包括 [ 4] 所顯示的那些功能。
 Figure 4 Adfind 參數

參數
說明
-showdel
查詢 Deleted Objects 容器中的標記物件。
-bit
查詢位元運算子,例如 userAccountControl 屬性。
-asq
執行屬性範圍的查詢。此功能 ( dsquery 中無法複製可擷取特定物件的屬性,然後對它執行查詢。
-dsq
 adfind 查詢的輸出 pipe  dsmod 或其他的 ds* 工具之一。


使用 –asq 參數的範例為「顯示屬於 HelpDesk 成員的群組成員資格」,如下所示:
adfind –default –rb cn=HelpDesk,ou=IT –asq member memberOf
Admod 顧名思義,是用來修改 Active Directory 內的物件。和 adfind 一樣,並沒有什麼特殊子功能表的特定語法需要記住,不論您使用的物件類型是什麼,admod 都使用相同語法。您也可以新增適當的參數 (例如 -add-rm-move-undel),使用 admod 來新增、移動、重新命名、刪除、甚至取消刪除物件。就像 dsquery  dsmod 一樣,您也可以使用 | 字元將 adfind 查詢的結果 pipe  admod
請注意,使用 admod 執行取消刪除作業只會執行重新引發標記的作業,其中已移除大部分物件屬性。若要完全還原物件及其所有屬性,您還是需要執行物件的授權還原。

Oldcmp
還有另一個 joeware 工具,我認為是自動化工具組不可或缺的一部分:oldcmp,它會掃描 Active Directory 資料庫中在指定的週數內尚未使用的電腦帳戶,並且可執行下列動作:
  • 建立帳戶的報告,而不對它們採取任何動作
  • 停用未使用的電腦帳戶
  • 將電腦帳戶移到您指定的不同 OU
  • 立刻刪除電腦帳戶
請注意,由於 oldcmp 可能對目錄造成嚴重破壞,因此,它有一些內建的安全功能。它不會刪除任何尚未停用的帳戶 (除非有手動指定「我很肯定」的命令列參數)。除非有特別指定「我很肯定」的參數,否則它不會一次修改超過 10 個物件,而且它絕對不會對網域控制站的電腦帳戶做任何動作。
不管該工具目前令人誤會的名稱,Joe 已更新 oldcmp,使它對已有某一段特定時間未使用的使用者帳戶執行類似功能。
對於小型 Active Directory 環境或您一次只處理一兩個新增或變更的環境,像 Active Directory 使用者及電腦之類的 GUI 工具,已足夠應付每日例行管理工作。但如果您每天要新增及修改大量物件,或您希望管理工作有更有效率的解決方案,則移到命令行可以大幅加快建立、修改及刪除 Active Directory 物件的程序。誠如您所見的,免費提供的一些彈性大功能強的工具,已直接內建於 Windows 中,並且可從 Active Directory 社群的成員下載。任何這些工具都能夠大幅提高 Active Directory 系統管理者的生產力,甚至成為日常生活中不可或缺的工具。
厚朴教育录入:张俊    责任编辑:张俊

2013年10月21日 星期一

虛擬化世界的安全設計與管理實務

夏克強   
前言
近來在虛擬化技術蓬勃發展下,相信一定有很多企業或多或少都已開始導入虛擬化環境,但各個目標不一,有些可能是為了成本節能考量,有些可能是為了管理方便或甚至是為了邁進雲端做準備。虛擬化的導入通常不會一次到位,所以一定會有傳統IT環境與虛擬化環境並存的現象發生,所以我們在看含有虛擬化環境的安全課題時必須把傳統的IT環境一併考量進來。因為虛擬化改變了IT環境,因此一些資訊安全的控制方法也必須跟著改變,甚至是講到更進一步的雲端技術亦然,資安控制方法在必須考量技術與運作的特殊性時,傳統的方法就不見得可以滿足這些環境的安全需求。本文將先從兩個面向來談虛擬化的安全問題,且因為VMware vSphere 4是虛擬化技術的領導廠商,所以本文有關虛擬化安全技術的探討大都是以VMware的虛擬化技術為內容。
VMware的網站上有Released出2010年的vSphere 4 Security Hardening Guide,如圖一。安全指引的範圍包括了ESX/ESXi、VM Container、vCenter及其資料庫與子元件、VMware Update Manager、vNetwork及COS(Console Operating System)等。但VM裏頭安裝的軟體、Guest OS的Security及有關的操作安全上的問題並不在此指引涵蓋的範圍裏。此安全指引在每個大項(諸如Virtualization Host及VM及COS等)中都有針對其子項有建議的設定值,子項都有特定的代碼及其強調的問題點以及這些安全的問題點所適用的環境、所造成的威脅及防護的設定等。本文內容不針對此安全指引再做贅述,此指引的內容就留由讀者自己參考。本文所探討的VMware安全問題主要是針對VMware的built-in的安全設計以及一些在VM管理部署、虛擬網路及儲存網路的安全問題上做探討。
虛擬化的最主要目的當然在於虛擬機的使用,在ESX或ESXi上執行的眾多虛擬機的安全與否當然會影響到Host的安全,相對地,這些虛擬機的安全性也會被其Host的安全性所影響,Virtualization Administrator可以在Host上看到每個虛擬機的Memory及Swap空間等。
一、虛擬機的安全
1.虛擬網路(Virtual Networking)安全的問題
講到網路的安全問題,一般我們會從所謂的Attack Surfaces來做探討。在虛擬網路安全裏我們要特別注意幾個點: 一個是純虛擬化的地方,另一個則是實體網路與虛擬網路的交會點。Hypervisor不允許vmknic與vNIC在同一個Portgroup,因此可避免vkmnic被惡意的VMs所影響。vMotion亦會使用vmknic來與外界溝通,而通常在vMotion時會建議使用SSL來保護敏感資料(或記憶體中資料)不被攔截(事實上,SSL一直都有MITM攻擊的問題),也因此看成是vmknic必須單獨使用一個security zone來減低風險的必要性。vSwitch及Portgroup提供了部份安全機制來保護vSwitch的安全,諸如是否允許MAC Address改變、是否允許偽造的MAC傳送及是否允許Promiscuous Mode等。vSwitch是很簡單的2層交換器,它並沒有很多實體Switch所會發生的Attacks。但對於ARP Spoofing及Layer 3的Attacks卻沒有任何防護,主要是因為這些Attacks是發生在虛擬機(VMs)裏而不是在vSwitch上面。
如非必要,儘量減少VST(Virtual Switch Tagging)及VGT(Virtual Guest Tagging)等 802.1q VLAN的使用。以實體交換器及實體網路卡取代,增加Virtualization Network的Redundancy及網路的隔離(pSwitch),若無法網路隔離,也必須依據不同Requirements或安全等級來設計Security Zones(或者使用Private vSwitch方式來隔離),包括管理的Zone、vMotion的Zone、Storage的Zone、VMs的Zone或是上線區的Zone、開發環境的Zone、測試的Zone,或是安全等級高的Zone及安全等級低的Zone等。
2.VM及VA的部署
最嚴謹的方式就是將所有的VMs都視為不安全的狀況來考慮VMs及Virtual Appliances(VMsafe)的安全問題,尤其是Virtual Appliances可以接觸到Hypervisor,因此必須以更高標準的防護來保證這些VMsafe VA的安全,比方更嚴謹的存取控制及Auditing機制,使用Private vSwitch與實體的外加虛擬化的Security Tools來做縱深防護。來路不明的Virtual Appliances也不可任意部署來使用,最好是使用經過VMware簽章過的vendors所發佈的Virtual Appliances。圖一為使用PVLAN的隔離方式。
3.VM的管理
新加入要Power On的VMs的控管也要特別留意,包括其上的應用程式等也要一併考量風險評鑑問題,新啟動的VMs或Application都有可能影響到Virtualization Host的Disk、CPU及Memory等資源的使用,嚴重的話還可能造成Resource的DoS攻擊,特別是在VMware DRS的環境下。
VM的Life Cycle管理的工具及產品也可提供保護,它可以對VMs的Power On、Power Off、註冊與否及所配置的VMDK與LUN實施Auditing。藉由VM Log的設定,可以藉由減少不必要的Logs數量、Log的Rotate及Log的保留數量來控制Log Files的增長問題。
VMs的新增與刪除也必須同時注意是否有無主的Virtual Disk Files存在Datastore裏,除可避免無謂的佔用空間外還可避免這些Virtual Disk Files被誤用。VMs的設定檔的變更管理也很重要,特別是虛擬化硬體資源設定的變更。除VMware本身的管理工具(例如RCLI、VIC及VI SDK等)可對變更的設定有Audit的Record外,一些商用的工具(例如Tripwire的Configuration Management產品)也可對這些變更管理做良好的稽核記錄,使VM的設定的變更管理更為完善。
Distributed Management Task Force (DMTF)是一個旨在提供簡化及方便的虛擬化環境的管理,它在2007年建立了一個有關VM管理的Open Standard標準,使用Open Virtualization Format (OVF)做為VM部署的方式,OVF是一個平台獨立而且可支援大多數的Virtual Hard Disks,OVF除了包含Virtual Disk外、還包括了VM的規格描述與相關的硬體設定。DMTF亦創立了Virtualization Management Initiative (VMAN)標準,內容涵蓋了包括VM的部署、VM的Discovery and Inventory、VM的Lifecycle的管理、VM新建與刪除、VM的移動與遷移、及VM的效能與狀態的監控等 。
4.VM的加固
VMs本身的Guest OS的安全也是一大重點,但這部份很好處理,因為你就用跟OS部署在實體機器上的加固方式一樣即可,Internet上有很多關於不同OS的Hardening Guide及相對應的工具(Commercial或Non-commercial)可以參考。下圖為vSphere4的Hypervisor的安全設計可使虛擬化環境得到先天設計的安全的防護。
5.VMware Backdoor
Guest OS可以使用一些工具(例如VMware Tools或其他Open Source的Tools)利用VMware Backdoor I/O Port來與Hypervisor做某種程度的溝通以取得一些資訊,例如Copy/Paste的內容,可Touch到的虛擬化硬體,Virtualization Host所使用CPU的Speed,VMware版本、時間及BIOS的UUID等。這些資訊可以被用來Fingerprint出Guest OS是不是run在VM裏,而被駭客拿來當做是準備攻擊的一個點。強制型存取控制(MAC)的使用(或Microsoft的UAC或Linux的SELinux等),都可以利用嚴謹的存取控制來限制這些Tools對VMware Backdoor I/O Port的存取。談資訊安全就是要讓駭客沒有任何可利用來攻擊的地方可以利用(Exploit),而且請記得,安全與效能及便利性本來就是互相替代的。另外,網路上有一些Hardening Guideline,例如DISA STIG(Security Technical Implementation Guide),也建議了一些設定可以有效改善這個安全問題。底下是它建議的設定值:
isolation.tools.copy.enable => false
isolation.tools.paste.enable => false
isolation.tools.setguioptions.enable => false
isolation.tools.setinfo.disable => true
isolation.tools.connectable.disable => true
isolation.tools.diskshrink.disable => true
isolation.tools.diskwiper.disable => true
二、其他虛擬機相關的安全
1.VM的Storage存取
VMs到Storage Network也存在著部份的被攻擊點,經由Hypervisor控管的Storage存取比較沒問題,但是那些可不受Hypervisor控管的Storage存取,例如NPIV、iSCSI Initiator或FCoE(如果VMs有FCoE Driver),有可能將存取資源的VMs當成攻擊點進而攻擊到Hypervisor後端的Storage Network。所以比較好的方式是用網路隔開這些VMs直接存取的Storage,避免跟Virtualization Host共用Storage。以目前Virtualization Host常用的四種方式來對後端storage做存取的狀況(這四種方式為NFS, iSCSI, SAN及Local Storage),必須要留意儘量避免虛擬機直接對Storage做存取,如果有直接存取的必要(例如使用iSCSI Initiators、NFS及CIFS的檔案分享、NPIV等),儘量使用Isolated Storage的概念來存取資料,也就是使用獨立分開的storage來提供資料存取服務。另外,在DMZ中(或者說風險較高的Zone)的Virtualization Host或虛擬機所使用的Storage也最好與內部網路(或者說風險較低的Zone)中的Virtualization Host或虛擬機所使用的Storage獨立分開。
2.VMCI介面與VMsafe的存取限制
VMCI與VMsafe可以提供VM對VM或Host的存取,特別是VMsafe CPU/Mem API對其他VM的CPU及Memory的存取,以及VMsafe-Net對虛擬網卡與虛擬交換器上的網路封包的存取、修改與阻擋等等。如下圖,只允許授權的Security Appliance去存取VM的CPU及Memory,因此那些沒被授權的Security Appliance就不能有Introspection Virtual Switch的設定。相對地,被允許使用VMsafe CPU/Mem API存取的VM的設定也必須設定Security Appliance的IP及存取的埠號。
3.部署與管理
VM與Virtual Network的部署必須要有一致性的授權機制,要避免例如網路管理者不知道虛擬網路被變更或新建立的情形;對系統管理者也是一樣,必須要對虛擬機的部署變更與建立取得一致的授權流程。如果無法適當的管理這些Virtual Network或VM,就有可能像是之前我們提到的Security Zone問題,如果一台VM被不經意或非法的部署到重要的Zone裏,可能會對此Zone的整個環境造成威脅。要解決這樣的情況通常必須依賴建全的監控與管理機制,也可藉由軟體的輔助來達成,例如一些商用的虛擬化管理軟體或者像是VMware的LifeCycle Manager。
VM部署對Security Zone的影響對Datastore亦有類似的負面結果,如果Datastore的Disk Space被佔滿就有可能產生DoS的狀況,就算不至於造成DoS也會對Performance有影響。另外,資料的掺混問題也必須特別留意,因為一旦此VM被駭,或是在被部署時就是被精心設計過的,例如Promiscuous Mode被enable,就有可能因為資料的掺混造成重要資料被竊聽或盜取。
VIC的Plug-ins的管理也是一個虛擬化管理面安全的重點,有一些VIC Plug-ins可能不需Authentication就可存取到Virtualization Host上的資料或者執行Scripts,因此最好只安裝經過VMware認證或簽章過的Plug-ins。
管理者有時有P2V(Physical to Virtual)的需求,當要將一台實體機器虛擬化時,如果P2V的過程是跨不同Security Zone的話,試想一下,若一台在DMZ的實體機器被P2V到內部Production的Zone時,萬一此實體機器中毒會是被植入木馬,或是Patch Level非常的低,就有可能在VM被boot起來後就直接在Production Zone產生安全問題,直接影響到此重要的Zone或經由跳板一步步導致內部網路被徹底破壞。建議可以使用具有USB儲存媒體並經安全檢測的中介機器,將此中介機器部署到一個firewalled的Virtual Network(或Pseudo Security Zone),接著使用P2V工具將實體機器虛擬化到USB後Power On,實施安全檢測例如掃毒、木馬檢測及上補丁等等後再將此USB的Virtual Machine使用P2V導入到目標虛擬化環境。下圖為Zone的一個例釋。
三、新一代思科虛擬化環境安全的解決方案
Cisco對於虛擬化環境的安全設計也提出了幾個CVD指引,其中針對思科雲端安全架構也提出了包括VMware及NetApp在內的整合產品的安全設計。但就虛擬機在虛擬化環境中的安全問題,包括必須滿足虛擬機或Virtual Appliances的vMotion與DRS等動態特性在內,思科提出了基於Nexus 1000V的VSG的解決方案,為雲端架構與資料中心帶來了更多的安全保護與符合法規的要求。Cisco VSG使用了內崁在Nexus 1000V VEM中的 vPath(Virtual Network Service Data Path)來提供高效能並具分散式保護的安全方案。 Cisco VSG可與Nexus 1000V VSM與VNMC(Virtual Network Management Center)協同合作,可以讓單位內的網管、系統與資安等Teams在管理面達成協同合作、不相衝突的完善管理環境。Nexus 1000V的VEM及VSM可以讓網管與系統Team分工合作,而資安Team則藉由VNMC根據資訊安全政策來建立Security Profiles與稽核這些Security Profiles的成效。VNMC所建立的動態Profiles可以套用到Nexus 1000V的Ports上,因此這些Profiles就可隨vMotion動態地移動。如下圖所示,Cisco VSG可以讓雲端或資料中心架構上多租戶特性的安全保護得到解決,藉由基於Nexus 1000V的vPath功能與分散式整合特性,讓資安人員可以針對雲端或資料中心內的虛擬機依照不同類型或安全等級用Zone的方式來做區隔保護,根據單位對於虛擬化環境的安全政策套用適當的安全政策到虛擬化環境中,並且這些安全政策可隨vMotion等動態特性移動,確保所有安全政策都可適切且適時的套用到雲端或虛擬化架構中。
結語 

虛擬化安全引申出的安全問題還是非常的多,畢竟很多IT人員已習慣傳統的網路設計與資訊安全設計的方法。但網路的隔離還是最安全做法,但若無法做網路的實體隔離,搭配Virtual Firewall與Virtual IPS的使用亦可以加強各個Zones之間的安全問題,但記住Virtual Firewall的DMZ跟實體Firewall的DMZ一樣,都不是安全的區域,要避免把一些重要的VMs或Management Interface放到此區域中。DMZ也可以用專用的Virtualization Host的方式來單獨配置成一個DMZ Zone。
參考文件:
  1. www.vmware.com

2013年10月20日 星期日

個資法真的要來了-企業如何因應個資外洩風險

陳志遠   

前言

保護公司與客戶機密資料不致外洩,一直是資訊安全中十分困難的一個環節。不管是政府單位還是民間企業,都曾發生民眾或客戶資料遭盜竊,成為犯罪的工具與幫兇。民眾與客戶基於對政府或企業的信任,而對於手握機密個資的犯罪行為疏於防範,成為詐騙集團覬覦的目標與詐騙的對象。何其無辜。
善盡重要機密敏感資料保護是企業十分重要的議題,除了避免商譽的損失、客戶流失、損害賠償外,也是對客戶支持與信任的最佳回應。
政府為了落實個人資料的保護與因應日新月異的科技發展,除了不斷編修舊有的”電腦處理個人資料保護法”,更在2010年4月27日由立法院三讀通過新版”個人資料保護法”,除了擴大納入所有非公務機關適用新版個資法規範,更提高民事與刑事責任、並可提起團體訴訟,同時企業需負無故意與過失之舉證責任。這些重大變革讓個資法更具可行性,與舊法相比,新法讓企業必須正視保護個資的責任,並採取行動。同時,民眾與客戶不再是相對弱勢的一群,不再求償無門。其施行細則草案已在2011年10月27日發布,最快2012年下半年可望正式實施。
為了因應新版個資法,其中的資料安全與稽核的要求讓很多企業傷透腦筋,不知道現有的資安系統是不是已經可以滿足要求。下面章節將有系統的分析資料外洩議題,協助企業提升資料外洩防護能力,以符合法規的要求。

一、如何因應新版個資法

從正面的角度來看,新版個資法的訂立對IT人員來說是一件好事,過去即使有心想要擴展公司的資訊安全防禦能力,總會面臨無法取得老闆支持與公司資源的窘境,資訊安全在傳統的台灣企業中其實是被嚴重忽視與低估的。有了新版個資法,總算是能讓IT人員”師出有名”去跟老闆要些經費來補強長久以來企業可能缺乏的資訊安全防禦能力。

面對新版個資法的實施,企業該如何因應?首先要先了解新舊版本個資法的差異,新版個資法的要求事項有哪些?以及新版個資法的實施時程究竟是如何,企業才能據以擬定計畫,回應法規要求。
1.新舊個資法差異

翻開新版個資法法條,洋洋灑灑五六十條八千多字,筆者整理了一些關鍵差異,而也是這些差異迫使企業得積極採取一些行動來符合法規要求。
  • 所有非公務機關皆適用個資法
  • 企業須善盡保護責任,並證明無故意或過失
  • 意圖營利而侵害個資者改為非告訴乃論。可提起團體訴訟
  • 賠償總額提高至2億元,最高刑責五年有期徒刑
其中,在舊版個資法原本規範對象有行業別限制,在新版個資法則取消此限制,所有非公務機關一體適用,也就是所有的企業都納入新版個資法規範。
在新版個資法很重要的部分是,當個資外洩事件發生,企業必須舉證無故意或過失責任,至於過失責任的輕重與否,新版個資法施行細則中的要求事項的落實程度深淺好壞將是很重要的指標。
為遏止個資竊用盜賣等惡意行為,意圖營利而侵害個資的犯罪行為改為非告訴乃論。另可由財團法人或公益社團法人提起團體訴訟,若企業沒有善盡保護個資的責任,在新版個資法施行後,若發生個資外洩而侵害權益者,面臨訴訟的機會大為增加。不再是過去小蝦米對大鯨魚,受害客戶摸摸鼻子自認倒楣息事寧人。
在民事賠償部分,相同事件的總求償金額最高提高至2億元,若是意圖營利犯罪者,最高處五年以下有期徒刑,都較舊版個資法大為提高。更甚者,為加強企業管理人的監督責任,在第五十條規定: 『非公務機關之代表人、管理人或其他有代表權人,因該非公務機關依前三條規定受罰鍰處罰時,除能證明已盡防止義務者外,應並受同一額度罰鍰之處罰。』企業老闆也需一併受罰。這條規定讓各企業老闆莫不如履薄冰,謹慎因應新版個資法的到來。
2.新版個資法的要求事項與企業因應措施
根據新版個資法第27條,施行細則中包含針對非公務機關所制定的「適當安全維護措施」,其中包括善良管理人的注意義務,以及12項明訂安全維護事項,藉此防止個人資料被竊取、竄改、毀損、滅失或洩漏。
當個資外洩事件發生,非公務機關過失責任的輕重與否,施行細則中安全維護事項落實程度深淺好壞將是很重要的證明依據。
法務部研擬的12項安全維護事項條列如下:
  1. 必要之組織
  2. 界定個人資料之範圍
  3. 個人資料蒐集、處理或利用之程序
  4. 當事人行使權利之處理程序
  5. 資料安全
  6. 資料稽核
  7. 人員管理及教育訓練
  8. 記錄與證據之保存
  9. 設備管理
  10. 緊急應變措施及通報
  11. 改善建議措施
  12. 其他安全維護事項

『安全維護事項』就是企業因應個資法的重要指導原則。由條列之安全維護事項可知,企業須有專責的編組負責個資保護相關事宜,並且得界定個人資料的範圍,訂立程序以確保個資的蒐集處理利用都能妥善受到保障。
證據與記錄的保存、稽核軌跡的建立與保留也是重要的要求。12項目中,部分項目可由企業內部經由組織的變更與建立作業程序來完成,特別要注意的是第(5)項資料安全的部分,牽涉到企業的資訊安全防禦能力的好壞,對於資安系統的建置與防禦架構是否足以防止個資外洩或遭受侵害,顯然是資料安全維護事項落實與否的重要指標。另第(6)項資料稽核的落實與第(8)項紀錄與證據之保存更是諸多企業客戶頭痛的問題,諸如資料庫的存取是否留有稽核紀錄?檔案的存取、修改、竄改紀錄是否也能稽核保存?
麟瑞科技針對這些棘手問題提供了十分完整且有效的解決方案,可以幫助企業客戶解決這些問題,提升全面的資訊安全資料防護能力。
3. 個人資料保護法發展時序
下圖以時間為橫軸說明了我國個資法的發展進程,預計2012年下半年,施行細則將由行政院公布實施。屆時新版個資法就算完全生效了。

二、資料存取稽核與外洩防護

1. 資料存取稽核 

要討論資料外洩防護議題,就得從原始資料來源從頭到腳的流向分析,從中找出可能產生外洩問題的環節,其實說複雜也複雜,說簡單也簡單---請看圖二,很清楚的把問題的根本點出來了『It’s All about the Data』。
整個流向的中心就是Data,Data會以甚麼樣的方式存在企業內部?其實就是資料庫跟檔案。透過各式各樣的Interface、API、APP、資料才會傳送到公司員工、或是客戶手中。看了這張圖,大家應該很快的能想到,如果要稽核與防護資料的存取行為,checkpoint應該設在哪個節點,效果最好、最快而且可行的?如果讀者有印象的話,上一個章節已經透露端倪---從資料庫與檔案的存取點下手,可以快速提升企業與公司的資料外洩防護能力,同時可以滿足個資法中對於資料稽核的落實要求。
現在大部份的公司針對資料庫與檔案存取防護相當薄弱,筆者接觸客戶時,常會有需求討論跟經驗分享,企業常見的資料庫如Oracle、MSSQL等其實都內建資料庫稽核功能,但是大部份的公司並沒有開啟,開了以後資料庫的效能將大為下降。而且稽核出來的資料可閱讀性差,不具分析問題的能力與效果。更大的問題是記錄了一大堆資料,結果來源都是Application用來開啟Database的account,非真正的使用者帳號,這樣等於有紀錄跟沒記錄一樣。因為所有的來源都是同一個AP帳號。

針對檔案的稽核更是很多企業的迫切需求,共享資料夾、網路磁碟機是大部份企業都會使用的網路服務,可以用來分享公司重要的檔案,方便的同時也存在風險---離職或惡意員工要把檔案一次大量copy走也很方便。這造成很多企業的重大的損失。還有檔案被誰改了、刪除了、copy了、讀取了、這其實是很多企業都會面臨的問題與需求,現在更有個資法的資料稽核要求,迫使企業得尋求檔案稽核的解決方案。
還好有個具有前瞻性的公司看到了這方面的問題,提出前瞻性的產品可以彌補這方面的風險與需求---iMPERVA。
圖三是iMPERVA針對資料安全保護所提出的解決面向---5W1N 。也就是所有資料庫跟檔案的存取,它能提供5W----WHO、WHAT、WHEN、WHERE FROM、HOW這五個完整的資料存取面向資訊,更重要的它還能確保這些行為是不是Normal的。說到這個不得不提iMPERVA這家公司,提到iMPERVA,讀者應該不陌生,很多讀者多半是從
他廣為人知的WAF(Web Application Firewall)產品知道這家公司,這跟資訊防護類型的產品在台灣的發展進程式有關係的,從早期的Friewall到IPS等Layer6以下產品,針對Layer7以上的防護,大概在四五年前就已經開始有些公司注意到諸如SQL INJECTION、XSS、CSRF等漏洞的可怕(其實很多公司已經受害),所以iMPERVA在台灣很早就以WAF產品優異的性能廣為人知,殊不知它其實是做資料庫稽核與防護產品起家的,近來更推出針對檔案存取稽核與權限管理功能。所以針對網頁應用程式存取的安全乃至於資料庫與檔案存取的稽核與安全防護,iMPERVA可以說是市面上唯一具有三合一能力,整合在同一平台的解決方案。
iMPERVA保護資料的解決方案、圖四提供了一個很清楚的說明,不但在重要的資料庫與檔案伺服器前面提供了防護與稽核功能,這些資料彙整回管理平台後,還能跟前端的WAF作使用者的追蹤與關聯,不但能提供最佳的稽核能力與安全防護效能。
同時針對真正使用者的追蹤,iMPERVA具有獨家專利技術,可以找出真正的使用者而非應用程式用來存取資料庫的共享帳號。這大大提升了稽核資料的可用性與可讀性,不會浪費了資源卻記錄了一堆沒有用處的資料(請參閱圖五)。最後關聯出來的結果如圖六所示,把所有該紀錄的東西(5W)清清楚楚的記錄下來,同時還能確保這些是Normal(安全的)存取,可以簡單而且輕鬆的滿足個資法中針對資料稽核的要求。

2. 資料外洩防護
看了上一個章節,可能會有讀者開心的跳起來說: 『我出運了!!我買iMPERVA就可以解決資料外洩的問題了!! 』呃…其實那張圖沒畫錯,但是只畫了一半,當這些資料的存取與稽核需求被滿足了,資料到了同心圓的最外圍(請參考圖七),也就是用戶端、員工手上,那要是從這些地方被外洩了該怎麼辦?
從稽核紀錄會發現,正常的業務使用存取敏感資料跟惡意的資料外洩行為,都會一併被記錄稽核,可是最終我們怎麼去區分哪些使用是因應業務所需的存取?哪些是惡意的資料外洩行為?這就是另一層面的資料外洩防護議題---用戶端的資料外洩防止。
完整的資料外洩防護體系,除了原始資料的稽核與保護,不能缺少的是用戶端資料外洩防止,請參考圖八,這張圖看了實在讓人冷汗直流,圖的中間是內部員工,外圍環繞著的各個item都是可以用來外洩資料的管道,不管是惡意或是無心,只要其中有某個環節形成漏洞,就有機會對企業造成傷害。
為了因應新版個資法的實施,許多企業都在積極尋找解決方案以滿足法規要求,現今企業在資安防禦的投資與多半已付出相當大的心力,多已建置如防毒軟體、防火牆、入侵偵測與入侵防禦、以及內容過濾等資安系統,但還是面臨發生洩露客戶資料與機密資訊的風險。資安解決方案如防火牆與入侵防禦系統對外來的攻擊可以提供不錯的防禦能力,但無法防止資訊外洩的事件,畢竟它們的設計原意並不在此。
現有資料外洩防護系統的瓶頸與難題在於
1、如何判斷哪些是機密敏感資訊?
2、如何阻擋所有可能的外洩管道?
通常MIS人員可能會藉由關鍵字判斷、檔案類型或藉由網站類型的阻擋(如webmail)來阻擋資料外洩,最後的下場往往是擋了一堆不應該擋的東西,而變成全都不能擋也不敢擋。
幸而隨著資訊科技發展,已經有些十分出色的資訊外洩防護解決方案。可以在機密敏感資訊的判讀方面提供十分高度可靠的判斷能力,讓機密敏感資料的判讀準確度大為提高,同時提供多種外洩管道的監看與阻擋功能,可在機密資料不小心或惡意外洩之前,阻止機密性資料從內部流出,有效保護企業資產與客戶資料安全。
如何在現有的資安架構下去選擇適合的資料外洩防護系統?這其實跟企業自身已有的防護能力有直接的關連。在跟客戶訪談需求的時候,筆者有時候會問幾個問題,各位也可以藉由這些問題評估自己公司目前針對資料外洩的防護在甚麼樣的等級。

1. 企業內部對於員工透過公司的電子郵件外洩機密資料怎麼辦?郵件歸檔可以即時防止資料外洩嗎?事後的追查可以查的到嗎?
2. 如果在電子郵件中的附件加密呢?

3. 透過IE等瀏覽器上傳資料到如網路硬碟、gmail/hotmail/yahoomail等網路信
箱怎辦?要是透過SSL (gmail/facebook)加密呢?有沒有可能透過無界或自由
門、Softether這種規避企業安全政策的軟體翻牆出去?

4. 員工透過USB隨身碟可以把機密檔案帶出公司嗎?其實不少企業已經引進
這類型解決方案,但是總是有員工是經過授權可以使用的,依據經驗,企業
中有通常將近三成的員工是被授權可以使用USB隨身碟讀寫。那這類型解
決方案的效果就會大打折扣,因為只有yes or no可以選擇。

5. 員工透過即時通訊軟體如加密的skype、QQ或是msn、yahoo messenger外洩資料怎麼辦?很多業務都要透過即時通訊軟體跟他的客戶建立關係,又不能 禁止他們使用?

6. IPHONE/Android等智慧型手機或是3G無線網卡插上電腦或是NoteBook可以建立另外的INTERNET連線規避公司的政策嗎?

7. 員工透過印表機把客戶資料列印出來帶走,可以防止或紀錄嗎?

8. 員工有沒有可能把自己的NoteBook帶來公司,透過網路芳鄰把資料copy到自己的Notebook上呢?

9. 員工透過智慧型手機等mobile device收發公司內部郵件到手機上,那這些資料不就管不到了? 

如果把上面的問題想過一遍,應該有不少讀者背脊發涼,發現自身的企業已經暴露在相當高的資料外洩風險。其實有些問題是因為即時通訊與3G網路蓬勃發展或智慧型手機的普及才衍生而出的,多數的企業多半已知存在這些問題,卻苦無對策因應。針對這些問題,很多企業都在找尋所謂資料外洩防護(DLP)的解決方案,但是怎樣的解決方案才是有效,全面且部署容易的呢?
筆者聽過很多人談DLP,多半會覺得複雜、困難、建置時間長、資源與人力投入龐大、誤判率高。而望之卻步。這真是誤會大了,其實選擇適合的解決方案與有經驗的合作夥伴,可以讓DLP的導入變得簡單而且有效。
對於前述的DLP議題會碰觸到的難題,現在已經有非常成熟且完整的解決方案,這類型的解決方案通常稱為”Content-Aware Data Leakage Prevention System”,翻成中文就是”內容感知型的資料外洩防護系統”,有別於以往只針對關鍵字、正規表示、字典辭庫、檔案類型等誤判率高而可用性低的傳統的資料外洩防護方式,新型的內容感知資料外洩防護系統不但可以精準的判斷資料傳輸的內容是不是牽涉公司機密敏感資料,更可以全面性地在各個環節達到防護資料外洩的效果。
面對現今複雜多變的資料外洩途徑,有三個面向是使用者評估DLP產品的重要指標:
1.誤判率低---可以精準判斷何為機密敏感資料
圖九為DLP產品用來分析與判斷資料是否為敏感機密內容的方式,市面上DLP產品所使用的技術其實可以以金字塔的形狀來呈現,越往上越少產品能有這樣的技術能力。面對複雜與多樣的客戶環境跟需求,光關鍵字與正規表示式(Regular Expression)、字典辭庫這類型基本的判斷功能將會面臨大量誤判的問題,可用性非常的低。
所謂Content-Aware DLP產品就是為了解決大量誤判問題而衍生而 出的新產品,藉由更先進的判斷技術如提供資料庫與檔案內容(包含部分 檔案內容與完整內容)比對功能,相較於傳統的關鍵字與字典辭庫等傳統 比對方式,新型態的Content-Aware DLP系統可以直接與企業資料庫跟檔 案內容同步,可精確判斷外洩的內容是否真正為公司重要資料。此外 針對身分證字號、信用卡號等具有checksum(檢查碼)特性的資料,技術 領先的DLP產品內建程式化判斷運算檢查碼功能,可避免隨機組成的數 字容易造成系統誤判的情況。
市面上許多防火牆、郵件、網頁閘道系統號稱具有DLP能力,通常 僅能針對關鍵字或檔案類型過濾,這跟市面上較成熟且全面的DLP產品其實存在很大差距。完整的DLP產品除了支援的判斷技術完整(如圖九),且政策訂立與條件設定最好可以任意彈性組合(如圖十),以將誤判率降至最低。
2.涵蓋範圍廣---包含越多外洩管道越好: 如HTTP/HTTPS網際網路、SMTP電子郵件、FTP、網路芳鄰乃至於client端的USB隨身碟、即時通訊軟體、應用程式、印表機列印等。
若外洩管道無法完整涵蓋,就如同容器破了洞,水還是會從漏洞流出去,所以涵蓋範圍的完整性與否,十分關鍵地決定了DLP產品的可用性。圖十一即為Websense Data Security在單一介面,檢視所有涵蓋的外洩管道。一覽無遺。
3.管理簡單,部署容易---理想的DLP系統最好是由精簡的元件組成,可降低部署複雜度。
如果一套DLP系統必須由多台伺服器組成,而且記憶體跟
CPU的等級要求都很高,建置時間長,那就不是很理想了。這表示分析 技術沒有效率,這在整體的使用上會造成很大的問題,再深究下去會發 現這類型的系統在很多層面有隱藏的”地雷”跟”但書”。而且困難的部署將造成DLP系統建置的困難。簡單的元件組成更有助於政策管理與發佈。
Content-Aware DLP這類新型態的資料外洩防護系統,在個資法雷厲風行的施行之際,可有效地替客戶解決了用戶端資料外洩的問題。不但可以防止資料外洩,還有教育與遏止員工外洩資料的念頭,所留存的證據更可作為企業在面臨訴訟時保護與舉證之用。
尤其針對金融與電子商務或政府單位等掌握大量個人資料的企業與機關更收奇效。在筆者協助客戶導入的過程中,這類掌握大量個資的客戶通常都可以藉由有效率的政策設定,快速地解決用戶端資料外洩的問題。不僅保護了重要的客戶資料,也保住了商譽更避免了公司的傷害跟損失,兼顧法律層面的要求與企業的永續經營的信念。

結語

由前述章節可知,個資法針對企業保護個資的要求落實,可以從兩個層面來看(見圖十三):
  1. 原始資料的存取稽核與防護
  2. 使用者端的資料外洩防護
重要資料的存取稽核絕對是在個資法中被強烈要求的事項,這在資料外洩防護策略中是為部署於server端的第一防線。同時因應業務需要,員工會被授權直接碰觸或處理重要的敏感資料,如何規範與保障這些敏感資料的合理運用,確保資料流動僅限於公司內部業務所需不致外洩,則是屬於client端的資料外洩防護議題,也就是第二道防線。
在資料流動的重要關鍵點建立checkpoint,是資料外洩防護一個很重要的概念,也可讓防禦系統的建立變得很簡單。選擇合適的解決方案與專業有經驗的合作夥伴更是系統導入的重要考量。

有客戶問筆者,這樣就做可以符合個資法了嗎?其實善良管理人的認定與罰責的輕重是相對的概念不是絕對的概念,在企業能力範圍內,能做該做而不去做,自然就有被質疑的空間。盡力強化企業防護系統,降低風險,除了可以滿足法規要求,也是對企業本身和對客戶負責任的表現。

參考文件:
  1. 法務部網站 http://www.moj.gov.tw
  2. iMPERVA 官方網站 http://www.imperva.com
  3. Websense 官方網站 http://www.websense.com