[]{class="badge informative"}
セキュリティゾーンの定義(オンプレミス) defining-security-zones
インスタンスにログオンするには、各オペレーターがゾーンにリンクされている必要があります。また、セキュリティゾーンで定義されたアドレスまたはアドレスセットにオペレーターの IP が含まれている必要があります。 セキュリティゾーンの設定は、Adobe Campaign サーバーの設定ファイルで実行されます。
オペレーターは、クライアントコンソールでオペレーターのプロファイルからセキュリティゾーンにリンクされます。オペレーターのプロファイルは、管理/アクセス管理/オペレーターノードでアクセスできます。 詳細情報。
セキュリティゾーンの作成 creating-security-zones
ゾーンは、次のように定義されます。
- 1つ以上のIP アドレス範囲(IPv4およびIPv6)
- IP アドレスの各範囲に関連付けられた技術名
セキュリティゾーンは相互にロックされています。つまり、別のゾーン内に新しいゾーンを定義することで、ログオンできるオペレーターの数を減らしながら、各オペレーターに割り当てられた権限を増やすことができます。
ゾーンは、serverConf.xml ファイルでサーバーの構成中に定義する必要があります。 serverConf.xmlで使用可能なすべてのパラメーターは、このセクション に記載されています。
各ゾーンは、次のような権限を定義します。
- HTTPSではなくHTTP接続
- エラー表示(Java エラー、JavaScript、C++など)
- レポートとweb アプリのプレビュー
- ログイン/パスワードによる認証
- 安全でない接続モード
オペレーターのIP アドレスは、複数のゾーンで定義できます。 この場合、オペレーターは、各ゾーンで利用可能な権限の set を受け取ります。
標準のserverConf.xml ファイルには、パブリック、VPN、およびLANの3つのゾーンが含まれています。
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: サーバー側のエラーが転送され、表示されます
Message Centerを使用する場合、複数の実行インスタンスがある場合、sessionTokenOnly属性が true として定義された追加のセキュリティゾーンを作成する必要があります。この際、必要なIP アドレスのみが追加されます。 インスタンスの設定について詳しくは、このドキュメント を参照してください。
セキュリティゾーンのベストプラクティス best-practices-for-security-zones
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"/>
セキュリティゾーン内のサブネットワークとプロキシ sub-networks-and-proxies-in-a-security-zone
proxy パラメーターは、subNetwork要素で使用して、セキュリティゾーンでのプロキシ使用を指定できます。
プロキシが参照され、このプロキシを介して接続が入力された場合(HTTP X-Forwarded-For ヘッダーを介して表示)、検証済みゾーンはプロキシのクライアントのものであり、プロキシのクライアントのものではありません。
<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 サーバーにアクセスできます。
-
プロキシは、セキュリティゾーンサブネットワークに含まれます。このプロキシを介してアクセスできるユーザーは、出所に関係なく、Adobe Campaign サーバーにアクセスできます。
Adobe Campaign サーバーにアクセスする可能性が高いプロキシのIP アドレスは、関連する <subnetwork> と最初のレベルのサブネットワーク <subnetwork name="all"/>の両方に入力する必要があります。 例えば、IP アドレスが10.131.146.102のプロキシの場合は次のようになります。
<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
ゾーンを定義したら、インスタンスにログオンできるようにするために、各オペレーターをそのうちの1つにリンクする必要があり、オペレーターのIP アドレスをゾーンで参照されるアドレスまたはアドレスの範囲に含める必要があります。
ゾーンの技術的な設定は、Campaign サーバーの設定ファイル serverConf.xmlで実行されます。
この手順を実行する前に、最初に、標準装備の セキュリティゾーン 列挙を設定して、ラベルをserverConf.xml ファイルで定義されているゾーンの内部名にリンクする必要があります。
この設定は、Campaign エクスプローラーで行います。
-
管理/ プラットフォーム / 列挙 ノードをクリックします。
-
セキュリティゾーン (securityZone) システム列挙を選択します。
-
サーバーの設定ファイルで定義されている各セキュリティゾーンについて、「追加」ボタンをクリックします。
-
内部名 フィールドに、serverConf.xml ファイルで定義されているゾーンの名前を入力します。 これは、
<securityzone>要素の @name 属性に対応します。 内部名にリンクされたラベルをラベル フィールドに入力します。
-
「OK」をクリックして、変更を保存します。
ゾーンを定義し、セキュリティゾーンの列挙を設定したら、各オペレーターをセキュリティゾーンにリンクする必要があります。
-
管理/ アクセス管理/ オペレーター ノードをクリックします。
-
セキュリティゾーンをリンクするオペレーターを選択し、「編集」タブをクリックします。
-
「アクセス権」タブに移動し、「アクセスパラメーターを編集…」リンクをクリックします。
-
承認済み接続ゾーン ドロップダウンリストからゾーンを選択します
-
「OK」をクリックし、変更を保存して、これらの変更を適用します。
推奨事項
-
リバースプロキシが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 エラーを含む)を非表示にします。 これにより、表示される情報の量を抑えられますが、マーケターが(管理者に追加情報を要求することなしに)問題を解決することが難しくなります。
-
「allowDebug」をtrueに設定するのは、調査、webApps、レポートの作成(実際のプレビュー)が必要なマーケティングユーザーや管理者が使用するIPに対してのみです。 このフラグを使用すると、これらの 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 でのみアクセス可能となるようにしてください。