4.2.10. 高度な設定

Secure Gateway に関連する変更可能なすべての設定は、 EricomSecureGateway.config ファイルにあります。このファイルは、テキスト・エディタで開くことができるテキスト・ファイルです。変更後、反映にはサービス再起動が必要です。

ホワイトリスト・セキュリティ

ホワイトリスト機能が Ericom Secure Gateway 7.6.1 で追加されました。

次の 3 つのタイプのホワイトリストを設定可能です: エンド・ユーザのアドレスと範囲、リレー・サーバのアドレスと範囲、およびターゲット・ホストのアドレスと範囲。 リレー・サーバは、エンド・ユーザとターゲット・ホスト(例: Ericom AccessServer)間の通信を中継する Ericom のコンポーネントです。 IPv4 アドレスと IPv6 アドレスがサポートされています。

すべてのホワイトリストは、デフォルトでは無効化されています。 1 つのタイプのホワイトリストを有効化するには、有効化の設定を「false」から「true」に変更します。

例:
<add key="ClientWhitelistByIPAddressesEnabled" value="false" />
<add key="ClientWhitelistByIPAddressesEnabled" value="true" />

アドレスは、標準的なフォーマット(例: 192.168.1.1)で入力し、セミコロン(;)で区切ります。

アドレスの範囲は、低い方の IP、文字「-」、および高い方の IP を使用します。 例: 192.168.1.1-192.168.255.255

すべての設定オプションの一覧は以下のとおりです:

<Visitor>
<add key="HandshakeTimeoutSeconds" value="60" />
<add key="ClientWhitelistByIPAddressesEnabled" value="false" />
<add key="ClientWhitelistAllowedIPv4Addresses" value="" />
<add key="ClientWhitelistAllowedIPv6Addresses" value="" />
<add key="RelayServerWhitelistByIPAddressesEnabled" value="false" />
<add key="RelayServerWhitelistAllowedIPv4Addresses" value="" />
<add key="RelayServerWhitelistAllowedIPv6Addresses" value="" />
<add key="TargetHostRestrictedToRelayServerIPEnabled" value="false" />
<add key="TargetHostWhitelistByIPAddressesEnabled" value="false" />
<add key="TargetHostWhitelistAllowedIPv4Addresses" value="" />
<add key="TargetHostWhitelistAllowedIPv6Addresses" value="" />
</Visitor>
<Admin>
<add key="InactivityTimeoutMinutes" value="5" />
<add key="WhitelistByIPAddressesEnabled" value="true" />
<add key="WhitelistAllowedIPv4Addresses" value="" />
<add key="WhitelistAllowedIPv6Addresses" value="" />
</Admin>

注意

「ClientWhitelistByIPAddressesEnabled」と管理ホワイトリスト設定は、以前のバージョンでは「LockdownAllowed****」アドレスとして存在していました。現在これらの設定を構成している場合、新しい値にパラメータをコピーしてください。

HTTP/HTTPS 通信をブロックする

AccessNowの通信にWebsocketのみを使用するよう Ericom Secure Gateway に強制するために、HTTP/HTTPS を無効にすることができます。 設定ファイルで<Section name="Http">設定に移動し、最初のキー「Enabled」を「false」から「true」に設定します。

<Section name="Http">
<Property name="Enabled" type="bool" value="false" />
<Property name="ClientPullDataTimeoutSeconds" type="int" value="30" />
<Property name="ServerPushDataTimeoutSeconds" type="int" value="10" />
</Section>

同一生成元の検証(AccessNow のみ)

注意

この機能は、AccessNow のみで使用されます。 同時に他の Ericom クライアント(例: Blaze クライアント)を使用している場合、この機能を有効化しないでください。

バージョン 7.6.1 では、信頼できる発信元とホスト・アドレスを設定するための 2つのホワイトリスト・パラメータが追加されました。 ホワイトリストを設定するには、設定ファイルを開き、「sessions Settings | ビジター」の次の場所に移動します:

  • OriginHttpHeaderWhitelistAddresses
  • HostHttpHeaderWhitelistAddresses

