суббота, 2 августа 2014 г.

Установка и настройка Kiwi Syslog Daemon

Данная программа предназначена, в первую очередь, для сбора syslog сообщений от устройств и дальнейшего оповещения администраторов о выбранных, по критериям, событиях. Так же она очень полезна для анализа и разбора сбойных ситуаций по полученным сообщениям.
Итак, для установки нам потребуется непосредственно сама программа (я буду использовать Kiwi Syslog версии 8.3.48 (если кому надо, пишите, поделюсь :))) и свободный сервер (я буду использовать Windows Server 2003).
Схема, которую будем собирать, выглядит следующим образом:


На схеме мы имеем три сетевых устройства (два роутера и ASA). Сервер Syslog находится в сети 3.3.3.0/24 и имеет IP-адрес 3.3.3.15. Все устройства мы настроим на отсылку syslog сообщений на этот сервер.
Если у вас в сети до расположения сервера будут находиться устройства безопасности, то не забудьте открыть порт UDP 514 для прохождения сообщений.
Итак, приступим к установке Kiwi Syslog Daemon. Заходим на windows server 2003 и запускаем установочный файл программы:


Принимаем лицензионное соглашение:


Здесь, если вы не хотите каждый раз запускать программу вручную при перезагрузке сервера, то выбирайте пункт инсталляции Kiwi Syslog Daemon в качестве сервиса. Нажимаем «Next»:


Если вы устанавливаете программу, находясь на сервере под локальным администратором, то оставляйте тут настройки по умолчанию. Если же вы находитесь на сервере под каким-то другим пользователем, то вам необходимо указать имя и пароль администратора, входящего в группу локальных администраторов. Нажимаем «Next»:


Здесь, в принципе, можно оставить все по умолчанию. Нажимаем «Next»:


Тут выбираем папку для установки программы и нажимаем «Install». Начнется не длительный процесс установки. В итоге перед вами должно появиться вот такое финальное окно:


Нажимаете кнопку «Finish» и у вас запустится Kiwi Syslog Daemon. Выглядеть окно программы должно следующим образом:


Итак, программа работает. Оставим пока все как есть и перейдем к настройкам наших сетевых устройств. По умолчанию, Syslog будет принимать все syslog сообщения от всех устройств и показывать их в основном экране (Display 00 (Default)).
По очереди заходим на наши устройства и делаем нехитрые настройки.
Router_2:

R2>en
R2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R2(config)#hostname Router_2
Router_2(config)#int fastEthernet 0/0
Router_2(config-if)#ip address 1.1.1.1 255.255.255.252
Router_2(config-if)#no sh
Router_2(config-if)#exit
Router_2(config)#int loopback 0
Router_2(config-if)#ip address 20.20.20.20 255.255.255.255
Router_2(config-if)#exit
Router_2(config)#logging host 3.3.3.15 – прописываем IP-адрес Syslog Server-а;
Router_2(config)#logging source-interface loopback 0 – указываем под каким именем (IP-адресов) будет видно устройство на сервере;
Router_2(config)#logging trap debugging – выставляем уровень сообщений, которые будут отсылаться (в данном случае все сообщения);
Router_2(config)#enable secret ciscocisco
Router_2(config)#username admin password cisco
Router_2(config)#line console 0
Router_2(config-line)#login local
Router_2(config-line)#exit
Router_2(config)#line vty 0 15
Router_2(config-line)#login
Router_2(config-line)#login local
Router_2(config-line)#exit
Router_2(config)#ip route 0.0.0.0 0.0.0.0 1.1.1.2
Router_2(config)#exit
Router_2#wr
Router_2# 


Роутер Router_1:

R1>en
R1#conf t
R1(config)#hostname Router_1
Router_1(config)#int fa 0/0
Router_1(config-if)#ip address 1.1.1.2 255.255.255.252
Router_1(config-if)#no sh
Router_1(config-if)#exit
Router_1(config)#int fa 0/1
Router_1(config-if)#ip address 3.3.3.2 255.255.255.0
Router_1(config-if)#no sh
Router_1(config-if)#exit
Router_1(config)#int loopback 0
Router_1(config-if)#ip address 10.10.10.10 255.255.255.255
Router_1(config-if)#exit
Router_1(config)#logging host 3.3.3.15
Router_1(config)#logging source-interface loopback 0
Router_1(config)#logging trap debugging
Router_1(config)#enable secret ciscocisco
Router_1(config)#username admin password cisco
Router_1(config)#line console 0
Router_1(config-line)#login local
Router_1(config-line)#exit
Router_1(config)#line vty 0 15
Router_1(config-line)#login local
Router_1(config-line)#exit
Router_1(config)#exit
Router_1#wr
Router_1# 


