- Created by Нестеров Михаил on Jun 15, 2026
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
Version 1 Next »
Единый журнал событий используется в конфигурации системы с несколькими серверами Rutoken KeyBox и предназначен для записи событий со всех сервером в общий журнал.
Единый журнал может быть настроен с помощью приложений Rutoken KeyBox Event Log Proxy или Log Server.
Rutoken KeyBox Event Log Proxy
Компонент Rutoken KeyBox Event Log Proxy позволяет записывать события с нескольких серверов Rutoken KeyBox в единый журнал Windows Event Log.
Indeed CM Event Log Proxy можно установить только на рабочую станцию под управлением ОС Windows.
Чтобы установить и настроить Rutoken KeyBox Event Log Proxy:
Выполните вход на рабочую станцию с правами локального администратора.
Откройте каталог Rutoken KeyBox.Server дистрибутива системы и запустите Мастер установки Rutoken KeyBox.EventLog.Proxy-<номер версии>.x64.ru-ru.msi.
- В Мастере установки выберите способ аутентификации в зависимости от ОС, где установлен сервер Rutoken KeyBox, и укажите необходимые настройки в файлах конфигурации:
Выберите способ аутентификации Windows.
По завершении установки нажмите Готово и закройте Мастер установки.
Откройте файл web.config (C:\inetpub\wwwroot\keybox\eventlogproxy) в редакторе Блокнот от имени администратора.
В параметре
allow usersукажите учетную запись из домена, где установлен Event Log Proxy. Например, сервисную учетную запись для работы с каталогом пользователей.Пример<authorization> <clear /> <add accessType="Allow" users="DOMAIN\servicekeybox" /> </authorization>Сохраните изменения и закройте файл web.config.
- Выберите способ аутентификации по сертификату. По завершении установки нажмите Готово и закройте Мастер установки.
- Откройте файл appsettings.json (C:\inetpub\wwwroot\keybox\eventlogproxy) в редакторе Блокнот от имени администратора.
В секции
authSettingsв параметреallowedCertificateThumbprintsукажите отпечаток клиентского сертификата, разрешенного к предъявлению сервером Rutoken KeyBox. Убедитесь, что поле Улучшенный ключ (Enhanced Key Usage) сертификата содержит значение «Проверка подлинности клиента» (Client Authentication), и сертификат установлен в хранилище сертификатов сервера Rutoken KeyBox.Пример"authSettings":{ "authorizeByCertificate": "true", "allowedCertificateThumbprints": "aba8b93d73343f2182e3c1c40482b2ae2d75b6ec" }Сохраните изменения и закройте файл appsettings.json.
- Перезапустите пул приложения Rutoken KeyBox Event Log Proxy, чтобы сохранить изменения.
- Откройте Диспетчер служб IIS (Internet Information Services Manager) и в левом меню выберите Пул приложений IIS (Application pools).
- Выберите приложение Rutoken KeyBox Event Log Proxy и в правом меню нажмите Перезапуск (Recycle).
Log Server
Log Server позволяет записывать события с одного или нескольких серверов Rutoken KeyBox в единый журнал Windows Event Log, Microsoft SQL Server, PostgreSQL Server, SysLog Server.
Log Server можно установить на систему под управлением ОС Windows или Linux.
Установка
Перед установкой Log Server установите платформу .NET версии 8.0 и модуль URL Rewrite.
Чтобы установить Log Server:
- Выполните вход на рабочую станцию с правами локального администратора.
- Запустите LogServer-<номер версии>.x64.ru-ru.msi из каталога Log.Server дистрибутива системы и следуйте указаниям Мастера.
- Из каталога Log.Server cкопируйте:
- файл cmSchema.config в каталог C:\inetpub\wwwroot\ls;
- файлы EventLogTarget.config, MsSqlTarget.config, PgSqlTarget.config и SysLogTarget.config в каталог C:\inetpub\wwwroot\ls\targetConfigs.
Настройка чтения и записи событий
Log Server поддерживает чтение событий только из одного хранилища (ReadTargetId), запись событий возможна одновременно в несколько хранилищ (WriteTargets).
Вы можете настроить чтение и запись событий в следующие хранилища:
- Windows Event Log;
- MS SQL;
- PostgreSQL;
- Syslog.
Перейдите в каталог C:\inetpub\wwwroot\ls и отредактируйте файл clientApps.config:
- В секции
Applicationsдобавьте:<Application Id="keybox" SchemaId="cmSchema"> <ReadTargetId>EventLogTarget</ReadTargetId> <WriteTargets> <TargetId>EventLogTarget</TargetId> </WriteTargets> <AccessControl> <!--<CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" />--> </AccessControl> </Application>
- В секции
Targetsдобавьте новый элемент:<Targets> <Target Id="EventLogTarget" Type="eventlog"/> </Targets>
- В секции
Сохраните изменения и закройте файл конфигурации.
Чтобы сохранить изменения, перезапустите пул приложений IIS:
- Откройте Диспетчер служб IIS (Internet Information Services Manager) и в левом меню выберите Пул приложений IIS (Application pools).
- Выберите приложение Log Server и в правом меню нажмите Перезапуск (Recycle).
База для хранения данных Log Server создается вручную, а ее наполнение происходит автоматически.
- Создайте базу данных в среде SQL Server Management Studio с произвольным именем:
- В окне Обозреватель объектов (Object Explorer) нажмите правой кнопкой мыши по вкладке Базы данных (Databases).
- Выберите Создать базу данных... (New Database...) и укажите Имя базы данных: (Database name:).
- В поле Владелец: (Owner:) определите владельца создаваемой базы.
Нажмите ОК, чтобы сохранить созданную базу данных.
Создайте или выберите любую внутреннюю учетную запись Microsoft SQL или учетную запись из поддерживаемого LDAP-каталога пользователей (Active Directory, Samba AD DC, РЕД АДМ, FreeIPA, ALD Pro). Например, сервисную учетную запись для работы Rutoken KeyBox.
После создания базы данных указанная учетная запись будет обладать правами db_owner, public. Rutoken KeyBox будет использовать эту учетную запись для чтения/записи в базу данных.
- Перейдите в каталог C:\inetpub\wwwroot\ls\targetConfigs и отредактируйте файл MsSqlTarget.config. В секции
<Settings>…</Settings>задайте параметры:Data Source— имя сервера Microsoft SQL Server или именованного экземпляра Microsoft SQL Server в форматеимя сервера\имя экземпляра.Database— имя базы данных (ILS);User Id— сервисная учетная запись для работы с базами данных Rutoken KeyBox;Password— пароль сервисной учетной записи;TrustServerCertificate— настройка доверия сертификату сервера. Установите значениеTrue.<Settings> <ConnectionString>Data Source=MSSQL\SQLEXPRESS;Database=LogServer;User Id=servicesql;Password=P@ssw0rd;TrustServerCertificate=True</ConnectionString> </Settings>
Перейдите в каталог C:\inetpub\wwwroot\ls и отредактируйте файл clientApps.config:
В секции
Applicationдобавьте:<Application Id="cm" SchemaId="cmSchema"> <ReadTargetId>MsSqlTarget</ReadTargetId> <WriteTargets> <TargetId>MsSqlTarget</TargetId> </WriteTargets> <AccessControl> <!--<CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" />--> </AccessControl> </Application>В секции
Targetsдобавьте новый элемент:<Targets> <Target Id="MsSqlTarget" Type="mssql"/> </Targets>
Сохраните изменения и закройте файл конфигурации.
Чтобы сохранить изменения, перезапустите пул приложений IIS:
- Откройте Диспетчер служб IIS (Internet Information Services Manager) и в левом меню выберите Пул приложений IIS (Application pools).
- Выберите приложение Log Server и в правом меню нажмите Перезапуск (Recycle).
База для хранения данных Log Server создается вручную, а ее наполнение происходит автоматически.
Создайте базу данных в PostgreSQL, например, в среде pgAdmin:
- В окне Обозреватель (Browser) нажмите правой кнопкой мыши по пункту Базы данных (Databases).
- Выберите Создать (Create)→База данных... (Database...).
- На вкладке Общие (General) в поле База данных (Database) укажите произвольное название базы данных, выберите из списка Владелец (Owner) сервисную четную запись, которая будет использоваться для подключения к базе данных.
- Нажмите Сохранить (Save).
Предоставьте сервисной учетной записи привилегии на таблицы базы данных:
- Выберите созданную базу данных и перейдите в меню Запросника (Query Tool).
- Введите текст запроса, указав в запросе имя учетной записи:
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO <имя сервисной учетной записи>;
- В меню Запросника нажмите Выполнить (Execute/Refresh).
Создайте расширение uuid-ossp, которое предоставляет функции для генерации Universally Unique Identifiers (UUID).
- Очистите поле ввода Запросника.
- Введите текст запроса.
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
- В меню Запросника нажмите Выполнить (Execute/Refresh).
По умолчанию в PostgreSQL разрешены только локальные подключения к базам данных, поэтому для работы между различными серверами требуется настройка удаленного подключения к БД:
- В каталоге PostgreSQL откройте конфигурационный файл pg_hba.conf. Файл находится в каталоге C:\Program Files\PostgreSQL\<номер версии>\data.
- В конце файла добавьте строку следующего типа:
CONNECTIONTYPE DATABASE USER ADDRESS METHOD
Где:
CONNECTIONTYPE— тип подключения. Чтобы использовать подключение по TCP/IP, укажитеhost;DATABASE— имя базы данных, для которой предоставляется доступ. Для доступа ко всем базам данных укажитеALL;USER— имя пользователя, для которого будет доступно подключение. Для доступа всех пользователей укажитеALL;ADDRESS— IP-адрес удаленного сервера Rutoken KeyBox. Для доступа с любых адресов укажите0.0.0.0/0;METHOD— метод аутентификации пользователя. Например,md5,scram-sha-256.
Примерhost LogServer servicepg 192.200.1.0/24 md5 host ALL servicepg 10.0.0.0/8 md5 host ALL ALL 0.0.0.0/0 scram-sha-256
В каталоге C:\inetpub\wwwroot\ls\targetConfigs отредактируйте файл PgSqlTarget.config. В секции
<ConnectionString>…</ConnectionString>задайте параметры:Host— имя сервера PostgreSQL Server;Port— порт для подключения к PostgreSQL (5432 — значение по умолчанию);Database— имя созданной в п.1 базы данных;Username— сервисная учетная запись для подключения к указанной базе данных;Password— пароль сервисной учетной записи.<Settings> <ConnectionString>Host=SRV-POSTGRESQL;Port=5432;Database=LogServer;Username=servicepg;Password=P@ssw0rd</ConnectionString> </Settings>
Перейдите в каталог C:\inetpub\wwwroot\ls и отредактируйте файл clientApps.config:
- В секции
Applicationдобавьте новыйTargetIdдляReadTarget,WriteTarget:<Application Id="cm" SchemaId="cmSchema"> <ReadTargetId>PgSqlTarget</ReadTargetId> <WriteTargets> <TargetId>PgSqlTarget</TargetId> </WriteTargets> <AccessControl> <!-- <CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" /> --> </AccessControl> </Application>
- В секции
Targetsдобавьте новый элемент:<Targets> <Target Id="PgSqlTarget" Type="pgsql"/> </Targets>
- В секции
Чтобы сохранить изменения, перезапустите пул приложений IIS:
- Откройте Диспетчер служб IIS (Internet Information Services Manager) и в левом меню выберите Пул приложений IIS (Application pools).
- Выберите приложение Log Server и в правом меню нажмите Перезапуск (Recycle).
Возможности Syslog ограничены только записью событий (WriteTargets). В примере дополняется конфигурация из примера с PostgreSQL.
В каталоге C:\inetpub\wwwroot\ls\targetConfigs отредактируйте файл SysLogTarget.config. В секции
<ConnectionString>…</ConnectionString>задайте параметры:HostName– имя или IP-адрес Syslog сервера;Port– порт Syslog сервера (514 — порт по умолчанию);Protocol– тип подключения к Syslog серверу: UDP, TCP, TCPoverTLS;Format– опциональный параметр, определяет формат логов: Plain, CEF, LEEF;SyslogVersion– опциональный параметр, спецификация протокола: RFC3164, RFC5424.<Settings HostName="SRV-SYSLOG" Port="514" Protocol="UDP"/>
Перейдите в каталог C:\inetpub\wwwroot\ls и отредактируйте файл clientApps.config:
- В секции
Applicationдобавьте новыйTargetIdдляWriteTarget:<Applications> <Application Id="cm" SchemaId="cmSchema"> <ReadTargetId>PgSqlTarget</ReadTargetId> <WriteTargets> <TargetId>PgSqlTarget</TargetId> <TargetId>SysLogTarget</TargetId> </WriteTargets> <AccessControl> <!-- <CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" /> --> </AccessControl> </Application> </Applications>
- В секции
Targetsдобавьте новый элемент:<Targets> <Target Id="PgSqlTarget" Type="pgsql"/> <Target Id="SysLogTarget" Type="syslog"/> </Targets>
- В секции
Чтобы сохранить изменения, перезапустите пул приложений IIS:
- Откройте Диспетчер служб IIS (Internet Information Services Manager) и в левом меню выберите Пул приложений IIS (Application pools).
- Выберите приложение Log Server и в правом меню нажмите Перезапуск (Recycle).
Установка
- Установите Log Server.Debian
sudo dpkg -i rutoken.logserver-<номер версии>_amd64.deb
RHELsudo rpm -i rutoken.logserver-<номер версии>.x86_64.rpm
- Из каталога Log.Server cкопируйте файл cmSchema.config в каталог /opt/aktivco/ls:
sudo cp ./cmSchema.config /opt/aktivco/ls/
Настройка чтения и записи событий
Log Server поддерживает чтение событий только из одного хранилища (ReadTargetId). Запись событий возможна одновременно в несколько хранилищ (WriteTargets).
Настройте чтение и запись событий в следующие хранилища:
- MS SQL;
- PostgreSQL;
- Syslog.
База для хранения данных Log Server создается вручную, а ее наполнение происходит автоматически.
Создайте базу данных в среде SQL Server Management Studio с произвольным именем:
- В окне Обозреватель объектов (Object Explorer) нажмите правой кнопкой мыши по вкладке Базы данных (Databases).
- Выберите Создать базу данных... (New Database...) и укажите Имя базы данных: (Database name:).
- В поле Владелец: (Owner:) определите владельца создаваемой базы.
Нажмите ОК, чтобы сохранить созданную базу данных.
Создайте или выберите любую внутреннюю учетную запись Microsoft SQL или учетную запись из поддерживаемого LDAP-каталога пользователей (Active Directory, Samba AD DC, РЕД АДМ, FreeIPA, ALD Pro). Например, сервисную учетную запись для работы Rutoken KeyBox.
После создания базы данных указанная учетная запись будет обладать правами db_owner, public. Rutoken KeyBox будет использовать эту учетную запись для чтения/записи в базу данных.
Перейдите в каталог /opt/aktivco/ls/targetConfigs и отредактируйте файл MsSqlTarget.config. В секции
<Settings>…</Settings>задайте параметры:Data Source— имя сервера Microsoft SQL Server или именованного экземпляра Microsoft SQL Server в форматеимя сервера\имя экземпляра;Database— имя базы данных (ILS);User Id— сервисная учетная запись для работы с базами данных Rutoken KeyBox;Password— пароль сервисной учетной записи;TrustServerCertificate— настройка доверия сертификату сервера. Установите значениеTrue.<Settings> <ConnectionString>Data Source=MSSQL\SQLEXPRESS;Database=LogServer;User Id=servicesql;Password=P@ssw0rd;TrustServerCertificate=True</ConnectionString> </Settings>
Перейдите в каталог /opt/aktivco/ls и отредактируйте файл clientApps.config:
- В секции Application добавьте:
<Application Id="cm" SchemaId="cmSchema"> <ReadTargetId>MsSqlTarget</ReadTargetId> <WriteTargets> <TargetId>MsSqlTarget</TargetId> </WriteTargets> <AccessControl> <!--<CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" />--> </AccessControl> </Application>
- В секции
Targetsдобавьте новый элемент:<Targets> <Target Id="MsSqlTarget" Type="mssql"/> </Targets>
- В секции Application добавьте:
База для хранения данных Log Server создается вручную, а ее наполнение происходит автоматически.
Создайте базу данных в PostgreSQL, например, в среде pgAdmin:
- В окне Обозреватель (Browser) нажмите правой кнопкой мыши по пункту Базы данных (Databases).
- Выберите Создать (Create)→База данных... (Database...).
- На вкладке Общие (General) укажите произвольное название базы данных в поле База данных (Database), выберите из списка Владелец (Owner) сервисную четную запись, которая будет использоваться для подключения к базе данных.
- Нажмите Сохранить (Save).
Предоставьте сервисной учетной записи привилегии на таблицы базы данных:
- Выделите созданную базу данных в списке и перейдите в меню Запросника (Query Tool).
- Введите текст запроса, указав в запросе имя учетной записи:
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO <имя сервисной учетной записи>;
- В меню Запросника нажмите Выполнить (Execute/Refresh).
По умолчанию в PostgreSQL разрешены только локальные подключения к базам данных, поэтому для работы между различными серверами требуется настройка удаленного подключения к БД:
- В каталоге PostgreSQL откройте конфигурационный файл pg_hba.conf. Файл находится в каталоге /etc/postgresql/<номер версии>/main.
- В конце файла добавьте строку следующего типа:
CONNECTIONTYPE DATABASE USER ADDRESS METHOD
Где:
CONNECTIONTYPE— тип подключения. Чтобы использовать подключение по TCP/IP, укажитеhost;DATABASE— имя базы данных, для которой предоставляется доступ. Для доступа ко всем базам данных укажитеALL;USER— имя пользователя, для которого будет доступно подключение. Для доступа всех пользователей укажитеALL;ADDRESS— IP-адрес удаленного сервера Rutoken KeyBox. Для доступа с любых адресов укажите0.0.0.0/0;METHOD— метод аутентификации пользователя. Например,md5,scram-sha-256.
Примерhost LogServer servicepg 192.200.1.0/24 md5 host ALL servicepg 10.0.0.0/8 md5 host ALL ALL 0.0.0.0/0 scram-sha-256
В каталоге /opt/aktivco/ls/targetConfigs отредактируйте файл PgSqlTarget.config. В секции
<ConnectionString>…</ConnectionString>задайте параметры:Host— имя сервера PostgreSQL Server;Port— порт для подключения к PostgreSQL (5432 — значение по умолчанию);Database— имя созданной в п.1 базы данных;Username— сервисная учетная запись для подключения к указанной базе данных;Password— пароль сервисной учетной записи.<Settings> <ConnectionString>Host=SRV-POSTGRESQL;Port=5432;Database=LogServer;Username=servicepg;Password=P@ssw0rd</ConnectionString> </Settings>
Перейдите в каталог /opt/aktivco/ls и отредактируйте файл clientApps.config:
- В секции
Applicationдобавьте новыйTargetIdдляReadTarget,WriteTarget:<Application Id="cm" SchemaId="cmSchema"> <ReadTargetId>PgSqlTarget</ReadTargetId> <WriteTargets> <TargetId>PgSqlTarget</TargetId> </WriteTargets> <AccessControl> <!-- <CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" /> --> </AccessControl> </Application>
- В секции
Targetsдобавьте новый элемент:<Targets> <Target Id="PgSqlTarget" Type="pgsql"/> </Targets>
- В секции
Возможности Syslog ограничены только записью событий (WriteTargets). В примере дополняется конфигурация из примера с PostgreSQL.
В каталоге /opt/aktivco/ls/targetConfigs отредактируйте файл SysLogTarget.config. В секции
<ConnectionString>…</ConnectionString>задайте параметры:HostName —имя или IP-адрес Syslog сервера;Port— порт Syslog сервера (514 — порт по умолчанию);Protocol— тип подключения к Syslog серверу: UDP, TCP, TCPoverTLS;Format— опциональный параметр, определяет формат логов: Plain, CEF, LEEF;SyslogVersion— опциональный параметр, спецификация протокола: RFC3164, RFC5424.<Settings HostName="SRV-SYSLOG" Port="514" Protocol="UDP"/>
Перейдите в каталог /opt/aktivco/ls и отредактируйте файл clientApps.config:
- В секции
Applicationдобавьте новыйTargetIdдляWriteTarget:<Applications> <Application Id="cm" SchemaId="cmSchema"> <ReadTargetId>PgSqlTarget</ReadTargetId> <WriteTargets> <TargetId>PgSqlTarget</TargetId> <TargetId>SysLogTarget</TargetId> </WriteTargets> <AccessControl> <!-- <CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" /> --> </AccessControl> </Application> </Applications>
- В секции
Targetsдобавьте новый элемент:<Targets> <Target Id="PgSqlTarget" Type="pgsql"/> <Target Id="SysLogTarget" Type="syslog"/> </Targets>
- В секции
Применение настроек
Откройте конфигурационный файл веб-сервера nginx или Apache и раскомментируйте строки обработки приложения api:
Пример для nginxlocation /api { include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5010/api; }Пример для ApacheProxyPass /api http://localhost:5010/api ProxyPassReverse /api http://localhost:5010/api
Перезапустите веб-сервер.
Перезапустите сервис Log Server:
sudo systemctl restart indeed-ls.service
Настройка Рутокен KeyBox на работу с единым журналом событий
- Настройте подключение к журналу событий в Мастере настройки.
- Проверьте работу журнала событий. Перейдите в Консоль управления, откройте раздел Журнал и выполните поиск событий.
Ожидаемый результат: отсутствие ошибок.
Поиск в журнале может не дать результатов, если журнал на удаленном сервере не содержит никаких событий. Выполните в веб-приложениях системы любое действие, результат которого записывается в журнал. Например, выключите устройство, добавьте или измените комментарий и повторите поиск событий.
- No labels