[僅限內部部署/混合]{class="badge yellow" title="僅適用於內部部署和混合部署"}

定義安全性區域(內部部署) defining-security-zones

每個運運算元都必須連結到區域才能登入執行個體,而且運運算元IP必須包含在安全性區域中定義的位址或位址集中。 安全性區域設定是在Adobe Campaign伺服器的設定檔案中執行。

運運算元會從主控台中的設定檔連結至安全性區域,可在中存取 Administration > Access management > Operators 節點。 了解更多

NOTE
此程式僅限於 內部部署 部署。
作為 託管 客戶,如果您可存取 Campaign控制面板,您可以使用Security Zone自助服務介面。 了解更多
其他 混合/託管 客戶需要聯絡Adobe支援團隊,將IP新增至允許清單。

建立安全區域 creating-security-zones

區域由下列專案定義:

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

安全性區域是互鎖的,也就是說,在另一個區域中定義新區域可減少可登入區域的操作者數目,同時增加指派給每個操作者的許可權。

區域必須在伺服器組態期間定義,在 serverConf.xml 檔案。 所有引數都可在 serverConf.xml 列於 本節.

每個區域都會定義許可權,例如:

  • HTTP連線而非HTTPS
  • 錯誤顯示(Java錯誤、JavaScript、C++等)
  • 報表和WebApp預覽
  • 透過登入/密碼驗證
  • 非安全連線模式
NOTE
每個運運算元都必須連結至區域. 如果運運算元的IP位址屬於區域定義的範圍,則運運算元可登入執行個體。
操作員的IP位址可以在多個區域中定義。 在此案例中,運運算元接收 設定 每個區域的可用許可權數量。

現成可用 serverConf.xml 檔案包含三個區域: 公用、VPN和LAN.

NOTE
現成可用的設定是安全的. 不過,在從舊版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在「偵錯」模式下執行
  • allowEmptyPassword:授權使用密碼連線至執行個體
  • allowHTTP:不需要使用HTTPS通訊協定即可建立工作階段
  • allowUserPassword:工作階段權杖可以有下列形式»<login>/<password>"
  • sessionTokenOnly:連線URL中不需要安全性權杖
  • showErrors:轉送並顯示伺服器端的錯誤
IMPORTANT
在區域定義中,每個屬性都具有 true 值會降低安全性。

使用訊息中心時,如果有數個執行個體,您需要使用建立額外的安全性區域 sessionTokenOnly 屬性定義為 true,僅新增必要的IP位址。 有關設定執行個體的詳細資訊,請參閱 本檔案.

安全性區域的最佳作法 best-practices-for-security-zones

在「 」的定義 區域網路 安全區域,可以新增定義技術存取的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"/>

安全區域中的子網路和代理 sub-networks-and-proxies-in-a-security-zone

proxy 引數可以用在 子網路 元素來指定安全區域中的Proxy使用。

當參照Proxy且連線透過此Proxy (透過HTTP X-Forwarded-For標頭可見)進入時,已驗證的區域是Proxy的使用者端區域,而非Proxy的使用者端區域。

IMPORTANT
如果已設定Proxy且可以覆寫它(如果不存在,則覆寫它),將進行測試的IP位址將能夠被偽造。
此外,中繼的產生方式現在類似代理。 因此,您可以將IP位址127.0.0.1新增至安全區域設定中的代理程式清單。
例如:「 <subnetwork label="Lan 1" mask="192.168.0.0/16" name="lan1" proxy="127.0.0.1,10.100.2.135" />「。

可能會出現各種情況:

  • 子網路會在安全區域中直接參照,且未設定Proxy:子網路的使用者可直接連線至Adobe Campaign伺服器。

  • 為安全區域中的子網路指定Proxy:此子網路的使用者可以透過此Proxy存取Adobe Campaign伺服器。

  • Proxy包含在安全區域子網路中:透過此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>

將安全區域連結到操作員 linking-a-security-zone-to-an-operator

