New Relic Browser のセキュリティ

New Relic Browser は、サイトがブラウザにロードされたときに、サイトがどのように動作するかについての情報を提供します。ここで説明するように、New Relic Browserはパフォーマンスデータのみ収集します。明示的に設定しない限り、監視対象のアプリケーションが使用するもしくは、保存するデータは収集しません。また、New Relic Browser のセキュリティ対策について説明します。

ここでは、New Relic 標準のセキュリティ対策を補完する New Relic Browser のセキュリティ対策について説明します。詳しくは、New Relic 社のセキュリティサイト [英語]をご覧ください。

送信されるデータ

New Relic Browser は、サイトのパフォーマンスの分析に役立つ様々なデータをレポートします。PRO 機能を利用できない場合は、ページビューのデータのみ送信します。Pro 機能を利用できれば、AJAX リクエストや JavaScript のエラー、セッショントレースの機能を有効することもできます。

ほとんどのデータのタイプで、SSL 暗号化を使用して安全にデータを送信します。詳しくは、データ転送をご覧ください。

注: ブラウザアプリの監視エージェントは、ドメイン bam.nr-data.net 介して New Relic のデータ収集サーバーへデータを送信します。

以下は、New Relic Browser が送信するデータタイプの概要です。

Page view データ

このデータは、ページビューごとに一度送信されます。そして、以下のデータで構成されています。

  • ページ読み込みタイミング・データ
  • ページを提供したサーバーサイドのアプリのコントローラー名。利用可能な場合のみ(ページ内および送信中に難読化されています)
  • サーバーサイドのアプリのコントローラーにセットされたカスタムパラメーター利用可能な場合のみ(ページ内および送信中に難読化されています)

この情報は、Page views ページに表示されます。

New Relic がサーバーを計測し、エージェントによってブラウザ監視による計測が埋め込まれた場合のみ、上記のサーバーサイドのデータは収集されます。New Relic のデータの収集と表示については、ページ読み込みタイミングの計測をご覧ください。

AJAX のタイミングデータ

