為 Office 2010 規劃 ActiveX 控制項的安全性設定

 

適用版本: Office 2010

上次修改主題的時間: 2016-11-29

您可以修改 Microsoft ActiveX 控制項設定,以變更 ActiveX 控制項在 Microsoft Office 2010 中的運作方式。

本文內容:

  • 規劃 ActiveX 控制項設定

  • 停用 ActiveX 控制項

  • 變更初始化 ActiveX 控制項的方式

  • 相關 ActiveX 控制項設定

規劃 ActiveX 控制項設定

Office 2010 提供數個安全性設定,可讓您控制 ActiveX 控制項運作的方式,以及控制通知使用者有關可能不安全 ActiveX 控制項的方法。藉由這些設定,您可以執行下列動作:

  • 停用 ActiveX 控制項。

  • 根據安全模式參數、安全的初始化 (SFI) 及不安全的初始化 (UFI) 參數,來修改初始化 ActiveX 控制項的方式。

如需如何在 Office 自訂工具 (OCT) 和 Office 2010 系統管理範本中設定安全性設定的相關資訊,請參閱<設定 Office 2010 的安全性>。

預設會在安全模式中以固定值載入受信任的 ActiveX 控制項,而且不通知使用者已載入 ActiveX 控制項。受信任的 ActiveX 控制項,係指任何經過受信任發行者簽署的控制項,或從受信任位置或認為是受信任位置所開啟文件中內含的控制項。至於不受信任的 ActiveX 控制項載入,則隨 ActiveX 控制項標示的方式,以及檔案中是否有 VBA 專案及 ActiveX 控制項同時存在而異。不受信任的 ActiveX 控制項的預設行為如下:

  • ActiveX 控制項若標示為安全的初始化 (SFI),且包含在不附 VBA 專案的文件中,即會在安全模式中以固定值載入此 ActiveX 控制項。系統不會顯示訊息列,而且不會通知使用者有該 ActiveX 控制項。該文件中所有 ActiveX 控制項都必須標示為 SFI,才會發生此行為。

  • ActiveX 控制項若標示為不安全的初始化 (UFI),且包含在不附 VBA 專案的文件中,即會在訊息列中通知使用者已停用該 ActiveX 控制項。但使用者可以按一下訊息列以啟用 ActiveX 控制項。使用者若啟用 ActiveX 控制項,即會在安全模式中以固定值載入所有的 ActiveX 控制項 (包括標示為 UFI 及 SFI 的控制項)。

  • 若標示為 UFI 或 SFI 的 ActiveX 控制項,包含在附有 VBA 專案的文件中,即會在訊息列中通知使用者已停用該 ActiveX 控制項。但使用者可以按一下訊息列以啟用 ActiveX 控制項。使用者若啟用 ActiveX 控制項,即會在安全模式中以固定值載入所有的 ActiveX 控制項 (包括標示為 SFI 及 UFI 的控制項)。

重要

若 ActiveX 控制項在登錄中有設定「刪除位元」,則不會載入控制項,而且在任何情況下都無法載入。此外,系統不會顯示訊息列,而且不會通知使用者有該 ActiveX 控制項。

停用 ActiveX 控制項

Office 2010 中有個設定可讓您停用 ActiveX 控制項。停用 ActiveX 控制項可防止在開啟檔案時,初始化 (也就是,載入) 檔案中的所有 ActiveX 控制項,也可防止使用者對文件新增 ActiveX 控制項。在某些情況下,停用的 ActiveX 控制項可能在檔案中顯示成紅色的 x 或是某些其他符號,即使使用者按一下該符號,該控制項仍為停用且不會發生任何動作。另外當您停用 ActiveX 控制項時,系統不會通知使用者已停用 ActiveX 控制項。

請運用下列指導方針,決定是否停用 ActiveX 控制項。

**設定名稱:**停用所有 ActiveX


  • **描述:**此設定會控制是否在 Office 2010 中停用 ActiveX 控制項。此為全域設定,您無法為每個應用程式個別完成此設定。


  • **影響:**如果您啟用此設定,ActiveX 控制項就不會初始化,也不會通知使用者已停用 ActiveX 控制項。此外,使用者將無法對文件插入 ActiveX 控制項。由於 ActiveX 控制項可讓文件提供額外功能,因此停用 ActiveX 控制項會讓使用者減少可用的功能。您應確定使用者均了解已啟用此設定,因為應用程式不會通知使用者已停用 ActiveX 控制項。此外,在啟用此設定之前,請務必決定 ActiveX 控制項是否用以提供重要商務功能。


  • **指導方針:**安全性環境十分嚴格的組織通常會啟用此設定。

