定義安全區(內部部署)

每個運算子都必須連結至區域才能登入例項,且運算子IP必須包含在安全區域中定義的位址或位址集中。 安全區配置在Adobe Campaign伺服器的配置檔案中執行。

操作員從控制台中的配置式連結到安全區域,可在​Administration > Access management > Operators​節點中訪問該配置式。 進一步瞭解

注意

此程式僅限於​on-premise​部署。

身為​代管​的客戶,如果您可以存取促銷活動控制面板,則可使用安全區自助服務介面。 了解更多

其他​hybrid/hosted​客戶需要聯繫Adobe支援團隊,將IP新增至允許清單。

建立安全區

區域由以下項定義:

  • 一或多個IP位址範圍(IPv4和IPv6)
  • 與每個IP位址範圍相關的技術名稱

安全區域互鎖,這表示在另一個區域中定義新區域可以減少可登錄該區域的運算子數量,同時增加分配給每個運算子的權限。

必須在伺服器配置期間在​serverConf.xml​檔案中定義區域。 serverConf.xml​中可用的所有參數都列在本節中。

每個區域都定義權限,例如:

  • HTTP連線,而非HTTPS
  • 錯誤顯示(Java錯誤、JavaScript、C++等)
  • 報告和webApp預覽
  • 透過登入/密碼進行驗證
  • 非安全連接模式
注意

每個運算子都必須連結至區域。如果運算子的IP位址屬於區域所定義的範圍,運算子可登入執行個體。
操作員的IP地址可以定義在多個區域中。 在這種情況下,運算子接收每個區域的可用權限的​set

現成可用的​serverConf.xml​檔案包括三個區域:public、VPN和LAN

注意

現成可用的配置是安全的。不過,在從舊版Adobe Campaign移轉之前,可能需要暫時降低安全性,才能移轉並核准新規則。

如何在​serverConf.xml​檔案中定義區域的示例:

<securityZone allowDebug="false" allowHTTP="false" label="Public Network" name="public">
<subNetwork label="All addresses" mask="*" name="all"/>

<securityZone allowDebug="true" allowHTTP="false" label="Private Network (VPN)"
              name="vpn" showErrors="true">

  <securityZone allowDebug="true" allowEmptyPassword="true" allowHTTP="true"
                allowUserPassword="false" label="Private Network (LAN)" name="lan"
                sessionTokenOnly="true" showErrors="true">
    <subNetwork label="Lan 1" mask="192.168.0.0/16" name="lan1"/>
    <subNetwork label="Lan 2" mask="172.16.0.0/12" name="lan2"/>
    <subNetwork label="Lan 3" mask="10.0.0.0/8" name="lan3"/>
    <subNetwork label="Localhost" mask="127.0.0.1/16" name="locahost"/>
    <subNetwork label="Lan (IPv6)" mask="fc00::/7" name="lan6"/>
    <subNetwork label="Localhost (IPv6)" mask="::1/128" name="localhost6"/>
  </securityZone>

</securityZone>
</securityZone>

定義區域的所有權利如下:

  • allowDebug:可讓webApp在「debug」模式中執行
  • allowEmptyPassword:授權不使用密碼的實例的連接
  • allowHTTP:不需使用HTTPS通訊協定即可建立工作階段
  • allowUserPassword:作業Token可以有下列格式「<login>/<password>
  • sessionTokenOnly:連線URL中不需要安全性Token
  • showErrors:會轉送並顯示伺服器端的錯誤
重要

在區域定義中,每個具有​true​值的屬性都會降低安全性。

使用消息中心時,如果存在多個執行實例,則需要使用定義為​true​的​sessionTokenOnly​屬性來建立附加安全區,其中僅添加必要的IP地址。 有關配置實例的詳細資訊,請參閱本文檔

安全區的最佳做法

在​lan​安全區的定義中,可以添加定義技術訪問的IP地址掩碼。 此新增功能將允許存取伺服器上裝載的所有執行個體。

<securityZone allowDebug="true" allowEmptyPassword="false" allowHTTP="true"
                    allowUserPassword="false" label="Private Network (LAN)" name="lan"
                    sessionTokenOnly="true" showErrors="true">
        <subNetwork label="Lan 1" mask="192.168.0.0/16" name="lan1"/>
        <subNetwork label="Lan 2" mask="172.16.0.0/12" name="lan2"/>
        <subNetwork label="Lan 3" mask="10.0.0.0/8" name="lan3"/>
        <subNetwork label="Localhost" mask="127.0.0.1/16" name="locahost"/>
        <subNetwork label="Lan (IPv6)" mask="fc00::/7" name="lan6"/>
        <subNetwork label="Localhost (IPv6)" mask="::1/128" name="localhost6"/>
  
        <!-- Customer internal IPs -->
        <subNetwork id="internalNetwork" mask="a.b.c.d/xx"/>

      </securityZone>

我們建議在僅存取特定例項的運算子專用的設定檔案中,直接定義IP位址範圍。

在​config-<instance>.xml​檔案中:

  <securityZone name="public">
   ...
    <securityZone name="vpn">
      <subNetwork id="cus1" mask="a.b.c.d/xx"/>

安全區中的子網和代理

proxy​參數可用於​subNetwork​元素中,以指定安全區中的proxy使用。

當參考代理並且連接通過此代理進入時(通過HTTP X-Forwarded-For標頭可見),驗證區域是代理的客戶端區域,而不是代理的客戶端區域。

重要

如果已設定代理,並且可以覆寫它(或者如果不存在),則測試的IP位址將會被偽造。

此外,中繼現在也像Proxy一樣產生。 因此,您可以將IP地址127.0.0.1添加到安全區配置中的Proxy清單中。