この機能が有効であれば、ユーザーが別のページに移動するか、ページを閉じるまで、定期的に AJAX のタイミングデータをレポートします。(New Relic は、2分以上かかる全 AJAX リクエストを遮断します。データには以下の情報が含まれます。

  • AJAX リクエストの URL。ホスト名、ポート番号、パス (クリエパラメーターは含みません)
  • レスポンスの HTTP ステータスコード
  • リクエストのメッセージボデイのバイトサイズ
  • AJAX リクエストやサーバーサイドのタイミングデータを受けるサーバーサイドアプリのコントローラーの名前 (ページ内および送信中に難読化されています)。そして、ブラウザの計測は、New Relic エージェントによって埋め込まれたブラウザ計測の場合
  • AJAX トランザクションのタイミングデータ
  • AJAX コールバックのタイミングデータ

この情報は、AJAX ページに表示されます。

JavaScript のエラーデータ
有効な場合、ページ上で発生したエラーはすべて、ページが閉じられるか、別のページに移動するまで、定期的に送信されます。この情報は、JavaScript errors ページで見ることができます。

各エラーには、以下のデータが含まれます。

  • エラーの例外クラス
  • エラーメッセージ
  • エラーのスタックトレース。エラーを引き起こしたスクリプトの関数名や URL を含むこともあります。

エラーメッセージは、通常、機密情報が含まれていません。しかし、意図的に機密情報を含まれせることはできます。JavaScript のエラーレポート機能を有効にする前に、あなたのサイトが、エラーメッセージ内に機密情報を含んでいないことを確認してください。

セッショントレースのデータ

この機能が有効な場合、ユーザーがページを閉じるか、他のページに移動するまで、シングルページのライフサイクルの詳細なデータを定期的にレポートします。これには、ユーザーインタラクション、AJAX 読み込み、JavaScript エラーを含んでいます。10分経つと、自動的にデータを記録を停止します。セッショントレースデータには以下のデータが含まれています:

  • アセット読み込みタイミングの詳細
  • ユーザーインタラクション。スクロール、マウス移動、クリックなど。
  • Javascript エラータイミングとその他の JavaScript エラー情報
  • トリガーされた Javascript イベント

セッショントレースは、監視対象のページビューから一定の割合でランダムに捕捉されます。セッショントレース情報は、Session traces ページに表示されます。

SPA データ

New Relic Browser のシングルページアプリケーション(SPA) モニタリングを使う場合、New Relic は、ページロードやルート変更ごとに以下のデータを送信します。

SPA モニタリングが有効になっている場合、この情報はPage views [ページビュー]ページに表示されます。

サーバーサイドのデータは、ホストが New Relic によって計測され、ブラウザ監視の計測がエージェントによって注入された場合にのみ収集されます。New Relic がこのデータを収集して表示する方法については、ページ読み込みタイミングの計測をご覧てください。

URL クエリ文字列

Browser エージェントは、HTTP referer 属性を使ってページの URL を追跡します。URL には、潜在的に機密性の高いユーザー入力のクエリデータ(ユーザー名など)が含まれることがあります。データのセキュリティ上の理由から、New Relic Browser は URL クエリ文字列の記録及び収集を行いません。

訪問者の IP アドレス

New Relic Browser は訪問者の IP アドレスを使って、訪問者のセグメンテーション用のデータを充実させます。ASNgeoID などの詳細情報は、IP アドレスをもとに New Relic Browser データにマップされます。データのセキュリティ上の理由から、New Relic Browser は訪問者の IP アドレスを保持しません。IP アドレスは、New Relic コレクターへのリクエストから HTTP ヘッダーで取得されます。

New Relic は、属性がマップされた後は訪問者の IP アドレスを保持しません。IP アドレスの値は、データが収集されてから24時間以内に上書きされます。

ブラウザのタイプ

New Relic Browser は、User-Agent [ユーザーエージェント]ヘッダーと ブラウザの IP アドレスに基づく位置情報から、ブラウザのタイプを決定します。New Relic は、IP アドレスを保持しません。パフォーマンスデータに関連する国や地域情報だけです。

この情報は、Geography ページに表示されます。また、特定のブラウザのタイプの関する詳細情報は、Browsers ページに表示されます。.

Browser トレースの詳細

選択したアプリの Browser Overview ページからトランザクショントレースを選択できます。また、Page views ページからキー・トランザクションを選択できます。

New Relic がキャプチャしたブラウザトレースには、IP アドレス(もしあれば)に関連した都市を含みます。
ブラウザトレースの詳細は、Page views ページに表示されます。しかし、Browser PRO を使っている場合は、その部分は拡張版であるブラウザのセッショントレースに置き換わります。そこでは、サイトのライフサイクル中の読み込みやインタラクションに関するようり詳細なデータを表示します。

CDN アクセス

ページ読み込みタイミングは、New Relic のユーティリティの JavaScript ファイル (nr.js) がホストされているコンテンツ配信ネットワーク(CDN)へのアクセスする必要があります。ファイルのドメイン名 (js-agent.newrelic.com) は、静的なままです。しかし、パスの数(バージョン)は、定期的に変更するかもしれません。

script タグは、CDN 上の JavaScript を参照して、New Relic エージェントによって埋め込まれます。(もしくは、スタアンドアロン・アプリでは、ページにペーストされている)。そして、このスクリプトは、ブラウザによってロードされます。読み込まれた JavaScript は、メトリクスを収集し、bam.nr-data.net ドメインに直接送信します。

注: エンドユーザーが、ファイアウォールやプロキシ内にいたり、CDN や(bam.nr-data.net を含む) New Relic のネットワークへアクセスできない場合は、New Relic Browser は動作しません。New Relic へデータを送信するサーバーの位置や IP アドレスについての詳しい情報は、ネットワークをご覧ください。

クッキー

New Relic Browser は、 ブラウザ内で、クッキーを作成します。ユーザーがクッキーを無効にしている場合は、ページ読み込みタイミング処理ではセッションを正確に追跡できません。また、ユーザーが、Navigation Timing Specification APIをサポートしていない古いブラウザを使っている場合は、ページ読み込みタイミング処理は、正確にレスポンスタイムを追跡できません。

New Relic のブラウザ監視用のクッキーは、secure 属性を含んでいません。つまり、ページ読み込みタイミングデータは、ページが HTTP の場合、HTTP 経由で送信されます。ページが HTTPS の場合は、HTTPS 経由で送信されます。詳しくは、データ転送をご覧ください。

JavaScript や AJAX のデータに、多くの機密情報を含んでいる可能性があるため、常に HTTPS 経由で送信されます。HTTP 経由でのクッキーの送信や、JavaScript からのクッキーにアクセスすることは、重大なセキュリティのリスクにはなりません。なぜなら、クッキーは、セキュリティに関する処理に関係しません。また、アカウントへのアクセスを許可する用途でも使われません。
これらは、パフォーマンスデータを収集するためにのみ使用されます。そして、特定可能なデータに関しては難読化されています。

注: サイトで、P3Pを使っているなら、これらのクッキーを許可する設定が必要です。

JSONP リクエスト

メトリクスはスクリプトの GET 経由で (JSONP リクエスト としても知られている)、New Relic へレポートされます。GET した戻り値をクッキーに保存し、その値を使って、ブラウザトレースのキャプチャを呼び出します。

関連情報

関連する情報は以下のとおりです。