定義區域後,每個運運算元都必須連結到其中一個運運算元,才能登入執行個體,而且運運算元的IP位址必須包含在區域中參考的位址或位址範圍內。

區域的技術設定是在Campaign伺服器的設定檔案中執行: serverConf.xml.

在此之前,您必須從設定現成可用的開始 Security zone 將標籤連結至中定義之區域的內部名稱的列舉 serverConf.xml 檔案。

此設定在Campaign檔案總管中完成:

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

  2. 選取 Security zone (securityZone) 系統列舉。

  3. 針對伺服器組態檔中定義的每個安全區域,按一下 Add 按鈕。

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

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

定義區域後,以及 Security zone 已設定分項清單,您必須將每個運運算元連結至安全性區域:

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

  2. 選取您要連結安全區域的運運算元,然後按一下 Edit 標籤。

  3. 前往 Access rights 標籤並按一下 Edit access parameters… 連結。

  4. 從以下位置選取區域 Authorized connection zone 下拉式清單

  5. 按一下 OK 並儲存修改以套用這些變更。

建議

  • 請確定您的反向Proxy不允許出現在subNetwork中。 如果是這種情況, 全部 系統將偵測到來自此本機IP的流量,因此信任該流量。

  • 儘量不使用sessionTokenOnly="true":

    • 警告:如果這個屬性設定為true,運運算元就可以顯示為 CRSF攻擊.
    • 此外,sessionToken Cookie未設定httpOnly標幟,因此某些使用者端JavaScript程式碼可以讀取。
    • 不過,多個執行儲存格上的Message Center需要sessionTokenOnly:在sessionTokenOnly設為"true"的情況下建立新的安全性區域,並新增 僅限所需的IP 在此區域中。
  • 可能的話,請將所有allowHTTP、showErrors設定為false (不適用於localhost)並檢查它們。

    • allowHTTP = "false":強制運運算元使用HTTPS
    • showErrors = "false":隱藏技術錯誤(包括SQL錯誤)。 它可防止顯示太多資訊,但會降低行銷人員解決錯誤的能力(無需向管理員要求更多資訊)
  • 僅針對需要建立(事實上是預覽)調查、webApps和報表的行銷使用者/管理員所使用的IP,將allowDebug設定為true。 此旗標可讓這些IP顯示轉送規則並為其偵錯。

    • 當allowDebug設為false時,輸出為:

      code language-none
      <redir status='OK' date='...' sourceIP='...'/>
      
    • 當allowDebug設定為true時,輸出為:

      code language-none
      <redir status='OK' date='...' build='...' OR version='...' sha1='...' instance='...' sourceIP='...' host='...' localHost='...'/>
      
  • 切勿將allowEmptyPassword、allowUserPassword、allowSQLInjection設定為true。

    • allowEmptyPassword 可讓操作者使用空白密碼。 如果您遇到這種情況,請通知所有操作員要求他們設定截止日期的密碼。 一旦過了這個期限,就將此屬性變更為false。

    • allowUserPassword 可讓操作員傳送其認證作為引數(以便由apache/IIS/proxy記錄)。 此功能過去曾用於簡化API的使用。 無論某些協力廠商應用程式是否使用此功能,您都可以簽入您的逐步指南(或規格)。 若是如此,您必須通知他們變更使用API的方式,並儘快移除此功能。

    • allowSQLInjection 可讓使用者使用舊語法執行SQL插入。 此屬性應設為false。 您可以使用/nl/jsp/ping.jsp?zones=true來檢查您的安全區域設定。 此頁面顯示目前IP的安全性措施(使用這些安全性旗標計算)的有效狀態。

  • HttpOnly Cookie/useSecurityToken:請參閱 sessionTokenOnly 標幟。

  • 最小化IP新增到允許清單:開箱即用,在安全性區域中,我們為私人網路新增了3個範圍。 您不太可能會使用所有這些IP位址。 所以,請只保留您需要的專案。

  • 更新webApp/內部運運算元,使其僅可在localhost中存取。

recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1