Websocket のアップグレード・メッセージ上に「OriginHttpHeaderWhitelistAddresses」が設定されているかが ESG によりチェックされます。「発信元」HTTP ヘッダがメッセージに存在する場合、それが信頼できるアドレスのリストにあることが確認されます。そうでなければ、「参照元」HTTP ヘッダがメッセージに存在するかがチェックされます。存在する場合、それが信頼できるアドレスのリストにあることが確認されます。一致するものが存在しない場合、Websocket のアップグレード・リクエストは ESG により拒否されます。

次に、「HostHttpHeaderWhitelistAddresses」が設定されているかが ESG によりチェックされます。「ホスト」HTTP ヘッダがメッセージに存在する場合、それが信頼できるアドレスのリストにあることが確認されます。一致するものが存在しない場合、WebSocket のアップグレード・リクエストは ESG により拒否されます。

両方のテストを通過した場合、ESG により接続が受け入れられます。

HTTP セキュリティヘッダーを設定する

HTTP セキュリティヘッダーは、EricomSecureGateway.Config file で設定されています。

※ 8.5以降のバージョンをご利用の場合は、EricomSecureGatway.config で設定されています。

X-Frame-Options の値を設定するには、次を編集します:
<Property name="XFrameOptions" type="string" value="" />
コンテンツセキュリティポリシーの値(すなわち、X-Content-Type-Options: nosniff)を設定するには、次を編集します:
<Property name="ContentSecurityPolicy" type="string" value="" />
Access Control Allow Origin の値を設定するには、次を編集します:
<Property name="AccessControlAllowOrigin" type="string" value="*" />

高可用性

Secure Gateway レイヤーに高可用性を備えるには、2つ以上の Secure Gateway をインストールし、それらへのアクセスを管理するサードパーティの冗長なロード・バランサを使用してください。

ロード・バランサにより、エンド・ユーザの接続向け 1つのアドレスが提供されます。リクエストがロード・バランサに到着すると、ビルトインの重み付け基準に基づいて利用可能な Secure Gateway にリクエストがリダイレクトされます。基本的なラウンド・ロビン式ロード・バランサも使用できますが、Secure Gateway がアクティブであるかが検出されない場合があります。

Qualys A グレードのための設定