例如:" <subnetwork label="Lan 1" mask="192.168.0.0/16" name="lan1" proxy="127.0.0.1,10.100.2.135" />"。

可能會發生各種情況:

  • 安全區中直接引用子網路,且未配置代理:子網用戶可直接連接到Adobe Campaign伺服器。

  • 為安全區域中的子網路指定代理:來自此子網的用戶可以通過此代理訪問Adobe Campaign伺服器。

  • 代理包含在安全區子網路中:透過此Proxy存取的使用者,不論其來源為何,都可存取Adobe Campaign伺服器。

可能訪問Adobe Campaign伺服器的代理的IP地址必須在​<subnetwork>​相關子網和一級子網​<subnetwork name="all"/>​中輸入。 例如,以下是IP位址為10.131.146.102的Proxy:

<securityZone allowDebug="false" allowHTTP="false" label="Public Network" 
                      name="public">
    <subNetwork label="All addresses" mask="*" name="all"
                      proxy="10.131.146.102,127.0.0.1, ::1"/>

    <securityZone allowDebug="true" allowHTTP="false" label="Private Network (VPN)" 
                      name="vpn" showErrors="true">
        <securityZone allowDebug="true" allowEmptyPassword="false" allowHTTP="true" 
                      allowUserPassword="false" label="Private Network (LAN)" 
                      name="lan" sessionTokenOnly="true" showErrors="true">
            <subNetwork label="Lan proxy" mask="10.131.193.182" name="lan3" 
                      proxy="10.131.146.102,127.0.0.1, ::1"/>
            <subNetwork label="Lan 1" mask="192.168.0.0/16" name="lan1" 
                      proxy="127.0.0.1, ::1"/>

        </securityZone>
    </securityZone>
</securityZone>

將安全區連結到操作員

定義區域後,必須將每個運算子連結到其中一個運算子,才能登錄到實例,並且該運算子的IP地址必須包含在區域中引用的地址或地址範圍中。

區域的技術組態會在促銷活動伺服器的組態檔案中執行:serverConf.xml

在此之前,您必須首先配置現成可用的​Security zone​枚舉,以將標籤連結到​serverConf.xml​檔案中定義的區域的內部名稱。

此設定是在促銷活動檔案總管中完成:

  1. 按一下​Administration > Platform > Enumerations​節點。

  2. 選擇​Security zone (securityZone)​系統枚舉。

  3. 對於伺服器配置檔案中定義的每個安全區,按一下​Add​按鈕。

  4. 在​Internal name​欄位中,輸入​serverConf.xml​檔案中定義的區域名稱。 它對應於<securityzone>元素的​@name​屬性。 在​Label​欄位中輸入連結至內部名稱的標籤。

  5. 按一下「確定」並儲存修改。

定義區域並配置​Security zone​枚舉後,您需要將每個運算子連結到安全區域:

  1. 按一下​Administration > Access management > Operators​節點。

  2. 選擇要將安全區連結到的運算子,然後按一下​Edit​頁籤。

  3. 前往​Access rights​標籤,然後按一下​Edit access parameters…​連結。

  4. 從​Authorized connection zone​下拉式清單中選取區域

  5. 按一下​OK​並保存修改以應用這些更改。

建議

  • 請確定子網中不允許您的反向代理。 如果是這樣,將檢測到​all​通信來自此本地IP,因此將受信任。

  • 將sessionTokenOnly="true"的使用降至最低:

    • 警告:如果此屬性設定為true,則操作員可以暴露在​CRSF攻擊​中。
    • 此外,sessionToken Cookie不會使用httpOnly標幟來設定,因此有些用戶端javascript程式碼可以讀取。
    • 但是,多個執行儲存格上的訊息中心需要sessionTokenOnly:建立新的安全區域,並將sessionTokenOnly設為"true",並在此區域中僅新增所需的IP
  • 如果可能,請將allowHTTP、showErrors設為false(非localhost)並加以檢查。

    • allowHTTP = "false":強制運算子使用HTTPS
    • showErrors = "false":隱藏技術錯誤(包括SQL錯誤)。 它可避免顯示太多資訊,但降低行銷人員解決錯誤的能力(毋需向管理員要求更多資訊)
  • 只有在行銷使用者/管理員使用的IP上,將allowDebug設為true,而這些IP需要建立(實際上是預覽)調查、webApps和報表。 此標誌允許這些IP獲得顯示的中繼規則並對它們進行調試。

  • 請勿將allowEmptyPassword、allowUserPassword、allowSQLInjeption設為true。 這些屬性僅允許從v5和v6.0順暢移轉:

    • allowEmptyPasswordlet 運算子具有空密碼。如果是這種情況,請通知所有營運商要求他們在期限內設定密碼。 在此期限過後,請將此屬性變更為false。

    • allowUserPasswordlets 運算子會將其認證傳送為參數(因此會由apache/IIS/proxy記錄)。此功能過去曾用來簡化API使用。 您可以登入您的Cookbook(或在規格中),看看是否有某些協力廠商應用程式使用它。 如果是,您必須通知他們,以變更他們使用我們API的方式,並盡快移除此功能。

    • allowSQLInjection 可讓使用者使用舊語法來執行SQL插入。盡快執行本頁中所述的更正,以便能夠將此屬性設定為false。 您可以使用/nl/jsp/ping.jsp?zones=true來檢查安全區配置。 此頁顯示當前IP的安全措施(使用這些安全標誌計算)的活動狀態。

  • HttpOnly cookie/useSecurityToken:請參閱​sessionTokenOnly​旗標。

  • 將新增至允許清單的IP降至最低:現在,在安全區中,我們為專用網路添加了3個範圍。 您不太可能使用這些IP位址。 所以只保留您需要的。

  • 將webApp/internal運算子更新為只能在localhost中存取。

本頁內容