New Relic の インフラストラクチャエージェント はお客様のホスト上で動作し、特に管理者権限で動作している場合には包括的なデータを提供します。以下では、インフラストラクチャエージェントのセキュリティの概要と推奨事項について説明します。
セキュアなエージェントコミュニケーション お客様のホストと インフラストラクチャエージェント との間で交換される情報はすべて安全に配信されます。エージェントからのすべての通信は、 Transport Layer Security (TLS) を使用して HTTPS で行われます。安全な通信を確保するために、インフラストラクチャエージェントは以下の保護手段を用いて設計されています。
すべての通信は、エージェントからサービスへ直接確立されます。 エージェントは、受信ポートを開く必要がありません。 エージェントは読み取り専用で、システムに変更を加えることはできません。 インフラストラクチャ エージェントは高セキュリティ モード をサポートしていません。
New Relicのセキュリティ対策の詳細については、セキュリティとプライバシーのドキュメント を参照、またはNew Relicのセキュリティウェブサイト を閲覧してください。
ランニングモード ニューレリックはお客様のデータの安全性を重視しています。 インフラストラクチャエージェント の実行中に得られたすべてのデータは保護され、お客様のインフラストラクチャに関連する情報をお客様にお届けするためにのみ使用されます。
Linux インフラストラクチャLinuxエージェントは、3つの異なるモードで実行できます。
ルートとして実行 エージェントがルートユーザーとして実行されると、すべてのシステムメトリクスとインベントリにアクセスできるようになります。
特権ユーザーとして実行 エージェントは、 nri-agent
という名前の非特権ユーザーを実行します。このユーザーには、インストール プロセス中に拡張カーネル機能が付与されます。したがって、特権を持つnri-agent
ユーザーは、一部のメトリックとほとんどのインベントリを収集できます。これらの権限は読み取り専用です。
特権モードのインストールスクリプトでは、システムに以下のような変更が加えられます。
nri-agent
ユーザーとグループを作成します。
次のディレクトリの所有者としてnri-agent
ユーザーとグループを設定します:
/var/run/newrelic-infra
/var/db/newrelic-infra
/var/log/newrelic-infra
/etc/newrelic-infra
次のカーネル機能 を/usr/bin/newrelic-infra
実行可能ファイルに追加します:
CAP_SYS_PTRACE
、これにより、任意のプロセスを検査および追跡できますCAP_DAC_READ_SEARCH
、ファイルとディレクトリの読み取りをバイパスし、権限チェックを実行します非特権ユーザーとして実行 エージェントは、アップグレード/インストール プロセス中に自動的に作成される非特権ユーザーnri-agent
で実行され、すべてのシステム メトリックへの読み取りアクセス権はありません。これにより、非常に厳格なセキュリティ ポリシーまたは規制ポリシーが適用されている環境を可視化できます。この実行モードでは、ユーザーに付与される特別な権限やアクセス権はありません。
非特権モードでインストールスクリプトを実行すると、システムに以下のような変更が加えられます。
nri-agent
ユーザーとグループを作成します。
次のシステム ファイルとフォルダの所有者としてnri-agent
とグループを設定します:
/var/run/newrelic-infra
/var/db/newrelic-infra
/var/log/newrelic-infra
/etc/newrelic-infra
異なる実行モードの詳細については、 Infrastructure のインストールドキュメント の比較を参照してください。
ウィンドウズ Windowsシステムでは、エージェントをAdministrator権限で実行する必要があります。
データ収集のソース インフラストラクチャエージェントは、さまざまなOSソースからメトリクス、イベント、およびインベントリデータを収集します。これらのソースの中には、非特権アカウントから読めるものもありますが、昇格した特権が必要なものもあります。
現在のエージェントのバージョンでは、New Relic は root ユーザー (Linux の場合) または完全な管理者アクセス (Windows の場合) で実行する必要があります。ここでは、インフラストラクチャエージェントがデフォルトのディレクトリにアクセスする方法、使用するパッケージとコマンドの詳細について説明します。
エージェントがアクセスするデフォルトのディレクトリ 特に断りのない限り、この情報はすべてのLinuxオペレーティングシステムに適用されます。
ディレクトリまたはファイル
目的
Linux OS
/etc/newrelic-infra.yml
デフォルト設定ファイル
任意の
/usr/bin/newrelic-infra-service
デフォルトのエージェント・サービス・ラッパー・バイナリのインストール先
任意の
/usr/bin/newrelic-infra
エージェントバイナリのデフォルトインストール先
任意の
/usr/bin/newrelic-infra-ctl
デフォルトのCLIエージェント・コントロール・バイナリの場所
任意の
/var/db/newrelic-infra/
デフォルトのインベントリキャッシュとプラグインのバイナリ
任意の
/var/run/newrelic-infra.pid
デフォルトのpidファイル
任意の
stdout
、 stderr
、 logs
構成に応じて、エージェントはログをstdout
に書き込みます。これは、システム ロギング サービスに接続する場合があります。
任意の
エージェントが使用するパッケージとコマンド 一部のデータ ソースは、特定のオペレーティング システムに固有のものです。特に明記しない限り、関連するソフトウェアが検出されると、New Relic はオペレーティング システムのすべてのバリエーションでソースを使用します。ツールの多くは、エージェントがアクセスできるパス上にあります。特に指定がない限り、インフラストラクチャ エージェントは通常、 /usr/bin
、 /bin
、または/sbin
でそれらを検索します。
New Relic では、いくつかのツールやデータソースを使用して、複数のインフラ機能の情報を収集しています。ここでは、主な使用例を紹介します。特に断りのない限り、New Relic はこの情報を主に 在庫 ページ のために使用します。
プラグインまたはデータ
ツール、ディレクトリ、またはファイル
Linux OS
systemd
initctl list
任意の
upstart
systemctl -l
、systemctl show
、modinfo
、 lsmod
任意の
selinux
sestatus -b, semodule -l
任意の
dpkg
dpkg-query -W -f
Debian
rpm
rpm -qa
レッドハット
hostinfo
/sys/devices/virtual/dmi/id/sys_vendor, /sys/devices/virtual/dmi/id/product_name
任意の
hostinfo
/proc/sys/kernel/osrelease
任意の
hostinfo
uptime -s
任意の
hostinfo
/etc/lsb_release
Debian
hostinfo
/etc/redhat-release
レッドハット
facter
facter -p -j
任意の
daemontool
svstat
任意の
kernel_modules
/sbin/modinfo
, /sbin/lsmod
任意の
users
/usr/bin/env who
任意の
様々なプラグインがこのディレクトリを通じてシステム全体の詳細を収集します。インフラストラクチャ インベントリ やメトリクスに使用されます。
/proc/
任意の
さまざまなプラグインが、このディレクトリからsysctl
設定を収集します。インフラストラクチャのインベントリ とメトリックに使用されます。
/sys/
任意の
さまざまなプラグイン ( sshd_config
、 hostinfo
) が、このディレクトリ内の特定の構成を読み取ります。インフラストラクチャのインベントリ とメトリックに使用されます。
/etc/
任意の
プロキシ New Relic には、エージェントがプロキシを介して通信するように設定できるオプション設定が含まれています。プロキシの設定を定義するには、インフラ監視のための 設定ドキュメント を参照してください。
外部エージェント接続 エージェントは、 コンピューティング メトリクス 、 イベント 、 インベントリ 設定を記述する JSON 形式のデータを New Relic のインフラストラクチャ エンドポイントに定期的に送信します。これらの通信は、 ライセンスキー あなたのアカウント用に生成されます。New Relic が外部エージェントからデータを受信すると、新しいメトリクス、イベント、または構成データがインフラストラクチャ監視 UI に表示されます。
外部エージェントコマンド エージェントは、 newrelic-infra-ctl
とcommand-API
の 2 つの異なるコマンド ソースを処理します。
newrelic-infra-ctl
で送信された CLI コマンドは、Linux または Docker シグナリングまたは Windows の名前付きパイプを使用してエージェントに送信されます。New Relic のプラットフォームcommand-API
エンドポイントを使用して、エージェントはプラットフォームが提供するコマンドを 60 秒ごとにポーリングします。エージェントから New Relic プラットフォームのコマンド API エンドポイントへの接続は常に開かれており、その逆になることはありません。command-API
エンドポイントは、動的エンティティの登録を強制的に有効または無効にするためにのみ使用されます。これは、インフラストラクチャ エージェント バージョン 1.9.0 以降に付属する Docker 統合にも適用されます。 成果物 インフラストラクチャエージェントと、その上で動作するすべてのオンホスト統合機能は、標準的なオペレーティングシステムのリポジトリとパッケージを使用して提供されます。New Relic はすべてのパッケージを暗号化して署名しており、検証手順はインストールスクリプトにデフォルトで用意されています。
すべてのコードは、標準的なセキュリティツール(Snyk、Dependabot、Trivy)を用いて依存関係の脆弱性をチェックしています。
New Relic の公式ダウンロードサイトは、S3 を通じて AWS にホストされており、信頼できる CDN プロバイダーである Fastly がフロントに置かれています。