Configuration Change Notification and Logging

はじめに

まず最初にお詫びです。
前回の記事で、次回予告の内容を間違って書いてしまいました。すみません。

今回の内容は、12.3(4)Tから追加された

Configuration Change Notification and Logging

という機能についてのお勉強です。

名前からも想像できるとおり、設定内容が変わったらそれを記録したり、Syslog
で記録・通知できる機能です。

Feature Overview

12.3(4)T以前のIOSでは、running-configuraionを書き変えたときどんな設定
に変わったか、というのを記録することはできませんでした。
以前の設定と新しい設定の内容を比較するには、古いコンフィグと新しいコン
フィグを一行一行比較する必要がありました。

この場合、変更となった設定項目は何とかわかりますが、何の設定をどんな順
序で、というのまではわかりませんでした。

この機能では、設定されたコンフィグをシーケンシャルに、また、どのユーザ
が何経由で(consoleなのかvtyなのか)変更したのか、更に何時そのコマンド
が実行されたのが、が記録できるようになりました。

Restrictions

この機能には、2つの制限事項があります。

-execモード、configモードで投入された完全なコマンドだけがLoggingされます。
-copyコマンドでコピーされた場合、Loggingされません。

ひとつめの項目には、補足が必要でしょう。Loggingされない例としては、以
下の2つがあります。

-コマンドが間違っていた場合、そのコマンドはLoggingされません。
-コマンドの途中で?(ヘルプ)を実行した場合、そのコマンドはLoggingされません。

Configuration Log

Loggingできる内容には、以下のようなものがあります。

-正しく実行されたコマンド
-そのコマンドを実行したユーザ名
-そのコマンドが実行された時間
-設定が変えられた順番を示すシーケンス番号

他にもパーサー(Parser)が返すreturn codeも記録できると書いてありますが、
これは内部的に記録されるようです。

どんなコマンドが投入されたかはshow archive log configコマンドで確認す
ることができます。

Configuration Change Notifications & Config Change Logging

この機能を有効にして、更にSyslogへのLoggingも有効にすると設定変更が行
われる度に、Syslogサーバへ通知することができます。
Syslogへの記録は、ユーザごと、セッションごとで行われます。

showコマンドで確認すると、こんな感じで出力されます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Router# sh archive log config al
 idx   sess           user@line      Logged command
  1     1        console@console  |  logging enable
 2     1        console@console  |  exit
 3     1        console@console  |   exit
 4     2        console@console  |ipv6 unicast-routing
 5     2        console@console  |ip multicast-routing
 6     2        console@console  |do sh archive log config
 7     3        console@console  |bridge irb
 8     3        console@console  |bridge 1 protocol ieee
 9     3        console@console  |interface bvi 1
 10     3        console@console  | exit
 11     4        console@console  |!exec: enable
 12     4        console@console  |!exec: enable
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

execでのコマンドは!execと書かれてLoggingされます。

Usernameコマンドを利用してLocalでの認証を行っている場合、consoleと書か
れているところにLoginしたusernameが表示されます。

Configuring Config Change Notification & Config Change Logging

以下に設定のステップを示します。

Step1
Router# conf t

まず、Global Configuration Modeに移ります。

Step2
Router(config)# archive

Archive Configuration Modeに移ります。

Step3
Router(config-archive)# log config

Configuration Change Logger Configuration Modeに移ります。

Step4
Router(config-archive-log-config)# logging enable

設定変更のLogging機能をenableにします。DefaultはDisableです。

Step5
Router(config-archive-log-config)# logging size entries

Loggingするエントリ数を設定します。指定できる値は、1~1000です。Default
は100エントリとなっています。このエントリがいっぱいになると、古いエント
リから上書きされます。
この設定はOptionalです。

Step6
Router(config-archive-log-config)# hydekeys

Loggingされたファイルの中にパスワード情報が残らないようにします。この
設定はOptionalです。

Step7
Router(config-archive-log-config)# notify syslog

Syslogに通知できるようにします。この設定はOptionalです。

Configuration Example

以下に設定例を示します。
ここでは、Loggingされるエントリ数を500、Syslogへの通知を有効にしていま
す。Syslogへの通知を行う場合は、外部のSyslogサーバに転送するか、内部バ
ッファに保存するか、あるいは両方設定するかがありますが、ここでは外部の
Syslogサーバへのみ通知しています。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Router# conf t
Router(config)# archive
Router(config-archive)# log config
Router(config-archive-log-config)# logging enable
Router(config-archive-log-config)# logging size 500
Router(config-archive-log-config)# notify syslog
Router(config-archive-log-config)# exit
Router(config-archive)# exit
Router(config) logging 1.1.1.1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Further Reading

DocumentへのLinkです。

Cisco IOS 12.4 Configuration Guide

By 『Overseas and Beyond』 Koichi
http://overseasandbeyond.blogspot.com/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA