[僅限內部部署/混合]{class="badge yellow" title="僅適用於內部部署和混合部署"}
定義安全性區域(內部部署) defining-security-zones
每個運運算元都必須連結到區域才能登入執行個體,而且運運算元IP必須包含在安全性區域中定義的位址或位址集中。 安全性區域設定是在Adobe Campaign伺服器的設定檔案中執行。
運運算元會從主控台中的設定檔連結至安全性區域,可在中存取 Administration > Access management > Operators 節點。 了解更多。
建立安全區域 creating-security-zones
區域由下列專案定義:
- 一或多個IP位址範圍(IPv4和IPv6)
- 與每個IP位址範圍相關聯的技術名稱
安全性區域是互鎖的,也就是說,在另一個區域中定義新區域可減少可登入區域的操作者數目,同時增加指派給每個操作者的許可權。
區域必須在伺服器組態期間定義,在 serverConf.xml 檔案。 所有引數都可在 serverConf.xml 列於 本節.
每個區域都會定義許可權,例如:
- HTTP連線而非HTTPS
- 錯誤顯示(Java錯誤、JavaScript、C++等)
- 報表和WebApp預覽
- 透過登入/密碼驗證
- 非安全連線模式
操作員的IP位址可以在多個區域中定義。 在此案例中,運運算元接收 設定 每個區域的可用許可權數量。
現成可用 serverConf.xml 檔案包含三個區域: 公用、VPN和LAN.
如何在中定義區域的範例 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:轉送並顯示伺服器端的錯誤
使用訊息中心時,如果有數個執行個體,您需要使用建立額外的安全性區域 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的使用者端區域。
<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檔案總管中完成:
-
按一下 Administration > Platform > Enumerations 節點。
-
選取 Security zone (securityZone) 系統列舉。
-
針對伺服器組態檔中定義的每個安全區域,按一下 Add 按鈕。
-
在 Internal name 欄位中,輸入 serverConf.xml 檔案。 它對應至 @name 的屬性
<securityzone>
元素。 輸入連結到內部名稱的標籤,在 標籤 欄位。 -
按一下「確定」並儲存修改。
定義區域後,以及 Security zone 已設定分項清單,您必須將每個運運算元連結至安全性區域:
-
按一下 Administration > Access management > Operators 節點。
-
選取您要連結安全區域的運運算元,然後按一下 Edit 標籤。
-
前往 Access rights 標籤並按一下 Edit access parameters… 連結。
-
從以下位置選取區域 Authorized connection zone 下拉式清單
-
按一下 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中存取。