Устройство безопасности ASA:

ciscoasa> en
Password:
ciscoasa# conf t
ciscoasa(config)# hostname ASA
ASA(config)# command-alias exec wr copy run disk0:/.private/startup-config
ASA(config)# int ethernet 0/1
ASA(config-if)# ip address 3.3.3.1 255.255.255.0
ASA(config-if)# nameif inside
INFO: Security level for "inside" set to 100 by default.
ASA(config-if)# no sh
ASA(config-if)# exit
ASA(config)# enable password ciscocisco
ASA(config)# username admin password cisco privilege 15
ASA(config)# logging host inside 3.3.3.15 – указываем адрес Syslog Server-а и интерфейс, за которым он находится;
ASA(config)# logging trap informational – выставляем уровень сообщений;
ASA(config)# logging enable – включаем логирование (не забудьте этого сделать, так как, по умолчанию, без этой команды logging не включится);
ASA(config)# wr 


Ну что, теперь можно перейти на Syslog Server и посмотреть, есть ли там сообщения от наших сетевых устройств:

 
    где
  • 1 – устройство безопасности ASA;
  • 2 – роутер Router_2;
  • 3 – роутер Router_1
Признаюсь, что я сначала поставил на ASA уровень debugging и она прислала очень много сообщений. Пришлось исправить уровень на information и почистить экран :). И, как вы можете видеть, все устройства прислали сообщения, причем с теми именами (IP-адресами), которые мы настроили (касаемо роутеров).
Итак, сообщения принимаются и отображаются. Но, во-первых, когда они складываются и отображаются все вместе, это не совсем удобно и наглядно. Во-вторых, при получении, какого либо важного сообщения от устройств, хотелось бы знать об этом. Не заходить же каждую минуту на сервер или сидеть перед монитором и наблюдать. Ну и, в-третьих, нужно иметь файлы, в которые и будут записываться сообщения (так сказать в формате *.txt).
Для устранения всех этих «НО» перейдем на сервер Kiwi Syslog Daemon и начнем пошаговую настройку самой программы, для облегчения нам жизни в дальнейшем :).
Начнем с распределения экранов для отображения сообщений. Каждому устройству определим свой экран и настроим, чтобы в нем отображались сообщения, принадлежащие только соответствующему устройству. Для этого нам необходимо создать три правила (Rule), создать и настроить фильтр и действия.
По умолчанию у нас уже работает правило Default. Изменим ему имя и создадим фильтр, согласно которому в соответствующем экране будут отображаться нужные нам сообщения. Заходим на сервер, открываем программу и переходим, как показано на рисунке:


Откроется окно настроек. Для начала, давайте определим имена наших экранов отображения. Для этого переходим в пункт «Display»:


Здесь, из выпадающего меню выбираем экран (1), присваиваем ему название (2), нажимаем «Update» (3) и изменения должны вступить в силу. Для каждого из экранов можно задать свои параметры (например, мигать при получении сообщения (4), автоматически подстраивать ширину колонки (5) и так далее). Создаем, таким образом, 3 экрана, затем нажимаем «Apply» и переходим к настройкам правила по умолчанию (Default). Изменим, для начала, ему название. Кликнете по названию «Default» правой клавишей мыши и выберете пункт «Rename rule»:


Пишем новое название, нажимаем ввод. Название поменяется. Дальше, давайте создадим и настроим фильтр, чтобы согласно этому правилу на заданном экране отображались сообщения, приходящие только от Router_1. Для этого, кликните правой клавишей мыши на пункте «Filters» и выберете «Add filter»:


Откроется окно настройки нового фильтра:


Здесь из выпадающего меню «Field» (1) выбираем «IP address» (конечно вы можете выбрать и другие параметры), из меню «Filter Type» выбираем «IP Range» (2). После этого, указываем интересующий нас IP-адрес роутера Router_1 (3) (так как у нас IP-адрес один, то начальный и конечный адреса у нас одни и те же). Нажимаем «Apply» (4). Можно также изменить название фильтра (удобно в названии писать, что это за фильтр). Для этого кликните по нему правой клавишей мыши и выберете пункт «Rename filter».
Все, с фильтром закончили. Теперь проверим действия «Actions» для этого правила и, если потребуется, подкорректируем их. На данный момент у нас есть два действия, а именно:
  • 1. Отображать поступающие сообщения;
  • 2. Записывать их в лог-файл.
Проверим, чтобы они соответствовали нашим требованиям. Кликнем по первому действию «Display»:


