Feature #26

Подробные логи с деавторизациями #2

Added by Maxim Mamontov about 4 years ago. Updated about 3 years ago.

Status:NewStart date:05/31/2015
Priority:NormalDue date:
Assignee:Vladimir Pavljuchenkov% Done:

0%

Category:-Spent time:-
Target version:-

Description

Нужна опция включать/выключать подробные логи по деавторизациями без перезагрузки старгейзера.

Подробные логи управляются параметром LogProtocolErrors в секции конфигурации плагина auth_ia. Сейчас файл конфигурации читается только один раз — при старте системы (см. вызов метода SETTINGS::ReadSettings в main.cpp).

Однако, в Stargazer существует возможность перечитать некоторые файлы в процессе работы. Например rules или subnets. Стандартно для всех дэмонов UNIX используется сигнал SIGHUP с кодом 1. Обработка этого сигнала так же происходит в main.cpp (см. case SIGHUP). При этом у каждого плагина вызывается метод Reload. Однако, плагины не занимаются чтением файла конфигурации. Они получают свои настройки при загрузке (см. PluginManager::PluginManager, PLUGIN_RUNNER::PLUGIN_RUNNER, PLUGIN_RUNNER::Load и метод SetSettings у плагинов).

Необходимо при получении сигнала SIGHUP перечитывать настройки (SETTINGS::ReadSettings) и при вызове Reload у плагинов (см. PluginManager::reload) передавать туда новые значения параметров.

Для того чтобы послать Stargazer сигнал SIGHUP существует 2 способа. Первый: kill -1 <pid>, где <pid> — идентификатор процесса Stargazer. Его можно получить из pid-файла (если параметр PIDFile в stargazer.conf указан) или из списка процессов (список процессов можно посмотреть, например, с помощью команды ps ae). Второй: killall -1 stargazer. Нужно учитывать что stargazer запущен от имени root, по этому и команды kill и killall должны быть запущены от этого пользователя.

Секция конфигурации плагина auth_ia и параметр LogProtocolErrors в частности представлены классом AUTH_IA_SETTINGS. Объект этого класса является членом класса плагина AUTH_IA iaSettings. Его инициализация происходит в методе AUTH_IA::ParseSettings. Фактический разбор параметров происходит в методе AUTH_IA_SETTINGS::ParseSettings. Необходимо модифицировать AUTH_IA::Reload так чтобы он принимал ссылку на объект MODULE_SETTINGS с новыми параметрами плагина и переинициализировал iaSettings.

History

#1 Updated by Maxim Mamontov over 3 years ago

  • Tracker changed from Bug to Feature

#2 Updated by Maxim Mamontov over 3 years ago

  • Assignee changed from Maxim Mamontov to Helen Mamontova

В ветку stg-2.409.

#3 Updated by Maxim Mamontov over 3 years ago

  • Description updated (diff)

#4 Updated by Maxim Mamontov over 3 years ago

  • Description updated (diff)

#5 Updated by Maxim Mamontov about 3 years ago

  • Assignee changed from Helen Mamontova to Vladimir Pavljuchenkov

Done.

Also available in: Atom PDF