この記事では、Palo Alto Networks のファイアウォール(PA-VM、PAN-OS 10.2.4)で、SNMP(Simple Network Management Protocol)の基本設定から、OID による監視、SNMP トラップの送信までを確認します。
SNMP を使うと、CPU 使用率やインタフェースの状態、トラフィック量、セッション数などを SNMP マネージャから監視できます。また、SNMP トラップを使えば、ログに記録されたイベントをすぐに SNMP マネージャへ通知できます。
- SNMP コミュニティと管理インタフェースで SNMP を許可する設定
- 監視に使う主な OID と、MIB Browser での取得結果の読み方
- SNMP トラップの送信設定(サーバ プロファイル、ログ設定、サービスルート)
SNMP の構成
SNMP の通信には2つの向きがあります。1つは、SNMP マネージャがファイアウォールに情報を取りに行く SNMP Get(UDP 161)で、もう1つは、ファイアウォールがイベントを SNMP マネージャに知らせる SNMP トラップ(UDP 162)です。今回は、どちらも管理インタフェース(MGMT)を使い、SNMP のバージョンは v2c にします。SNMP マネージャには、iReasoning の MIB Browser を使います。
この記事は PAN-OS 10.2.4 で検証しています。Palo Alto Networks の End-of-Life Summary では、PAN-OS 10.2 の通常のサポート終了日は 2025年8月27日、Extended Support+ の終了日は 2027年3月31日とされています。新しく構築する場合は、サポート中のバージョンで画面や項目を確認してください。
SNMPアクセスの設定
この記事の画面は、実際の画面ではなく、検証時(2023年12月)の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。
SNMP コミュニティを設定する
Device ›› セットアップ ›› 操作 を開き、「その他」にある「SNMP のセットアップ」をクリックします。バージョンは「V2c」のまま、「SNMP コミュニティ名」にコミュニティ名を入力し、「OK」をクリックします。
| 場所 | |
| 連絡先 | |
| ☑ イベント固有のトラップ定義を使用 | |
| 1バージョン | ◉ V2c○ V3 |
| SNMP コミュニティ名 | (伏せています) |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | バージョン、SNMP コミュニティ名 | V2c(既定)を選び、コミュニティ名を入力する。コミュニティ名は、SNMP マネージャとファイアウォールが互いを確認するパスワードの役割を持つ |
| 2 | OK | 設定を保存する |
「イベント固有のトラップ定義を使用」は既定でオンで、イベントの種類ごとに別の OID でトラップが送られます。オフにすると、すべてのトラップが同じ OID になります。
SNMP v2c のコミュニティ名は平文で送られます。既定の「public」は広く知られているので使わないでください。暗号化や認証が必要な場合は、SNMP v3 を選びます。
管理インタフェースで SNMP を許可する
Device ›› セットアップ ›› インターフェイス を開き、「Management」をクリックします。「ネットワーク サービス」の「SNMP」にチェックを入れ、「OK」をクリックします。
| ☐ HTTP ☑ HTTPS ☐ Telnet ☑ SSH |
| HTTP OCSP | ☐ |
| Ping | ☑ |
| 1SNMP | ☑ |
| ユーザー ID | ☐ |
| 2アクセス許可 IP アドレス | (登録なし) 追加 |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | SNMP | チェックを入れ、管理インタフェースで SNMP Get を受け付ける |
| 2 | アクセス許可 IP アドレス | SNMP マネージャなど、管理インタフェースにアクセスできる送信元を絞りたい場合に「追加」で登録する。今回は登録しない |
| 3 | OK | 設定を保存する |
アクセス許可 IP アドレスは、SNMP だけでなく、管理インタフェースへのすべてのアクセス(HTTPS、SSH など)に効きます。登録する場合は、管理に使う端末のアドレスも忘れずに入れてください。
Commit する
画面右上の「Commit」を実行して、設定を反映します。
SNMP アクセスの動作確認
Palo Alto Networks のナレッジ(How to Verify SNMP Functionality)を参考に、MIB Browser でファイアウォールの管理インタフェースの IP アドレスを指定し、「Get Bulk」で情報を取得します。次のように、SNMP で情報を取得できました。
| Name/OID | Value | Type |
|---|---|---|
| sysDescr.0 | Palo Alto Networks VM-Series firewall | OctetString |
| sysObjectID.0 | .1.3.6.1.4.1.25461.2.3.29 | OID |
| sysUpTime.0 | 16 minutes 32.44 seconds (99244) | TimeTicks |
| sysContact.0 | Not Set | OctetString |
| sysName.0 | PA-VM | OctetString |
| sysLocation.0 | Unknown | OctetString |
| sysServices.0 | 127 | Integer |
| .1.3.6.1.2.1.1.8.0 | 10 milliseconds (1) | TimeTicks |
| ifNumber.0 | 18 | Integer |
| ifIndex.1 | 1 | Integer |
sysDescr に「Palo Alto Networks VM-Series firewall」、sysName に「PA-VM」が返っていて、ファイアウォールの SNMP エージェントが応答していることがわかります。
>> 参考記事:How to Verify SNMP Functionality
PaloaltoデバイスのOID監視
OID(Object Identifier)は、SNMP で取得する情報を識別する番号です。Palo Alto Networks のファイアウォールでは、標準の MIB(MIB-II、HOST-RESOURCES-MIB)と、Palo Alto Networks 独自の MIB(1.3.6.1.4.1.25461 以下)の OID で監視できます。監視によく使う OID は、次のナレッジにまとまっています。
>> 参考記事:SNMP for Monitoring Palo Alto Networks Devices
いくつかの OID について、MIB Browser で取得した結果を次の表にまとめます。X はインタフェースのインデックス(ifIndex)で、今回の PA-VM では 1 が mgmt、2 以降が ethernet1/1 からの順でした。
| OID(オブジェクト) | 意味 | 検証時の取得結果 |
|---|---|---|
| 1.3.6.1.2.1.25.3.3.1.2.1 (hrProcessorLoad.1) | 管理プレーンの CPU 使用率(直近1分間の平均、%)。データ プレーンは末尾が .2 | 6 |
| 1.3.6.1.2.1.2.2.1.2.X (ifDescr) | インタフェースの名前 | ifDescr.1 = mgmt、ifDescr.2 = ethernet1/1 … ifDescr.10 = ethernet1/9 |
| 1.3.6.1.2.1.2.2.1.8.X (ifOperStatus) | インタフェースの状態。1 がアップ、2 がダウン | ifOperStatus.1〜.3 = up (1)、.4〜.10 = down (2) |
| 1.3.6.1.2.1.2.2.1.10.X (ifInOctets) | インタフェースが受信したバイト数(32ビットのカウンタ) | ifInOctets.1 = 26032861、ほかは 0 |
| 1.3.6.1.2.1.2.2.1.16.X (ifOutOctets) | インタフェースが送信したバイト数(32ビットのカウンタ) | ifOutOctets.1 = 84254897、ほかは 0 |
| 1.3.6.1.2.1.25.1.1.0 (hrSystemUptime.0) | システムが起動してからの時間(1/100 秒単位) | 2 hours 50 minutes 6.57 seconds (1020657) |
| 1.3.6.1.4.1.25461.2.1.2.3.3.0 (panSessionActive.0) | 現在アクティブなセッションの数 | 27 |
- ifInOctets/ifOutOctets は 32 ビットのカウンタなので、速いインタフェースでは短い時間で一周して 0 に戻ります。トラフィック量のグラフを作るときは、SNMP マネージャで差分を取るか、64 ビットの ifHCInOctets(1.3.6.1.2.1.31.1.1.1.6.X)/ifHCOutOctets(1.3.6.1.2.1.31.1.1.1.10.X)を使います。
- 図4の sysUpTime と、表の hrSystemUptime は別のものです。sysUpTime は SNMP エージェント(ネットワーク管理の部分)が起動してからの時間、hrSystemUptime はシステムが起動してからの時間を表すので、値は一致するとは限りません。機器の稼働時間を見るなら hrSystemUptime を使います。
SNMPトラップの設定
SNMP トラップは、イベントや状態の変化が起きたときに、ファイアウォールから SNMP マネージャへ通知を送る機能です。Palo Alto Networks のファイアウォールでは、ログをトラップとして送ります。
どのログを送るかは、ログの種類によって設定する場所が違います。システムログや設定ログなどは「ログ設定」で、トラフィックや脅威などのログは「ログ転送プロファイル」で指定します。どちらも、送り先は「SNMP トラップ サーバ プロファイル」で決めます。
SNMP トラップ サーバ プロファイルを作る
Device ›› サーバー プロファイル ›› SNMP トラップ を開き、「追加」をクリックします。プロファイルの名前とバージョンを設定し、「追加」で SNMP マネージャとコミュニティを登録して「OK」をクリックします。
| 1名前 | SNMP_Profile | ||||||
| バージョン | ◉ V2c○ V3 | ||||||
2SNMP マネージャの一覧
| |||||||
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 名前、バージョン | 任意の名前(今回は SNMP_Profile)と、V2c |
| 2 | 名前、SNMP マネージャ、コミュニティ | 名前は任意(今回は SNMP_Manager)。SNMP マネージャはトラップを受け取る IP アドレスか FQDN、コミュニティはトラップを送るときのコミュニティ名。1つのプロファイルに SNMP マネージャを4台まで登録できる |
| 3 | OK | 設定を保存する |
ログ設定でトラップを送るログを選ぶ
今回は、システムログをすべて SNMP トラップで送ります。Device ›› ログ設定 を開き、「システム」の「追加」をクリックします。名前とフィルタを設定し、「転送方式」の「SNMP」で STEP 4 のプロファイルを追加して「OK」をクリックします。
| 1名前 | SNMP_Trap |
| 2フィルタ | All Logs |
| 内容 |
| 3SNMP | ☑ SNMP_Profile |
| 電子メール/SYSLOG/HTTP | (設定なし) |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 名前 | 任意の名前(今回は SNMP_Trap) |
| 2 | フィルタ | トラップで送るログの条件。今回は絞り込まず、All Logs(すべてのログ) |
| 3 | SNMP | STEP 4 で作った SNMP_Profile を追加する |
| 4 | OK | 設定を保存する |
Commit する
「Commit」を実行して、設定を反映します。
SNMP トラップの受信確認
MIB Browser の「Trap Receiver」で、トラップを受信できていることを確認します。次の例では、Commit が成功したことを示すシステムログが、SNMP トラップとして届いています。
| Description | Source | Time |
|---|---|---|
| .1.3.6.1.4.1.25461.2.1.3.2.0.214 | (伏せています) | 2023-12-03 07:39:14 |
| .1.3.6.1.4.1.25461.2.1.3.2.0.212 | (伏せています) | 2023-12-03 07:37:16 |
| .1.3.6.1.4.1.25461.2.1.3.2.0.600 | (伏せています) | 2023-12-03 07:36:16 |
| .1.3.6.1.4.1.25461.2.1.3.2.0.1903 | (伏せています) | 2023-12-03 07:36:04 |
| .1.3.6.1.4.1.25461.2.1.3.2.0.1803 | (伏せています) | 2023-12-03 07:36:04 |
.1.3.6.1.4.1.25461.2.1.3.1.3 [OctetString] (伏せています).1.3.6.1.4.1.25461.2.1.3.1.4 [OctetString] SYSTEM.1.3.6.1.4.1.25461.2.1.3.1.5 [OctetString] general ⋮ (中略).1.3.6.1.4.1.25461.2.1.3.1.12 [OctetString] PA-VM ⋮ (中略).1.3.6.1.4.1.25461.2.1.3.1.303 [Integer] 11.1.3.6.1.4.1.25461.2.1.3.1.304 [OctetString] Commit job succeeded. Completion time=2023/12/02 23:36:16. JobId=143. User:(伏せています)
| No. | 表示 | 意味 |
|---|---|---|
| 1 | Commit job succeeded … | トラップの中に、システムログの内容(Commit が成功したこと)が入っている。ログの種類(SYSTEM)や機器名(PA-VM)も一緒に送られる |
一覧の Description の OID は、末尾がイベントの種類ごとに変わります。STEP 1 の「イベント固有のトラップ定義を使用」がオンになっているためです。どの OID がどのイベントかは、Palo Alto Networks の MIB を SNMP マネージャに読み込むと名前で表示できます。
その他SNMPトラップの転送(システムログ以外)
システムログ以外のログも、ログの種類ごとにフィルタと SNMP トラップ サーバ プロファイルを設定すれば、SNMP トラップで送れます。
| 設定する場所 | 対象のログ | 使い方 |
|---|---|---|
Device ›› ログ設定 | システム、設定、ユーザー ID、HIP マッチ、GlobalProtect、IP タグ | 画面にログの種類ごとの欄(「システム」の下に「設定」「ユーザー ID」…)が並ぶ。欄ごとに「追加」でフィルタと転送方式を設定する |
Objects ›› ログ転送(ログ転送プロファイル) | 認証(auth)、データ フィルタリング(data)、復号(decryption)、脅威(threat)、トラフィック(traffic)、トンネル検査(tunnel)、URL フィルタリング(url)、WildFire への送信(wildfire) | マッチ リストの「ログ タイプ」で種類を選び、転送方式に SNMP を設定する。作ったプロファイルはセキュリティ ポリシーなどに割り当てる |
ログ転送プロファイルの作り方とポリシーへの割り当ては、Syslog の記事で確認しています。Syslog を SNMP に置き換えて読んでください。
>> 参考記事:【Paloalto】Syslogへのログ転送設定を解説 PANOS 10.2.4
ログフィルタ
上の例ではすべてのシステムログを送りましたが、実際の運用では、重要度の高いログだけをトラップで送ることが多いです。その場合は、ログ設定の「フィルタ」で送る対象を絞ります。
| 名前 | SNMP_Trap |
| 1フィルタ | (severity eq critical)
すべてのログ (severity eq critical)(severity eq high) (severity eq informational) (severity eq low) (severity eq medium) 2フィルタ ビルダー |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | フィルタ | (severity eq critical) を選ぶと、重大度が critical のシステムログだけをトラップで送る |
| 2 | フィルタ ビルダー | 属性と条件を組み合わせて、もっと細かい条件を作れる |
フィルタ ビルダーの使い方も、Syslog の記事で確認しています。
>> 参考記事:【Paloalto】Syslogへのログ転送設定を解説 PANOS 10.2.4
サービスルートの設定(送信元インタフェースの変更)
既定では、SNMP トラップは管理インタフェースから送られます。管理インタフェースから SNMP マネージャに届かないネットワーク構成の場合は、「サービスルート」の設定で、送信元のインタフェースを変えられます。
Device ›› セットアップ ›› サービス を開き、「サービス機能」の「サービスルートの設定」をクリックします。「カスタマイズ」を選び、「IPv4」タブの「SNMP トラップ」をクリックします。「送信元インターフェイス」と「送信元アドレス」を選んで「OK」をクリックし、一覧の SNMP トラップの行が変わったことを確認して「OK」をクリックします。最後に Commit して反映します。
| 1○ すべてに管理インターフェイスを使用◉ カスタマイズ |
| サービス(IPv4) | 送信元インターフェイス | 送信元アドレス |
|---|---|---|
| Radius | デフォルトを使用 | デフォルトを使用 |
| SCEP | デフォルトを使用 | デフォルトを使用 |
| 2☑ SNMP トラップ | ethernet1/1 | (伏せています)/24 |
| Syslog | デフォルトを使用 | デフォルトを使用 |
| ⋮ (中略) | ||
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | カスタマイズ | サービスごとに送信元を変えられるようにする |
| 2 | SNMP トラップ | クリックして開く「サービスルート送信元」で、送信元インターフェイス(今回は ethernet1/1)と、そのインタフェースの送信元アドレスを選ぶ |
| 3 | OK | 設定を保存し、Commit で反映する |
サービスルートで変わるのは、ファイアウォールが自分から送る SNMP トラップの送信元です。データ プレーンのインタフェース(ethernet1/1 など)で SNMP Get を受け付けたい場合は、そのインタフェースに SNMP を許可したインタフェース管理プロファイルを割り当てます。
うまくいかないとき
| 状態 | よくある原因 | 確認すること |
|---|---|---|
| SNMP Get に応答がない | 管理インタフェースで SNMP を許可していない、またはアクセス許可 IP アドレスに入っていない | 管理インターフェイス設定の SNMP のチェック、アクセス許可 IP アドレス、Commit 済みか |
| 同上 | コミュニティ名やバージョンが合っていない | SNMP マネージャ側のコミュニティ名と、v2c/v3 の指定 |
| トラップが届かない | 送るログが選ばれていない | ログ設定(またはログ転送プロファイル)の転送方式に SNMP トラップ サーバ プロファイルが入っているか、フィルタ |
| 同上 | 管理インタフェースから SNMP マネージャに届かない | 経路と、途中のファイアウォールで UDP 162 が通るか。必要ならサービスルートで送信元を変える |
まとめ
| 項目 | 設定場所 | 今回の設定 |
|---|---|---|
| SNMP コミュニティ | Device ›› セットアップ ›› 操作 ›› SNMP のセットアップ | V2c、コミュニティ名を設定 |
| SNMP の許可 | Device ›› セットアップ ›› インターフェイス ›› Management | ネットワーク サービスの SNMP をオン |
| トラップの送り先 | Device ›› サーバー プロファイル ›› SNMP トラップ | SNMP_Profile(V2c、SNMP_Manager) |
| 送るログ | Device ›› ログ設定 | システム:SNMP_Trap(All Logs → SNMP_Profile) |
| トラップの送信元(任意) | Device ›› セットアップ ›› サービス ›› サービスルートの設定 | SNMP トラップ:ethernet1/1 |
コメント