セキュリティ : Cisco PIX 500 シリーズ セキュリティ アプライアンス

PIX syslog のセットアップ

2003 年 1 月 7 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2008 年 10 月 13 日) | フィードバック

目次


概要

注: この文書の情報は、Cisco Secure PIX ソフトウェア リリース 4.0.x 以降に基づいています。

PIX から生成されるメッセージは通常はコンソールに送られますが、syslogd デーモン(syslogd)が実行されているデバイスに送信することにより、これらのメッセージを収集できます。syslogd は UDP ポート 514(syslog ポート)を監視します。syslog を実行することで、PIX のトラフィックとパフォーマンスに関する情報を取得できるほか、ログを分析して疑わしいアクティビティを調べたり、問題のトラブルシューティングを行ったりできます。

syslogd は多数のオペレーティング システム プラットフォーム上で実行できます。syslogd は UNIX のインストール時にインストールされますが、設定が必要です。通常、Windows ベースのシステムには syslogd は標準装備されていませんが、Windows NT 対応の syslogd ソフトウェアを入手できます。たとえば、PIX Firewall Manager(PFM)、PIX Firewall Syslog Server(PFSS)、Private-I など、各種の syslog ソフトウェアがあります。

この文書は、syslog の仕組み、syslogd が実行されているデバイスに syslog メッセージを送信するための PIX のセットアップ方法、および、UNIX ベースの syslogd サーバのセットアップ方法について説明しています。

PIX syslog メッセージの実際の意味については、「PIX documentation」を参照してください。

syslog の仕組み

syslog メッセージにはすべてロギング ファシリティレベル があります。ロギング ファシリティ 場所(どこなのか)、レベルは内容(何なのか)と考えることができます。

ロギング ファシリティ

1 つの syslog デーモン(syslogd)には複数のパイプがあると考えることができます。syslogd はパイプを使用し、情報が着信したパイプに基づいて、受信情報を送信すべき場所を決めます。この意味ではロギング ファシリティ はパイプであり、それによって syslogd は受信した情報をどこに送信すべきかを決めます。

syslog では一般に 8 個のロギング ファシリティ (local0〜local7)が使用されます。

local0
local1
local2
local3
local4
local5
local6
local7

レベル

受信メッセージにはさまざまな重要度も付けられています。レベルは内容(何なのか) と考えることができます。PIX はさまざまなレベルでメッセージを送信するように設定できます(これらは重要度の高いものから低いものの順にリストされています)。

 

レベル 数値コード

emergency

0

alert

1

critical

2

error

3

warning

4

notification

5

informational

6

debug

7

syslog メッセージを送信するように PIX をセットアップするとき、重要度の低いレベルを設定するとそれよりも高い重要度のレベルが含まれます。たとえば、PIX を warning に設定した場合は、warning の他に error 、critical 、alert 、 emergency の各メッセージも同時に送信されます。debug に設定した場合は、明らかに 8 つすべてのレベルのメッセージが含まれます。

syslog を送信するための PIX の設定

PIX 4.0.x〜4.1.X

syslog の構文を次に示します。

