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 はこの情報を主にInventoryページに使用します。
プラグインまたはデータ | ツール、ディレクトリ、またはファイル | 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
| 任意の |
さまざまなプラグインがこのディレクトリを通じてシステム全体の詳細を収集します。 インフラストラクチャInventoryおよびメトリックスに使用されます。 | /proc/
| 任意の |
さまざまなプラグインがこのディレクトリを通じてsysctl 設定を収集します。 インフラストラクチャInventoryおよびメトリックスに使用されます。 | /sys/
| 任意の |
さまざまなプラグイン ( sshd_config 、 hostinfo ) がこのディレクトリ内の特定の構成を読み取ります。 インフラストラクチャInventoryおよびメトリックスに使用されます。 | /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 がフロントに置かれています。