Проверьте, чтобы «Display number» соответствовал вашему правилу. Выберете его из выпадающего списка, затем нажмите «Apply». Теперь, кликните по второму действию «Log to file»:


По умолчанию, все сообщения записываются в файл «SyslogCatchAll.txt», что не совсем удобно. Лучше создать для каждого устройства свой лог файл. Для этого нажмите на кнопку (1), откроется путь к папке, где будут лежать файлы. Пропишите название отдельного файла для устройства (2) и нажмите на «Save» (3). Затем проверьте путь в строке и, если он прописался как надо, то нажмите «Apply».
Все, одно правило для Router_1 готово. Теперь надо создать еще правила для остальных устройств. Для этого кликните правой клавишей мыши по пункту «Rules» и выберете «Add rule». Далее все как мы разбирали выше. Добавьте и настройте фильтр (filter) и действия (Actions). Добавлять действия тоже не сложно (правая клавиша мыши на «Actions», выбираем пункт «Add action» и так далее). Для ориентира, вот картинка:


Создайте остальные правила. В конечном итоге, согласно нашей схеме, у вас должно получиться, что-то вроде этого:


Все. Теперь посмотрим, чтобы сообщения отображались в нужных экранах:




Все работает хорошо. Теперь, нам бы хотелось не только наблюдать за сообщениями, но и получать, например по email, уведомления о критических сообщениях. 
Для этого, создадим еще одно правило и назовем его «For_Email». Допустим, нам необходимо получать письмо с оповещением, что «упал» какой-нибудь интерфейс, остальные сообщения, опят таки просто допустим, нам не интересны. Итак, создаем новое правило и добавляем к нему фильтр и действие. Начнем с фильтра:


Здесь выбираем фильтрацию по содержанию сообщения и прописываем фразу (или слово), содержащееся в сообщениях, которые мы отнесли к критическим. Нажимаем «Apply».
Прежде чем создавать действие, давайте настроим Kiwi Syslog Daemon на общение с почтовым сервером. Для этого, на почтовом сервере необходимо создать почтовый ящик и пользователя для Kiwi Syslog Daemon сервера и какой-нибудь почтовый ящик администратора. Я это сделал заранее, надеюсь, у вас это тоже получится. А мы перейдем к настройке Kiwi Syslog Daemon, чтобы он мог отсылать email. Для этого находим в «Setup» пункт «E-mail» и настраиваем следующее:

    где:
  • 1 – адрес почтового ящика администратора для приема syslog сообщений;
  • 2 – адрес почтового ящика администратора для приема статистики syslog сервера;
  • 3 – IP – адрес почтового сервера;
  • 4 – адрес почтового ящика самого Kiwi Syslog Daemon сервера (будет выступать в качестве отправителя писем администратору).
Все, теперь можно создать и настроить действие для нашего правила «For_Email». Возвращаемся к правилу и создаем новое действие:


Откроется следующее окно:


Здесь прописываем адрес почтового ящика администратора (1), адрес почтового ящика Kiwi Syslog Daemon сервера (2). Можно указать свою фразу, которая будет в письме в поле «от кого» (3) и, собственно, само содержимое письма (4) (все это можно настроить под себя с помощью ссылок, находящихся рядом с полями). Нажимаем «Apply» и затем «OK».
Ну что, теперь осталось проверить работу. Зайдем на Router_1, погасим один из интерфейсов и посмотрим, пришло ли письмо на почтовый ящик:



Ну что же, все получилось!!! Письмо с оповещением пришло!!! Видно, что письмо пришло от Kiwi Syslog Daemon, и сообщение сгенерировал Router_1 (10.10.10.10).
На этом я буду заканчивать этот пост. Конечно, сегодня я показал далеко не все настройки Kiwi Syslog Daemon. Можно настраивать другие фильтры, создавать другие действия, настроить архивирование, оповещение по sms, звуком и так далее и тому подобное. Но, я считаю, что для первоначальной установки и настройки этого вполне достаточно :). Так сказать, будем использовать закон Парето.
Надеюсь, что этот пост помог вам, и вы почерпнули для себя что то новое и интересное. В следующих постах постараюсь написать о программе, которая стягивает и сохраняет конфигурацию с сетевых устройств и программе Cacti, которая очень удобна и необходима для построения графиков по различным параметрам (загрузке интерфейсов, температуре, загрузке процессора и так далее…). В общем, будет интересно, так что заходите :).

Источник: go-to-easyit.com/2011/12/kiwi-syslog-daemon.html

Комментариев нет:

Отправить комментарий