Cisco IOS: Configuration Change Logging

Für alle Netzwerk-Komponenten sollte man jederzeit wissen, wer wann, was geändert hat. Normalerweise wird diese Funktionalität über AAA Accounting, Cisco Works, Syslog oder einer Software wie den Kiwi CatTools implementiert. Wenn aber kein zentraler Server für Syslog oder AAA zur Verfügung steht (was gerade bei kleineren Firmen manchmal vorkommt), dann kann eine IOS-Funktion verwendet werden, die im Release 12.3(4)T hinzugefügt wurde.

Damit sich der Router selbst merken kann, welche Kommandos ausgeführt wurden, wird die Funktion “archive” global aktiviert. Dafür habe ich hier einen Cisco 3725 mit Advanced IP-Services 12.4(6)T7 verwendet:

R1#sh ver
Cisco IOS Software, 3700 Software (C3725-ADVIPSERVICESK9-M), Version 12.4(6)T7,
RELEASE SOFTWARE (fc5)
R1#sh run | s i archive
archive
 log config
  logging enable
  logging size 50
  hidekeys
R1#

Dies schaltet die Logging-Funktion ein. 50 Befehle wird sich der Router merken und wenn Passwörter etc. konfiguriert werden, sind diese nicht im Log sichtbar.

Als nächstes habe ich ein paar Sachen konfiguriert und kann dank der Archiv-Funktion später kontrollieren, was geändert wurde:

c3725#sh archive log config all
 idx   sess           user@line      Logged command
    1     1        console@console  |  logging enable
    2     1        console@console  |  logging size 50
    3     1        console@console  |  hidekeys
    4     1        console@console  |  exit
    5     1        console@console  |   exit
    6     1        console@console  |!exec: enable
    7     2        console@console  |username Karsten secret *****
    8     2        console@console  |!config: USER TABLE MODIFIED
    9     2        console@console  |username HansWurst secret *****
   10     2        console@console  |!config: USER TABLE MODIFIED
   11     2        console@console  |aaa new-model
   12     2        console@console  |aaa authentication login default local
   13     2        Karsten@console  |!exec: enable
   14     3        Karsten@console  |hostname CRS1
   15     3        Karsten@console  |interface loo 111
   16     3        Karsten@console  | ip address 111.111.111.111 255.255.255.255
   17     3        Karsten@console  | exit
   18     3      HansWurst@console  |!exec: enable
   19     4      HansWurst@console  |hostname c3725
   20     4      HansWurst@console  |no interface Loopback111
   21     4        Karsten@console  |!exec: enable

c3725#

Es ist zu erkennen, daß ich zwei User angelegt und AAA konfiguriert habe. Dann habe ich mich auf der Console als User “Karsten” neu eingeloggt, den Hostnamen verändert und ein Loopback-Interface konfiguriert. Danach habe ich mich als User “HansWurst” angemeldet, den Hostnamen erneut geändert und das Loopback-Interface wieder gelöscht.

Es läßt sich auch eine Ausgabe erzeugen, die man per Copy&Paste direkt in andere Geräte übernehmen kann (von den fehlenden Passwörtern abgesehen):

c3725#sh archive log config all provisioning
archive
 log config
  logging enable
  logging size 50
  hidekeys
  exit
exit
!exec: enable
username Karsten secret *****
!config: USER TABLE MODIFIED
username HansWurst secret *****
!config: USER TABLE MODIFIED
aaa new-model
aaa authentication login default local
!exec: enable
hostname CRS1
interface loo 111
 ip address 111.111.111.111 255.255.255.255
exit
!exec: enable
hostname c3725
no interface Loopback111
!exec: enable

c3725#

Oder man läßt sich alles anzeigen, was ein bestimmter User in einer Session konfiguriert hat:

c3725#sh archive log config user HansWurst session 4
 idx   sess           user@line      Logged command
   19     4      HansWurst@console  |hostname c3725
   20     4      HansWurst@console  |no interface Loopback111

c3725#

Das gleiche zum Copy&Paste:

c3725#sh archive log config user HansWurst session 4 provisioning
hostname c3725
no interface Loopback111

c3725#

Oder man läßt sich einen Bereich aus der Log-Historie anzeigen:

c3725#sh archive log config 13 17 provisioning
!exec: enable
hostname CRS1
interface loo 111
 ip address 111.111.111.111 255.255.255.255
exit

c3725#

Mit dem “archive”-Kommando sind noch weitere spannende Sachen möglich, mehr dazu gibt es in einem der nächsten Beiträge an dieser Stelle … 😉

Weitere Informationen finden sich (wie üblich) in der Dokumentation bei Cisco:

2 Replies to “Cisco IOS: Configuration Change Logging”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.