syslog host #.#.#.#(#.#.#.# は syslog サーバ アドレス)
syslog output X.Y(X はロギング ファシリティ、Y はレベル

X 数値からロギング ファシリティ への変換の仕組み

X 数値を 2 進数に分解します。最後の 4 ビットはロギング ファシリティ を構成しています。

16 = 00010000 = local0
17 = 00010001 = local1
18 = 00010010 = local2
19 = 00010011 = local3
20 = 00010100 = local4
21 = 00010101 = local5
22 = 00010110 = local6
23 = 00010111 = local7

たとえば 22 = 00010110 の場合、最後の 4 ビットは 0110 = 6(10 進数)であるため、local6 となります(簡単に求めるには X の値から 16 を引きます。たとえば、22-16=6、つまり local6 になります)。

Y 数値はレベル です。たとえば Y=2 の場合、送信されたメッセージにはレベル 2(critical)、レベル 1(alert)、およびレベル 0(emergency)のメッセージが含まれます。PIX のレベルは 0〜7 です。これらとロギング ファシリティ(local0〜local7)とを混同しないでください。

PIX 4.0.x〜4.1.X での例

syslog 20.7
20 は local4 のロギング ファシリティに相当します。
7 はレベル です。7 は PIX にとって debug を意味します。つまり、すべてのメッセージがログに記録されます。

syslog 23.2
23 は local7 のロギング ファシリティに相当します。
2 はレベルです。2 は PIX にとって critical を意味します。つまり、critical、alert 、および、 emergency の各メッセージがログに記録されます。

PIX 4.2.X 以降

PIX ソフトウェア リリース 4.2.X では syslog の構文が変更されました。syslog host #.#.#.# コマンドの代わりに新しい logging host #.#.#.# コマンドを使用します。4.2.X では、ロギング ファシリティおよびレベルの定義は同じですが、syslog output X.Y コマンドの代わりに次の 2 つの文が必要です。

logging facility X
logging trap Y

レベルは数値として表現されなくなり、レベルの名前として表現されます。たとえば、次のようになります。

古い構文:
syslog output 20.7

新しい構文:
logging facility 20 (local4)
logging trap debugging debugemergency

PIX 4.3.X 以降

4.3.X 以降では、特定の syslog メッセージの送信を避け、送信されるメッセージにタイムスタンプを付けることができます。次のコマンド、

logging host #.#.#.#
logging facility X
logging trap Y

に加えて、次のコマンドも発行できます。

clock set 13:18:00 Apr 25 1999
logging timestamp
no logging message 111005

これで、メッセージ 111005(つまり「End configuration」)を除くすべてのメッセージがタイムスタンプ付きで送信されます(注:111005 メッセージは informational レベルのメッセージであるため、PIX のレベルが emergency、alert、critical、error、または notification に設定された場合は出現しません)。111005 以外のタイムスタンプ付きメッセージの例を次に示します(1 番目のタイムスタンプは UNIX サーバからのもので、2 番目のタイムスタンプは PIX からのものです)。

Apr 25 13:15:35 10.31.1.53 Apr 25 1999 13:23:00: %PIX-5-111007: Begin configuration: nobody reading from terminal

PIX ソフトウェア バージョン 4.3.X 以降では、TCP syslog も実行できます。PFSS ではこの機能がサポートされています。それ以外のほとんどの syslog サーバでは、再設定を行わない限りサポートされません。PIX で PFSS TCP ロギングを有効にするためのコマンドを次に示します。

logging host #.#.#.# tcp 1740

注:このトラフィックは TCP(つまり確認応答付き)であるため、PFSS がダウンした場合、PIX 経由のトラフィックは停止します。この理由から、tcp syslog コマンドは特に必要とする場合以外は実装しないでください。UDP/514 による syslog ではこの影響はありません。

syslogd サーバのセットアップ方法

syslogd は本来 UNIX の概念です。そのため UNIX 以外のシステムでは、syslogd 製品で使用可能な機能がベンダーの実装によって異なります。たとえば、受信メッセージをファシリティ別、デバッグ レベル別、またはその両方別に分ける機能、送信元デバイスの名前を解決する機能、ファシリティの報告機能などがあります。UNIX 以外の syslog サーバの設定については、ベンダーの文書を参照してください。

UNIX で syslog を設定するには、次の手順を実行します。

  1. SunOS、AIX、HPUX、または Solaris で root としてログインし、変更を加える前に /etc/syslog.conf ファイルのバックアップを作成します。

  2. /etc/syslog.conf を修正し、送信元デバイスから送られる syslog メッセージをどのように分類するのか、つまり、どの logging_facility.level をどのファイルに送るのかについて、UNIX システムに指示を与えます。logging_facility.levelfile_name の間には必ずタブを 1 つ入れます。

  3. 目的のファイルが存在し、書き込み可能であることを確認します。

  4. syslog.conf の先頭にある #Comment セクションには、通常、UNIX システムの構文の説明があります。

  5. ifdef セクションにファイル情報を記述しないでください。

  6. root として syslogd を再起動し、変更を有効にします。

  • /etc/syslog.conf が次のように設定されている場合:
    local7.warn     /var/log/local7.warn

    local7 のロギング ファシリティで受信した notification 、error、critical、alert、emergency の各メッセージが local7.warn ファイルに記録されます。local7 のファシリティで受信した  notification、 informational、 debug の各メッセージはどこにも記録されません。

  • /etc/syslog.conf が次のように設定されている場合:
    local7.debug    /var/log/local7.debug

    local7 のロギング ファシリティで受信した debug、informational、notification、worning、error、critical、alert、emergencyの各メッセージが local7.debug ファイルに記録されます。

  • /etc/syslog.conf が次のように設定されている場合:
    local7.warn     /var/log/local7.warn
    local7.debug /var/log/local7.debug

    local7 のロギング ファシリティで受信したworning、error、critical、alert、emergency の各メッセージが local7.warn ファイルに記録されます。local7 のロギング ファシリティで受信したdebug、informational、notification、worning、error、critical、alert、emergency の各メッセージが local7.debug ファイルに記録されます(つまり、一部のメッセージは両方のファイルに送られます)。

  • /etc/syslog.conf が次のように設定されている場合:
    *.debug         /var/log/all.debug

    すべてのロギング ファシリティからのすべてのメッセージ レベルがこのファイルに送られます。

syslog のデバッグ

syslog をデバッグで起動するには(SunOS、AIX、HPUX、または Solaris)、root としてログインし、次のコマンドを実行する必要があります。
ps -ef | grep syslogd
kill -9 <pid>
syslogd -d

syslogd が syslog.conf を読み取るとき、その冒頭で次のようなメッセージが表示されます。

    cfline(local7.info                              /var/log/local7.info)
    cfline(local7.debug /var/log/local7.debug)
    X X X X X X X X X X X X X X X X X X X X X X X 6 X FILE: /var/log/local7.info
    X X X X X X X X X X X X X X X X X X X X X X X 7 X FILE: /var/log/local7.debug

スクロールが早すぎて読めない場合は、次のコマンドを実行してください。
syslogd -d | more

次のようなメッセージが含まれている場合は、

    cfline(local7.info                              /var/log/local7.junk)
    syslogd: /var/log/local7.junk: No such file or directory
    logmsg: pri 53, flags 8, from pinecone, msg syslogd: /var/log/local7.junk: No such file or directory

セットアップに問題があります。上の例では、ファイルが存在しません。

デバッグで実行すると、syslog の受信メッセージとそれらの送信先ファイルも表示されます。

    logmsg: pri 275, flags 0, from 10.8.1.76, MSG 14: %SYS-5-CONFIG_I: Configured
    from console by vty0 (171.68.118.108)
    Logging to UNUSED
    Logging to FILE /var/log/local7.debug

この場合は、local7.junk および local7.debug に送られたはずのメッセージを受信していますが、local7.junk は存在しないため、次のメッセージも表示されています。

    Logging to UNUSED.

syslogd -d が何も受信していないことを示している場合は、PIX の show syslog または show logging コマンドを使用し、PIX から送信が行われているかを確認してください。syslogd 情報が UNIX システムに着信しているにもかかわらず、適切なファイルに送られていない場合は、UNIX システムの管理者またはオペレーティング システムのベンダー サポートと協力して問題を解決してください。それでも問題の原因が分からない場合は、次のように syslog をデバッグで実行し、出力をファイルにリダイレクトできます。
sh or ksh:
syslogd -d > <target_file> 2>&1
または
csh
syslogd -d >& <target_file>

注:Red Hat Linux の syslogd を使用するときは、ネットワーク出力を取り込むために -r オプションを付けて起動する必要があります。

レベルを定義する UNIX の典型的な syslog 拡張子を次に示します。

UNIX の拡張子 意味
.emerg システム使用不可、emergencies
.alert 早急な措置が必要、alerts
.crit 重大な状態、critical
.err エラー メッセージ、errors
.warn 警告メッセージ、warnings
.notice 正常であるが重要な状態、notifications
.info 情報メッセージ、informational
.debug デバッグ メッセージ、debugging



関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 15248