.NETエージェントがContrast UIに接続できない

  • 更新
ライセンス オンプレミスおよびSaaS
製品 AssessとProtectの両方、もしくは単体
製品カテゴリ    .NETエージェント
サブカテゴリ 接続

 

概要

本項では、以下のような事象が発生している場合の対策について解説します:

  • .NETエージェントが正常に起動しない。
  • Contrastトレイおよび/または.NETエージェントのログで、Contrastへの接続エラーが報告される。

    .NET Agent Windows Service failed to start. The agent cannot connect to TeamServer at: https://app.contrastsecurity.com. 
  • エージェントをインストールしたアプリケーションサーバのデータが、Contrast UI(Webインターフェイス)に表示されない。

原因

この問題の原因はいくつか考えられますが、エージェントがContrast UIと正常に通信できないために、操作が続行できない状況です。 

次のようなエラーが表示される場合は、一般的な原因は、ルートCA(ルート認証局)を認識できないためと考えられます:

System.Security.Authentication.AuthenticationException: 検証プロシージャによると、リモート証明書は無効です。

次のいずれかのエラーが発生している場合は、エージェントの設定ファイルで認証情報に誤りがあると考えられます:

System.Net.WebException: リモート名を解決できませんでした
Response Code: Unauthorized
Response Code: PreconditionFailed

 

解決方法

< 証明書の問題の場合 >

https://app.contrastsecurity.com (または、ご利用のContrastサーバのSaaS版かEOP版インスタンスへのURL)にアクセスして証明書を取得するか、以下のPowerShellコマンドを使用すれば、Contrast.cerという名前のファイルに証明書の内容が出力されます。
$webRequest = [Net.WebRequest]::Create("https://app.contrastsecurity.com")
try { $webRequest.GetResponse() } catch {}
$cert = $webRequest.ServicePoint.Certificate
$bytes = $cert.Export([Security.Cryptography.X509Certificates.X509ContentType]::Cert)
set-content -value $bytes -encoding byte -path "$pwd\Contrast.cer"
出力された証明書ファイルをダブルクリックすると、内容を確認できます。
 
ContrastのSaaS版をご利用のお客様の場合、発行者はAmazonである必要があります。オンプレミス(EOP)版をご利用のお客様の場合、発行者はサーバ証明書に署名されたCA(認証局)と一致している必要があります。発行者が異なる認証機関である場合は、ファイアウォールやプロキシサーバでエージェントとサーバ間のSSL通信検証時に、証明書がすり替えられている可能性があります。以下のいずれかの方法で、対応してください。
 

方法1 - 例外を許可する

プロキシ/ファイアウォール(BlueCoatなど)の管理者に連絡し、Contrast UIへの通信をバイバスする設定ができるか確認してください。

方法2 - 証明書を信頼する

証明書をダブルクリックして開き、「証明書のインストール」を選択します。表示される画面の指示に従って、ローカルコンピュータ信頼されたルート証明機関の証明書ストアを選択して、証明書をインストールします。

方法3 - 証明書の例外を無視する

以下の設定を、サーバのcontrast_security.yamlファイルに追加することで、証明書検証のエラーを無視することができます。

api:
certificate:
ignore_cert_errors: true

 

< 設定の問題の場合>

上記以外の問題については、.NETエージェントの作業ディレクトリ(例、%ProgramData%\Contrast\dotnet\)にある.NETエージェントの設定ファイルcontrast_security.yamlを開いて、以下を行います。

  • url値が正しいことを確認します。オンプレミス(EOP)版をご利用の場合は異なりますが、値は以下のようになります。
    api:
    url: https://app.contrastsecurity.com/Contrast
    アプリケーションサーバ上の通常のWebブラウザから、このURLに到着できるかどうか確認してください。到着できない場合は、アプリケーションサーバとContrastサーバ間のネットワークパスや関連する設定を確認する必要があります。
  • プロキシの設定を確認します。通常のブラウザではContrast UIに接続できても、エージェントが接続できない場合、 ネットワーク環境で必要なプロキシの設定がエージェントに指定されていない可能性があります。以下のオプションを指定することにより、エージェントにプロキシが設定されます。<>の箇所は、ご利用の環境に合わせて値を置き換えてください。
    api:
    proxy:
    enable: true
    url: <proxy url with port and scheme>
    user: <proxy user if required>
    pass: <proxy password if required>
    auth_type: <proxy auth type if required>
  • service_keyapi_keyの値が正しいことを確認します。前述までの設定が正しい場合、組織で使用しているAPIキーが変更されている可能性があります。現在のAPIキーの確認方法についてはは、 エージェントの検索(オンラインヘルプ)をご覧ください。

.NETエージェントの設定に関する詳しい情報は、.NETエージェントの設定(オンラインヘルプ)を参照ください。エージェントの全ての設定は、環境変数として指定することもできます。環境変数は、プロキシのパスワードなど設定ファイルに保存できない値に利用すると便利です。

 

関連情報

【動画】.NETエージェントのプロキシ設定

この記事は役に立ちましたか?

0人中0人がこの記事が役に立ったと言っています

他にご質問がございましたら、リクエストを送信してください