FWLogger 1.0.0
Firewall Logger 1.
|
Firewall Logger 1. От автора "Firewall Logger" (далее FL) предназначен для удобного отображения всего того, что пишется в лог файрволлом в процессе работы. Язык Perl был выбран для создания данной программы исходя из нескольких соображений : 1) Он удобен для обработки строк 2) Perl программы почти не зависят от платформы, на которой они запускаются 3) Я не знал Perl и нужна была реальная задача, на которой можно его изучить :) Из третьего пункта есть одно небольшое следствие - не весь код написан красиво и работает быстро, поэтому, если у Вас возникло желание покопаться с моими каракулями, буду благодарен за замечания и предложения.. FL включает в себя следующие функциональные части: Logdaemon - набор программ для передачи строчек лога с файрволла на ту машину где собственно лог обрабатывается. Parser - программа обработки лога Client - Интерфейсная часть FL распространяется в соответствии с GNU General Public License. 2. Устройство и принцип работы. FL Выполнен в виде двух частей Parser и Client. Парзер занимается обработкой строк лога по мере их возникновения. Клиент - занимается отображением всего того, что ему передает парзер. Для улучшения гибкости и функциональности все функции относящиеся к разбору строк определенного формата и отображения собранной из них информации вынесены в отдельные модули, автоматически подключающиеся при запуске парзера или клиента. Эти модули используются как тем так и другим. В комплект входит скелетный модуль, на основе которого можно создавать собственные модули для обработки неизвестных записей. Работает FL следующим образом: 1. Запускается парзер. После зупуска, парзер сканирует лог файл и обрабатывает все имеющиеся там на данный момент записи. Одновременно парзер запускает процесс отвечающий за связь с клиентами и ожидающий входящие подключения. 2. Запускается клиент (не обязательно на той-же машине что и парзер). Клиент подсоединяется к парзеру и передает свои параметры. После чего данное соединение закрывается и клиент переходит в режим ожидания. 3. Парзер, используя полученные данные подсоединяется к клиенту. При успешном установлении соединения парзер регистрирует его. 4. Далее парсер посылает запрос клиенту может ли он принимать данные о определенной строке из лога, если у клиента есть подходящий модуль, то данные ему передаются, если нет - пропускаются. 5. Клиент получив данные от парзера, сохраняет их в памяти. В том случае, если окно отвечающее за вывод данных этого типа открыто, то они отображаются. 6. Передав все имеющиеся у него данные, парзер просматривает лог файл на предмет появления в нем новых записей. если они появились - парзер обрабатывет их и выполняет действия описаные в пунктах 4,5. Если нет - одидает заданное время и опять проверяет наличие новых записей. Для удобства(и безопасности например), можно вынести парзер с той машины, на которой генерируется лог файл. Для этого используется Logdaemon. Он состоит из, собственно демона и клиента. Демон запускается на машине генерирующей лог, а клиент, на той, где находится парзер. В процессе работы, демон передает вновь дописаные строки клиенту, которы в свою очередь, создает копию лог файла на машине с парзером. В тот момент, когда происходит ротация логов, по внешнему сигналу, демон передает специальную строку клиенту, по получению которой, клиент упаковывает созданый им лог файл. 3. Установка и конфигурирование. Архив с FL имеет следующую структуру: ~/fwlogger/ основной каталог ~/fwlogger/cfg каталог содержащий конфигурационные файлы ~/fwlogger/cfg/plugins каталог содержащий конфигурационные файлы для подключаемых модулей ~/fwlogger/client каталог содержащий клиента (интерфейс) ~/fwlogger/logdaemon каталог содержащий лог-демона ~/fwlogger/parser каталог содержащий парзер ~/fwlogger/plugins каталог содержащий подключаемые модули ~/fwlogger/temp каталог для временных файлов После распаковки архива необходимо произвести следующие настройки. 1. Для машины на которой будет работать парзер. файл ~/fwlogger/cfg/parser.cfg # FWLogger v 1.0 # Parser configuration # Path section main_path /home/dhead/fwlogger # полный путь к каталогу "fwlogger" main_temp_path /home/dhead/fwlogger/temp/parser/ # полный путь к катлогу в котором парзер хранит временные файлы # обычно ~/fwlogger/temp/parser main_log_name /var/log/messages # имя лог файла с полным путем # Time section time_to_life 86400 # Время жизни записи с момента обработки, после которого запись будет удаена # из памяти time_to_check 1200 # Временной инервал, по истечении которого будет произведена проверка на наличие # устаревших записей (см time_to_life) sleep_time 1 # Пауза в работе основного цикла write_timeout 30 c_timeout 1200 conn_test_timeout 300 hup_timeout 300 # Системные таймауты, изменять не рекомендуется # Connection section local_address localhost # Адрес или IP данной машины local_port 9005 # Порт, на котором парзер будет принимать входящие соединения - 2. Для машины с интерфейсной частью (клиентом) файл ~/fwlogger/cfg/client.cfg - # FWLogger v 1.0 # Client configuration # Connection section local_port 9458 # Локальный порт, для коммуникации с парзером parser_host localhost # Адрес или IP машины на которой запущен парзер parser_port 9005 # Порт на котором парзер принимает входящие соединения - Далее из каталога ~/fwlogger/plugins нужно удалить те подключаемые модули которые не планируется использовать, за исключением модуля unrec_plug-in.pl. Следует отметить, что если в лог файле встретятся записи, которые ни один из модулей парзера не может обработать, то эта запись будет отражена в списке "Unrecognized string". Можно также сконфигурировать FL в интерактивном режиме с помощью скрипта configure.pl. Просто отвечаете на вопросы задаваемые скриптом и на выходе получаете tar файл с настроенными конфигурационными файлами. На данный момент написаны и отлажены следующие подключаемые модули: 1. ftp_plug-in.pl Предназначен для обработки и отображения информации о FTP-GW. Файл конифгурации ~/fwlogger/cfg/ftp_plug-in.cfg Параметр: visible Описание: Отвечает за отображение окна Значения: 0 или 1 (0 выключено, 1 включено) 2. named_plug-in.pl Предназначен для обработки и отображения информации о NAMED-GW. Файл конифгурации ~/fwlogger/cfg/named_plug-in.cfg Параметр: visible Описание: Отвечает за отображение окна Значения: 0 или 1 (0 выключено, 1 включено) 3. nntp_plug-in.pl Предназначен для обработки и отображения информации о NNTP-GW. Файл конифгурации ~/fwlogger/cfg/nntp_plug-in.cfg Параметр: visible Описание: Отвечает за отображение окна Значения: 0 или 1 (0 выключено, 1 включено) 4. pop_plug-in.pl Предназначен для обработки и отображения информации о POP-GW. Файл конифгурации ~/fwlogger/cfg/pop_plug-in.cfg Параметр: visible Описание: Отвечает за отображение окна Значения: 0 или 1 (0 выключено, 1 включено) 5. sendmail_plug-in.pl Параметр: visible Описание: Отвечает за отображение окна Значения: 0 или 1 (0 выключено, 1 включено) Предназначен для обработки и отображения информации о SENDMAIL-GW. Файл конифгурации ~/fwlogger/cfg/sendmail_plug-in.cfg 6. smap_plug-in.pl Параметр: visible Описание: Отвечает за отображение окна Значения: 0 или 1 (0 выключено, 1 включено) Предназначен для обработки и отображения информации о SMAP-GW. Файл конифгурации ~/fwlogger/cfg/SMAP_plug-in.cfg 7. smapd_plug-in.pl Параметр: visible Описание: Отвечает за отображение окна Значения: 0 или 1 (0 выключено, 1 включено) Предназначен для обработки и отображения информации о SMAPD-GW. Файл конифгурации ~/fwlogger/cfg/smapd_plug-in.cfg 8. snmp_plug-in.pl Предназначен для обработки и отображения информации о SNMP-GW. Файл конифгурации ~/fwlogger/cfg/snmp_plug-in.cfg Параметр: visible Описание: Отвечает за отображение окна Значения: 0 или 1 (0 выключено, 1 включено) 9. sql_plug-in.pl Предназначен для обработки и отображения информации о SQL-GW. Файл конифгурации ~/fwlogger/cfg/sql_plug-in.cfg Параметр: visible Описание: Отвечает за отображение окна Значения: 0 или 1 (0 выключено, 1 включено) Параметр: rows_number Описание: Количество отображаемых sql relay в строке Значения: Целое число Параметр: cols_number Описание: Количество отображаемых sql relay в столбце Значения: Целое число Замечание: параметры rows_number и cols_number определяют общее количество отображаемых sql relay. Например, если необходимо отображать 100 sql relay параметры будут следующими - rows_number 10 cols_umber 10 10. telnet_plug-in.pl Предназначен для обработки и отображения информации о TELNET-GW. Файл конифгурации ~/fwlogger/cfg/telnet_plug-in.cfg Параметр: visible Описание: Отвечает за отображение окна Значения: 0 или 1 (0 выключено, 1 включено) 11. unrec_plug-in.pl Предназначен для отображения строк которые невозможно обработать ни одним из подключаемых модулей. Файл конифгурации ~/fwlogger/cfg/unrec_plug-in.cfg Параметр: visible Описание: Отвечает за отображение окна Значения: 0 или 1 (0 выключено, 1 включено) 12. uxalert_plug-in.pl Предназначен для отображения строк типа "unix: securityalert:". Файл конифгурации ~/fwlogger/cfg/unrec_plug-in.cfg Параметр: visible Описание: Отвечает за отображение окна Значения: 0 или 1 (0 выключено, 1 включено) 4. Системные требования SuSe Linux 6.3, частично тестировался на RedHat Linux 6.2 Perl 5.005_03 built for i686-linux Необходимые модули: IO::Handle IO::Socket IPC::Shareable Net::hostent Sys::Hostname Term::ReadKey Socket Storable Tk Необходимое свободное место на диске = размер лог файла * 1.5-2 для Parser-а размер лог файла * 0.5 для Client-а (расчеты приблизительные и зависят от структуры того что пишется файрволлом) Остальные требования не выяснены (вернее выяснять не охота) 5. Куда и к кому с вопросами и пинками? :) С вопросами ко мне ;) e-mail: doublehead@mail.ru icq: 12650614 За обновлениями сюда: web: http://doublehead.virtualave.net/progs.html С пинками в /dev/null 6. Enjoy FWLogger! :)
Программы разработчика
Альтернативные программы
FWLogger 1.0.0
Васильчиков Василий Сергеевич
Firewall Logger 1.
Получение параметров коммандной строки запуска 1С
DimonFox
Описание clproc.
Административная обработка
Vladimir Kozlov
Административная обработка, производящая чистку ".
OpenIn1C
ADirks
OpenIn1C.
SimpleAlarmClock
Кучумов Николай
SimpleAlarmClock - это программа, которая осуществляет звуковое и зрительное оповещение в назначенное время.
Термометр v1.1
Полежаев Виктор Леонидович
Программа предназначена для измерения температур при помощи термосопротивлений и получения логических сигналов (включено - выключено).
Ввести значение
McLarry
Обработка для ввода значения произвольного типа.
LoggingTool 1.0
Ирина Пыхова
Hебольшая библиотека, облегчающая отладку и сопровождение приложений.
SysSh32
Unknown
Программа предназначена для сбора информации о работе пользователей на компьютерах.
Импорт и экспорт информации для Камин ЗиК 2.0
dimension
Обработки позволяют: 1.
Другие программы категории
WinDriversBackup 1.09 Personal Edition
Unknown
WinDriversBackup - предназначена для создания резервной копии всех драйверов, используемых windows.
Outlook Password 10.1.6805
Unknown
Outlook Password Recovery is a program to recover lost or forgotten passwords to the Microsoft Outlook XP/2000/98/97 password-protected Personal Storage files (*.
HashCalc 2.02
HomeSoft.biz
HashCalc - персональный хеш калькулятор.
WindowBlinds 5.5 build 93
Stardock Corporation
WindowBlinds – это утилита, предназначенная для настройки внешнего пользовательского интерфейса в операционной системе Windows XP.
Системщик 3.0
Александр Титов
Системщик - программа не только отобразит исчерпывающую информацию о компьютере и об установленной операционной системе, но и поможет вам настроить ее и протестировать оборудование.