Windows 2012R2 サーバにインストールされたバージョン 7.5 以降の Ericom Secure Gateway は、Qualys®( https://www.ssllabs.com/ssltest/ )の A グレードを達成します(2017 年 8 月時点で確認済み)。 信頼された証明書とNartac の無償IIS Crypto ツール ( https://www.nartac.com/Products/IISCrypto )も必要となります。 ESG をインストールした後、自己署名証明書よりも優先して信頼された証明書を使用するよう設定します。 ワイルドカード証明書の使用は、低い Qualys グレードをもたらす可能性があることに注意してください。 次に、以下のように IIS Crypto を使用して RC4 暗号およびDiffie-Helman鍵共有を無効化します

../_images/esgsetting03.jpg

RC4 とDiffie-Helman鍵共有を必要とするサーバ上のその他のアプリケーションが影響を受けることに注意してください。ベストプラクティスとして、最高のパフォーマンスと安定性のために Ericom Secure Gateway はサーバ上の主要なアプリケーションである必要があります。

IIS Crypto の変更後にサーバを再起動し、Qualys の Web サイトで ESG の URL をテストします。「A」グレードの結果となるはずです。

../_images/esgsetting04.jpg

SWEET32 に対する保護

Ericom Secure Gateway は、SWEET32 へのセキュリティ保護対策が施されたオペレーティング・システムに対応しています。SWEET32 に対する保護の基本的なステップは、トリプル DES を無効化することです。これは Nartac の IISCrypto を使用して実行できます。 システムを用意にロールバックできるよう、変更を適用する前にシステムのバックアップやスナップショットの作成を忘れないでください。

SSL Medium Strength Cipher Suites Supported に対する保護

Ericom Secure Gateway は、「SSL Medium Strength Cipher Suites Supported」へのセキュリティ保護対策が施されたオペレーティング・システムに対応しています。 この脆弱性に対する保護の基本的なステップは、すべての下位ビット暗号(RC2 および RC4)を無効化することです。これは Nartac の IISCrypto を使用して実行できます。 例えば、 Nartac の IISCrypto を使用して、以下を設定した後にオペレーティング・システムを再起動します。

../_images/esgsetting05.jpg

また、上記の画像は、トリプル DES を無効化することによる SWEET32 の対策も示しています。システムを用意にロールバックできるよう、変更を適用する前にシステムのバックアップやスナップショットの作成を忘れないでください。

PTWC での DMZ の設定

デフォルトでは、インターネット経由で ESG を介して接続するユーザは、ESG のアドレスを使用していると PowerTerm WebConnect サーバにより識別されます。DMP IP レンジを SmartInternalIpRanges 変数で設定している場合、これは SmartInternal の動作を妨げる場合があります。

例:
  • ESG: 10.75.4.1
  • PTWC: 10.75.1.1
  • End User: 10.10.50.50

PTWC の SmartInternalIpRanges に「10.10」を追加した場合、ユーザは PTWC によって「10.10.50.50」ではなく「10.75.4.1」(ESG アドレス)として認識されます。そのため、ユーザの接続はダイレクト・モードではなく、引き続きゲートウェイ・モードとなります。 PTWC に適切にエンド・ユーザの IP アドレスを認識させるには、index.asp と applicationzone.html の PRAM リストにパラメータ /websocket を追加します。

注意

AccessToGo、AccessPad、および AccessNow では、SmartInternal 機能は完全にはサポートされていません。これらのクライアントでは、SmartInternalIsGateway 変数を使用してゲートウェイの動作を管理する必要があります。

ESG とのアクセスを制限する

ESG とターミナル・サーバへの着信接続を制限するには、Windows ファイアウォールの スコープ の規則を使用します。 ESG への着信接続を制限するには、Ericom Secure Gateway 用のポート規則に移動します。スコープ タブをクリックし、ESG へのアクセスを持たせるシステムまたはアプライアンスのアドレスを入力します。以下の例では、「192.168.1.1 」からの接続のみが ESG ポートを介して接続できます。

../_images/esgsetting01.jpg

ターミナル・サーバ上の着信接続を ESG のみに制限するには、目的のポートに 同様のスコープの規則を設定します:

  • 3389: 標準の RDP ポート
  • 8080: AccessNow/Blaze のポート

ログ・ファイルのサイズを変更する

デフォルトのログ・ファイルのサイズは 32 MBです。この上限に達した場合、新しいファイルが生成されます。この値を変更するには、.config ファイルを編集し、logSettings セクションの LogSizeMB の設定を変更します。目的のサイズ(MB 単位)に値を変更し、新しい値が反映されるようサービスを再起動します。サービスを再起動するごとに、新しいログ・ファイルが生成されます。

SSO フォームの POST

POST がサポートされているサードパーティの認証エンティティ(SSL VPN など)を使用する場合、ユーザは認証済みの資格情報を使用して AccessNow セッションにシングル・サインオンすることができます。この機能には、ESG が必要です。

認証エンティティに、POST URL を入力するフィールドがあります。目的の製品の SSO URL を入力します:

AccessNow: https://esg-address/accessnow/sso

注意

両方のケースで、各デフォルト・ページ(start.html と view.html)へのリクエストがESG により自動的にリダイレクトされます。

フォームに以下のフィールドを追加します:

  • name="autostart" value="yes"
  • name="esg-cookie-prefix" value="EAN_"
  • name="username"
  • name="password"
  • name="domain"

以下は、Juniper SSL VPN での例です:

../_images/esgsetting02.jpg

値「esg-cookie-prefix」により、フォームの AccessNow Cookie のプレフィックスが定義されます。これは、AccessNow の接続のための必須項目です。 ターゲットが相対 URL の場合、パスの「/sso」の部分が置き換えられます。ターゲットが完全な URL の場合、現在のパスが完全に置き換えられます。

値を POST するためのページのサンプル

<form name="cookieform" method="post" action="/AccessNow/sso"><p>
<!– <form name="cookieform" method="post" action="/view/sso"><p> –>
アドレス: <input type="text" name="address"/><br/>
<!– RDP Host: <input type="text" name="fulladdress"/><br/> –>
ユーザ名: <input type="text" name="username"/><br/>
パスワード: <input type="password" name="password"><br>
ドメイン: <input type="text" name="domain"><br>
Ericom Secure Gatway を使用: <input type="checkbox" name="use_gateway" value="true"><br>
ゲートウェイ・アドレス: <input type="text" name="gateway_address"/><br/>
接続時にプログラムを起動: <input type="checkbox" name="remoteapplicationmode" value="true"><br>
プログラムのパス: <input type="text" name="alternate_shell" size="256"><br>
<input type="hidden" name="autostart" value="true"/>
<input type="hidden" name="esg-cookie-prefix" value="EAN_"/>
<input type="submit"/>
</p></form>

POST の値を受け取るページのサンプル

<body>
<%
Response.Write ("アドレス:"& Request.Form("address") &"<br>")
Response.Write( "fulladdress: " & Request.Form("fulladdress") & "<br/>")
Response.Write ("ユーザ名:"& Request.Form("username") &"<br>")
Response.Write ("パスワード:"& Request.Form("password") &"<br>")
Response.Write ("ドメイン:"& Request.Form("domain") &"<br>")
Response.Write( "autostart: " & Request.Form("autostart") & "<br/>")
Response.Write( "esgcookieprefix: " & Request.Form("esg-cookie-prefix") & "<br/>")
Response.Write ("Ericom Secure Gatway を使用:"& Request.Form("use_gateway") &"<br>")
Response.Write( "ゲートウェイ・アドレス:" & Request.Form("gateway_address") & "<br/>")
Response.Write( "接続時にプログラムを起動: " & Request.Form("remoteapplicationmode") & "<br/>")
Response.Write( "プログラムのパス: " & Request.Form("alternate_shell") & "<br/>")
%>
</body>

2008R2 上の ESG には TLS 1.0 が必要

ESG v9.0 以降では、ベストプラクティスにあわせて TLS 1.0 は無効化されています。Windows 2008R2 サーバには、TLS 1.0 が必須です。Ericom は、2016 などの新しいオペレーティング・システムを利用して ESG を実行し、TLS 1.0 を無効化されたままにすることを推奨しています。ただし、2008R2 を使用が必要である場合、次のファイルを編集して手動で TLS 1.0 を有効化できます:

<drive>\Program Files (x86)\Ericom Software\Ericom Secure Gateway\EricomSecureGateway.Config

SslProtocolsWithClient と SslProtocolsWithHost の両方に文字列「Tls, 」を追加します。

例:

  • <Property name="SslProtocolsWithClient" type="SslProtocols" value="Tls, Tls11, Tls12" />
  • <Property name="SslProtocolsWithHost" type="SslProtocols" value="Tls, Tls11, Tls12" />

AccessNow 向けのクリック・ジャッキング保護

ESG は、AccessNow クライアント Web ページをクリック・ジャッキング攻撃から保護するために必要です。 クリック・ジャッキングから保護するためには、ESG の設定ファイルで以下の設定を有効にし、それぞれに目的の値を設定します。

<Section name="InternalWebServer">
<Property name="XFrameOptions" type="string" value="" />
<Property name="ContentSecurityPolicy" type="string" value="" />
<Property name="AccessControlAllowOrigin" type="string" value="*" />
</Section>

HTTP ホスト・ヘッダー値リフレクションに対する保護

ESG で HTTP から HTTPS への自動リダイレクトが有効になっている場合、悪意のあるクライアントが HTTP ホスト・ヘッダー値リフレクション攻撃を用いて任意の Web サイトにリダイレクトを行う可能性があります。これは、クライアントが HTTP ホストヘッダーに不適切な値を渡した場合に実行されます。 V 9.2 では、これを防ぐために EricomSecureGateway.config の設定が 2つ追加されました。これらの設定は、HTTP から HTTPS へのリダイレクト中にのみ使用されます。 これらの 2つの設定は互いに独立して動作することに注意してください。

AutoRedirectAllowedHost (正規表現)

設定すると、着信ホストはこの正規表現と照合されます。一致しない場合、リダイレクトは BadRequest エラーで失敗します。
例:
特定のホストと照合する: ^esg.mycompany.com$
特定のドメインと照合する: [.]mycompany.com$
特定の 2 つのホストと照合する: ^(h1|h2)[.]mycompany.com$
一致しない (ホストが無効か正規表現が不適切) 場合、メッセージが ESG ログファイルに追加されます。

AutoRedirectHttpToHost

指定すると、着信ホスト名で HTTP にリダイレクトする代わりに、着信ホストの値に関わらず、常にこのホスト (およびオプションのポート値) にリダイレクトします。