注意

如果啟用此設定,則儲存在信任位置的檔案就會停用 ActiveX 控制項。

您可以使用 Office 2010 新加入的 Office COM 刪除位元功能,防止特定 COM 物件 (包括 ActiveX 控制項) 在 Office 2010 應用程式中執行。2007 Office System 也有此功能,但相依於 Internet Explorer ActiveX 刪除位元設定。現在,您可以在 Office 2010 中透過登錄,獨立控制此功能,讓 COM 物件無法藉由 Office 2010 而執行。例如,如果 Office 和 Internet Explorer 同時都對同一 ActiveX 控制項設定刪除位元,但彼此設定卻有衝突,則 Office COM 刪除位元具有優先權。設定 Office 刪除位元的常見情況是,您套用的更新是 Microsoft 資訊安全佈告欄中用以處理特定 Office 2010 安全性問題。

警告

不建議您對 COM 物件「復原刪除」 (復原刪除動作)。如果這麼做,可能會造成安全性弱點。刪除位元通常是因為某些重大原因而設定,因此,在您復原刪除 ActiveX 控制項時,請務必特別謹慎小心。

若要將新 ActiveX 控制項的 CLSID (在舊版中,修改此碼可降低安全性威脅) 與套用 Office COM 刪除位元之 ActiveX 的 CLSID 建立關聯性,您可以新增 AlternateCLSID (亦稱為「Phoenix 位元」)。Office 2010 對於 AlternateCLSID 的使用僅限於 ActiveX 控制項 COM 物件。如需刪除位元行為的詳細資訊 (包括 AlternateCLSID),請參閱如何阻止 ActiveX 控制項在 Internet Explorer 中執行 (https://go.microsoft.com/fwlink/?linkid=183124\&clcid=0x404)。

由於下列程序極具技術性,除非您對此程序非常有把握,否則請勿繼續進行。

重要

本節內容、方法或作業所涵蓋的步驟將告訴您如何修改登錄。不過,如果登錄修改不正確,就可能造成嚴重後果,因此,請務必謹慎遵循這些步驟執行。為多一層防護,請在修改登錄前,先將它備份。萬一發生問題,您就可以還原登錄。

在登錄中,要設定 Office COM 刪除位元的位置是在 HKLM/Software/Microsoft/Office/Common/COM Compatibility/{CLSID},其中 CLSID 為 COM 物件的類別識別碼。若要啟用 Office COM 刪除位元,則需新增登錄機碼,包括 ActiveX 控制項的 CLSID,並對「相容性旗標」REG_DWORD 新增值 0x00000400。

注意

該刪除位元的行為 (包括 Internet Explorer 和 Office COM 在內) 會受到 Office 2010 啟用 COM 分類的影響。如需詳細資訊,請參閱<為 Office 2010 規劃 COM 物件分類>。

您可能會考慮放入 Office 拒絕清單的控制項:


  • Microsoft HTA Document 6.0 - 3050F5C8-98B5-11CF-BB82-00AA00BDCE0B


  • htmlfile - 25336920-03F9-11CF-8FD0-00AA00686F13


  • htmlfile_FullWindowEmbed - 25336921-03F9-11CF-8FD0-00AA00686F13


  • mhtmlfile - 3050F3D9-98B5-11CF-BB82-00AA00BDCE0B


  • 網頁瀏覽器控制項 - 8856F961-340A-11D0-A96B-00C04FD705A2


  • DHTMLEdit - 2D360200-FFF5-11d1-8d03-00a0c959bc0a

變更初始化 ActiveX 控制項的方式

Office 2010 中有個設定,可讓您根據 SFI、UFI 和安全模式參數來控制初始化 ActiveX 控制項的方式。SFI、UFI 和安全模式是在建立 ActiveX 控制項時,開發人員可以設定的參數。標示為 SFI 的 ActiveX 控制項使用安全的資料來源進行初始化。安全的資料來源是一個受信任和已知的來源,而且不會造成安全性缺口。不是標示為 SFI 的控制項會視為 UFI。

安全模式是另一種安全性機制,開發人員可以用來確保 ActiveX 控制項的安全性。當開發人員建立實作安全模式的 ActiveX 控制項時,可以使用兩種方式來初始化控制項:以安全模式和以不安全模式。當在安全模式中初始化 ActiveX 控制項時,會對控制項強制某些限制功能的限制。反之,在不安全模式中初始化 ActiveX 控制項時,對其功能並沒有任何限制。例如,有讀取和寫入檔案功能的ActiveX 控制項在安全模式中初始化時,可能只可以讀取檔案,但在不安全模式中初始化該控制項時,卻可能可以讀取及寫入檔案。只有 SFI 類型的 ActiveX 控制項,可以在安全模式中初始化。UFI 類型的 ActiveX 控制項永遠都會在不安全模式中初始化。

如果 ActiveX 控制項的預設初始化方式,對您的組織來說仍有不足之處,但您不希望停用 ActiveX 控制項,請運用下列指導方針,決定如何變更初始化 ActiveX 控制項的方式。

**設定名稱:**ActiveX 控制項初始化


  • **描述:**此設定指定所有 Office 2010 應用程式初始化 ActiveX 控制項的方式。此為全域設定,您無法為每個應用程式個別完成此設定。您可以從此設定的六種初始化安全性層級中,選取其中一種:

    • 安全性層級 1   無論控制項的標示為何,一律載入該控制項,並使用固定值 (如果有)。此設定可免於對使用者發出任何提示。

    • 安全性層級 2   如果控制項標示為 SFI,則在安全模式中載入該控制項,且使用固定值 (如果有)。如果控制項不是標示為 SFI,則在不安全模式中載入該控制項,且使用固定值 (如果有) 或使用預設 (初次初始化) 設定。此層級類似預設設定,但與預設設定不同的是,此設定可免於對使用者發出任何提示。

    • 安全性層級 3   如果控制項標示為 SFI,則在不安全模式中載入該控制項,且使用固定值 (如果有)。如果控制項不是標示為 SFI,則提示使用者,告知使用者該控制項標示為不安全。如果使用者在出現提示時,決定選擇「否」,便不會載入該控制項,否則,就會以預設 (初次初始化) 設定載入該控制項。

    • 安全性層級 4   如果控制項標示為 SFI,則在安全模式中載入該控制項,且使用固定值 (如果有)。如果控制項不是標示為 SFI,則提示使用者,告知使用者該控制項標示為不安全。如果使用者在出現提示時,決定選擇「否」,便不會載入該控制項,否則,就會以預設 (初次初始化) 設定載入該控制項。

    • 安全性層級 5   如果控制項標示為 SFI,則在不安全模式中載入該控制項,且使用固定值 (如果有)。如果控制項不是標示為 SFI,則提示使用者,告知使用者該控制項標示為不安全。如果使用者在出現提示時,決定選擇「否」,便不會載入該控制項,否則,就會以固定值載入該控制項。

    • 安全性層級 6   如果控制項標示為 SFI,則在安全模式中載入該控制項,且使用固定值 (如果有)。如果控制項不是標示為 SFI,則提示使用者,告知使用者該控制項標示為不安全。如果使用者在出現提示時,決定選擇「否」,便不會載入該控制項,否則,就會以固定值載入該控制項。


  • **影響:**如果控制項不是標示為 SFI,則可能會對電腦造成不良影響,或可能表示開發人員測試該控制項的環境並未涵蓋所有情況,所以無法肯定該控制項是否會在日後帶來風險。此外,部分 ActiveX 控制並不以安全模式登錄設定為準,因此即使您設定此設定好讓 ActiveX 控制項能在安全模式中初始化,但這些控制項仍可能載入固定值。啟用此設定且選取安全性層級 2、4 或 6,僅可讓正確標示為 SFI 的 ActiveX 控制項提高其安全性。若是環境中有惡意程式碼或程式碼設計不良,ActiveX 控制項可能會誤標為 SFI。


  • **指導方針:**大部分組織會啟用此設定,且選取安全性層級 2,也就是使用與預設設定相同的初始化準則,但不在訊息列中對使用者發出通知。組織若有限制極為嚴格的安全性環境,通常會停用此設定,也就是預設設定。

相關 ActiveX 控制項設定

Office 2010 應用程式中另有數項設定會影響 ActiveX 控制項的運作方式。若是因為特殊的安全性環境而要修改 ActiveX 控制項設定,您可能需要評估下列設定:


  • 載入 Forms3 的控制項   此設定可決定在 UserForms 中初始化 ActiveX 控制項的方式。


  • 停用安全性問題的所有信任列通知   此設定可讓使用者不看到訊息列警告,包括關於不安全 ActiveX 控制項的警告。

注意

如需原則設定的最新資訊,請參閱 Microsoft Excel 2010 活頁簿 Office2010GroupPolicyAndOCTSettings_Reference.xls (位於 Office 2010 系統管理範本檔案 (ADM、ADMX、ADML) 及 Office 自訂工具(可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=189316&clcid=0x404)(可能為英文網頁) 下載頁面的<此下載中的檔案>區段中)。