четверг, 14 июля 2011 г.

Отправка логов на syslog сервер и лог команд

Часто есть необходимость "сливать" логи на syslog сервер для хранения и просмотра логов с устройств. Кроме того, довольно полезным бывает знать, кто и какие команды вводил на устройстве.

Настроим отсылку логов на syslog сервер и включим сохранения журнала последних команд. К примеру, у нас есть маршрутизатор с интерфейсом Fa0/0 и адресом 10.1.1.1, а так же syslog сервер с адресом 10.1.1.2.

Router(config)# logging buffered 64000 debugging
Router(config)# logging 10.1.1.2
Router(config)# logging source-interface FastEthernet 0/0
Router(config)# archive
Router(config-archive-log-cfg)# logging enable
Router(config-archive-log-cfg)# logging size 200
Router(config-archive-log-cfg)# hidekeys
Router(config-archive-log-cfg)# notify syslog
Router(config-archive-log-cfg)# end
Router# write

Теперь командой show archive log config all можно посмотреть последние 200 введенных команд. Кроме этого, введенные команды, как и логи устройства, отсылаются на syslog сервер.

Router#show archive log config all
 idx   sess           user@line      Logged command
    1     1            lms@vty0     |  logging enable
    2     1            lms@vty0     |  hidekeys
    3     1            lms@vty0     |  logging size 200

Как настроить syslog сервер для сбора логов на примере syslog-ng, можно прочитать в статье http://open-club.net/publ/21-1-0-167

Включение SSH

После того, как вы распаковали новый маршрутизатор\коммутатор, вам наверняка хотелось бы настроить на нем SSH для удаленного безопасного администрирования.


Для этого нам потребуется задать имя узла, имя домена, создать ключ, добавить пользователя, настроить виртуальные линии и ACL для доступа к ним.


Router(config)# hostname SomeRouter
SomeRouter(config)# ip domain name domain.local
SomeRouter(config)# crypto key generate rsa modulus 2048

% The key modulus size is 2048 bits
% Generating 2048 bit RSA keys, keys will be non-exportable...
[OK] (elapsed time was 8 seconds)
SomeRouter(config)# ip ssh version 2
SomeRouter(config)# enable secret s0m3p@ssw0rd
SomeRouter(config)# username admin secret adm1nkey
SomeRouter(config)# access-list 101 permit tcp host 10.1.0.1 any eq 22
SomeRouter(config)# access-list 101 permit tcp host 10.2.1.3 any eq 22
SomeRouter(config)# access-list 101 deny any any log
SomeRouter(config)# line vty 0 4
SomeRouter(config-line)# login local
SomeRouter(config-line)# transport input ssh
SomeRouter(config-line)# transport preferred none
SomeRouter(config-line)# exec-timeout 10 0
SomeRouter(config-line)# access-class 101 in
SomeRouter# write


Итог: мы активировали SSH v2 на устройстве, создали учетную запись администратора (admin) и настроили виртуальную линию для доступа к устройству по SSH. Также мы ограничили возможность подключаться к устройству по SSH, разрешив соединение только с IP адресов 10.1.0.1 и 10.2.1.3.

Timestamp в логах с учетом timezone

Приведем пример конфигурации маршрутизатора учитывающей в логах время согласно временной зоны. Для этого настроим логирование, временную зону, переход на летнее время и собственно сам сервис timestamp.

Router(config)# logging buffered 64000 debugging
Router(config)# clock timezone Kyiv 2
Router(config)# clock summer-time Kyiv recurring last Sun Mar 3:00 last Sun Oct 02:00
Router(config)# service timestamps debug datetime localtime show-timezone
Router(config)# service timestamps log datetime localtime show-timezone
Router# clock set 12:00:00 Jun 01 2011
Router# write


Пример лога после настройки:


Router# show logging
...
Jun 01 12:00:19 Kyiv: ISDN Se0/2/0:15 Q931: Applying typeplan for sw-type 0x12 is 0x2 0x1, Calling num 577152142
Jun 01 12:00:19 Kyiv: ISDN Se0/2/0:15 Q931: Sending SETUP callref = 0x128E callID = 0x920F switch = primary-net5 interface = User
Jun 01 12:00:19 Kyiv: ISDN Se0/2/0:15 Q931: TX -> SETUP pd = 8 callref = 0x128E
...