Единый журнал событий
Единый журнал событий используется для инсталляций Indeed Certificate Manager под управлением ОС Linux или в конфигурациях с несколькими серверами системы под управлением ОС Windows. Единый журнал событий позволяет записывать события со всех серверов в общий журнал.
Единый журнал можно настроить с помощью приложений Indeed CM Event Log Proxy или Indeed Log Server.
Приложения Indeed CM Event Log Proxy и Indeed Log Server можно установить только на систему под управлением ОС Windows. Например, на один из серверов Indeed CM или на отдельную рабочую станцию (в домене или вне домена).
Системные требования совпадают с требованиями для установки серверных компонентов.
Indeed CM Event Log Proxy
Компонент Indeed CM Event Log Proxy позволяет записывать события с одного или нескольких серверов Indeed Certificate Manager в единый журнал Windows Event Log.
Установите и настройте приложение Indeed CM Event Log Proxy. Выберите инструкцию в зависимости от операционной системы, где установлен сервер Indeed CM:
- ОС Windows
- ОС Linux
Выполните вход на рабочую станцию с правами локального администратора.
Установите компонент IndeedCM.EventLog.Proxy-<номер версии>.x64.ru-ru.msi из каталога IndeedCM.WindowsServer дистрибутива сервера системы.
От имени администратора откройте в редакторе Блокнот файл конфигурации Event Log Proxy C:\inetpub\wwwroot\cm\eventlogproxy\Web.config.
Задайте параметры аутентификации. Для подключения Windows-сервера Indeed CM к Event Log Proxy используется аутентификация Windows.
В параметреallow users
укажите учетную запись из домена, где установлен Event Log Proxy. Например, сервисную учетную запись для работы с Active Directory.<authentication mode="Windows" />
<authorization>
<deny users="?" />
<allow users="DEMO\servicecm" />
<deny users="*" />
</authorization>Сохраните изменения и закройте файл конфигурации.
Перезапустите пул приложения Indeed CM Event Log Proxy, чтобы сохранить изменения:
- Откройте Диспетчер служб IIS (Internet Information Services Manager) и в левом меню выберите Пул приложений IIS (Application pools).
- Выберите приложение IndeedCM Event Log Proxy и в правом меню нажмите Перезапуск (Recycle).
Выполните вход на рабочую станцию с правами локального администратора.
Установите компонент IndeedCM.EventLog.Proxy-<номер версии>.x64.ru-ru.msi из каталога IndeedCM.LinuxServer дистрибутива сервера системы.
От имени администратора откройте файл конфигурации Event Log Proxy C:\inetpub\wwwroot\cm\eventlogproxy\Web.config.
Задайте параметры аутентификации. Для подключения Linux-сервера Indeed CM к Event Log Proxy используется аутентификация по сертификатам.
- В секции
appSettings
укажите значение True в параметреauthorizeByCertificate
. В параметреallowedCertificateThumbprints
укажите отпечаток клиентского сертификата, разрешенного к предъявлению сервером Indeed CM.<appSettings>
<add key="authorizeByCertificate" value="true" />
<add key="allowedCertificateThumbprints" value="aba8b93d73343f2182e3c1c40482b2ae2d75b6ec" />
</appSettings> - Укажите значение None в параметре
authentication
и закомментируйте секциюauthorization
.<authentication mode="None" />
<!--
<authorization>
<deny users="?"/>
<allow users="*" />
<deny users="*" />
</authorization>
-->
- В секции
Убедитесь, что выполнены следующие требования для аутентификации по сертификатам в ОС Linux:
- Поле Улучшенный ключ (Enhanced Key Usage) сертификата содержит значение Проверка подлинности клиента (Client Authentication).
- Сертификат установлен в хранилище сертификатов сервера Indeed CM.
- Сохраните изменения и закройте файл конфигурации.
- Настройте Indeed CM Event Log Proxy для приема сертификатов клиента - сервера Indeed CM. Для этого откройте Диспетчер служб IIS (Internet Information Services Manager) и выполните следующие действия:
- Выберите приложение Indeed CM Event Log Proxy и перейдите в Параметры SSL (SSL Settings).
- В списке Сертификаты клиента (Client certificates) выберите значение Принимать (Accept).
- Перезапустите пул приложений IIS, чтобы сохранить изменения. В левом меню выберите Пул приложений IIS (Application pools). Выберите приложение IndeedCM Event Log Proxy и в правом меню нажмите Перезапуск (Recycle).
Indeed Log Server
Компонент Indeed Log Server позволяет записывать события с одного или нескольких серверов Indeed CM в единый журнал Windows Event Log, Microsoft SQL Server, PostgreSQL Server, SysLog Server.
Установка Indeed Log Server
- Выполните вход на рабочую станцию с правами локального администратора.
- Запустите Indeed.LogServer-<номер версии>.x64.ru-ru.msi из каталога Indeed.Log.Server дистрибутива системы и следуйте указаниям Мастера.
- Из каталога Indeed.Log.Server cкопируйте:
- файл cmSchema.config в каталог C:\inetpub\wwwroot\ls,
- файлы cmEventLogTarget.config, cmMsSqlTarget.config, cmPgSqlTarget.config и cmSysLogTarget.config в каталог C:\inetpub\wwwroot\ls\targetConfigs.
Настройка чтения и записи событий
Настройте чтение и запись событий в следующие хранилища:
- Windows Event Log
- MS SQL
- PostgreSQL
- Syslog
Indeed Log Server поддерживает чтение событий только из одного хранилища (ReadTargetId
), запись событий возможна одновременно в несколько
хранилищ (WriteTargets
).
- Windows Event Log
- MS SQL
- PostgreSQL
- Syslog
Перейдите в каталог C:\inetpub\wwwroot\ls и отредактируйте файл clientApps.config:
- В секции
Applications
добавьте:
<Application Id="cm" SchemaId="cmSchema">
<ReadTargetId>cmEventLogTarget</ReadTargetId>
<WriteTargets>
<TargetId>cmEventLogTarget</TargetId>
</WriteTargets>
<AccessControl>
<!--<CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" />-->
</AccessControl>
</Application>- В секции
Targets
добавьте новый элемент:
<Targets>
<Target Id="cmEventLogTarget" Type="eventlog"/>
</Targets>- В секции
Сохраните изменения и закройте файл конфигурации.
База для хранения данных Indeed Log Server создается вручную, а её наполнение происходит автоматически.
Создайте базу данных в среде SQL Management Studio с произвольным именем:
- В окне Обозреватель объектов (Object Explorer) нажмите правой кнопкой мыши по вкладке Базы данных (Databases).
- Выберите Создать базу данных... (New Database...) и укажите Имя базы данных: (Database name:) например, LogServer.
- В поле Владелец: (Owner:) определите владельца создаваемой базы.
- Нажмите ОК, чтобы сохранить созданную базу данных.
Создайте или выберите любую внутреннюю учетную запись MS SQL или Active Directory, Например, сервисную учетную запись для работы Indeed CM.
Указанная учетная запись после создания базы будет обладать правами db_owner, public и будет использоваться системой для выполнения операций записи/чтения в базу данных.
Перейдите в каталог C:\inetpub\wwwroot\ls\targetConfigs и отредактируйте файл cmMsSqlTarget.config:
<Settings>…</Settings>
:Data Source
- имя сервера Microsoft SQL Server или именованного экземпляра Microsoft SQL Server в форматеимя сервера\имя экземпляра
;Database
- имя базы данных (ILS);User Id
- сервисная учётная запись для работы с базами данных Indeed CM;Password
- пароль сервисной учётной записи.
<Settings>
<ConnectionString>Data Source=MSSQL\SQLEXPRESS;Database=LogServer;User Id=servicesql;Password=P@ssw0rd</ConnectionString>
</Settings>Перейдите в каталог C:\inetpub\wwwroot\ls и отредактируйте файл clientApps.config:
- в секции
Application
добавьте:
<Application Id="cm" SchemaId="cmSchema">
<ReadTargetId>cmMsSqlTarget</ReadTargetId>
<WriteTargets>
<TargetId>cmMsSqlTarget</TargetId>
</WriteTargets>
<AccessControl>
<!--<CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" />-->
</AccessControl>
</Application>- в секции
Targets
добавьте новый элемент:
<Targets>
<Target Id="cmMsSqlTarget" Type="mssql"/>
</Targets>- в секции
Сохраните изменения и закройте файл конфигурации.
База для хранения данных Indeed Log Server создается вручную, а её наполнение происходит автоматически.
Создайте базу данных в PostgreSQL, например, в среде pgAdmin:
- В окне Обозреватель (Browser) нажмите правой кнопкой мыши по пункту Базы данных (Databases).
- Выберите Создать (Create)→База данных... (Database...).
- На вкладке Общие (General) укажите произвольное название базы данных в поле База данных (Database), например, LogServer, выберите из списка Владелец (Owner) сервисную четную запись, которая будет использоваться для подключения к базе данных (например, servicepg).
- Нажмите Сохранить (Save).
Предоставьте сервисной учётной записи привилегии на таблицы базы данных:
- Выделите созданную базу данных в списке и перейдите в меню Запросника (Query Tool) (нажмите на или комбинацией клавиш ALT+SHIFT+Q).
- Введите текст запроса, указав в запросе имя учётной записи:
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO "имя сервисной учётной записи без кавычек";
- В меню Запросника нажмите Выполнить (Execute/Refresh).
По умолчанию в PostgreSQL разрешены только локальные подключения к базам данных, поэтому для работы между различными серверами требуется настройка удалённого подключения к БД:
- В каталоге PostgreSQL откройте конфигурационный файл pg_hba.conf. Файл находится в каталоге C:\Program Files\PostgreSQL\<номер версии>\data в ОС Windows и в /etc/postgresql/<номер версии>/main в *nix.
- В конце файла добавьте строку следующего типа:
CONNECTIONTYPE DATABASE USER ADDRESS METHOD
Где:
CONNECTIONTYPE
- тип подключения. Указывается "host" - будет использоваться подключение по TCP/IP;DATABASE
- имя базы данных, для которой предоставляется доступ (ALL для доступа ко всем базам данных);USER
- имя пользователя, для которого будет доступно подключение (ALL для доступа всех пользователей);ADDRESS
- IP-адрес удалённого сервера Indeed Certificate Manager (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 отредактируйте файл cmPgSqlTarget.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>cmPgSqlTarget</ReadTargetId>
<WriteTargets>
<TargetId>cmPgSqlTarget</TargetId>
</WriteTargets>
<AccessControl>
<!-- <CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" /> -->
</AccessControl>
</Application>- в секции
Targets
добавьте новый элемент:
<Targets>
<Target Id="cmPgSqlTarget" Type="pgsql"/>
</Targets>- в секции
Возможности Syslog ограничены только записью событий (WriteTargets
). В примере дополняется конфигурация из примера с PostgreSQL.
В каталоге C:\inetpub\wwwroot\ls\targetConfigs отредактируйте файл cmSysLogTarget.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>cmPgSqlTarget</ReadTargetId>
<WriteTargets>
<TargetId>cmPgSqlTarget</TargetId>
<TargetId>cmSysLogTarget</TargetId>
</WriteTargets>
<AccessControl>
<!-- <CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" /> -->
</AccessControl>
</Application>
</Applications>- в секции
Targets
добавьте новый элемент:
<Targets>
<Target Id="cmPgSqlTarget" Type="pgsql"/>
<Target Id="cmSysLogTarget" Type="syslog"/>
</Targets>- в секции
Чтобы сохранить изменения, перезапустите пул приложений IIS:
- Откройте Диспетчер служб IIS (Internet Information Services Manager) и в левом меню выберите Пул приложений IIS (Application pools).
- Выберите приложение IndeedCM Event Log Proxy и в правом меню нажмите Перезапуск (Recycle).
Настройка Indeed CM для работы с единым журналом событий
- ОС Windows
- OC Linux
- Запустите Мастер настройки Indeed CM:
- Откройте браузер и перейдите по адресу
https://<FQDN сервера Indeed CM>/cm/wizard
. - Введите код в поле Код аутентификации и нажмите Войти.
- Откройте браузер и перейдите по адресу
- Перейдите в раздел Журнал событий.
- Нажмите Включить Event Log Proxy, если для единого журнала событий используется приложение Event Log Proxy:
- в поле URL подключения к Event Log Proxy укажите URL сервиса Event Log Proxy
https://<FQDN сервера>/cm/eventlogroxy
, - в поле Имя сервисной учетной записи укажите имя пользователя для подключения к сервису eventlogproxy (из секции
authorization
файла Web.config приложения Event Log Proxy).
- в поле URL подключения к Event Log Proxy укажите URL сервиса Event Log Proxy
- Выберите Использовать Log Server, если единый журнал событий настроен через приложение Indeed Log Server, и укажите URL подключения к Log Server – URL сервиса Indeed Log Server
https://<FQDN сервера>/ls/api
. - Перейдите в раздел Подтверждение и нажмите Применить.
- Примените настройки на сервере Indeed CM:
- Откройте консоль Powershell от имени администратора.
- Перейдите в директорию C:\inetpub\wwwroot\cm\wizard\configs.
- Запустите Powershell-скрипт
deploy_configuration.ps1
:
Если в инфраструктуре развернуто несколько серверов Indeed CM, примените файлы конфигурации на каждом сервере..\deploy_configuration.ps1
В целях безопасности рекомендуется отключить веб-приложение Мастер настройки Indeed CM после завершения конфигурации системы.
- Откройте Диспетчер служб IIS (Internet Information Services Manager).
- В левом меню выберите Пулы приложений (Application Pools).
- В списке Пулы приложений (Application Pools) выберите IndeedCM Wizard.
- В меню Действия (Application Pools Tasks) в правой части окна Диспетчера служб IIS выберите Остановить.
- Перейдите в Консоль управления Indeed CM в браузере и выполните поиск в разделе Журнал.
Ожидаемый результат: отсутствие каких-либо ошибок.
Поиск в журнале может не дать результатов, если журнал на удаленном сервере не содержит никаких событий. Выполните в веб-приложениях системы любое действие, результат которого записывается в журнал. Например, выключите устройство, добавьте или измените комментарий и повторите поиск событий.
- Запустите Мастер настройки Indeed CM:
- Откройте браузер и перейдите по адресу
https://<FQDN сервера Indeed CM>/cm/wizard
. - Введите код в поле Код аутентификации и нажмите Войти.
- Откройте браузер и перейдите по адресу
- Перейдите в раздел Журнал событий.
- Нажмите Включить Event Log Proxy, если для единого журнала событий используется приложение Event Log Proxy:
- в поле URL подключения к Event Log Proxy укажите URL сервиса Event Log Proxy
https://<FQDN сервера>/cm/eventlogroxy
, - в поле Отпечаток сертификата укажите отпечаток клиентского сертификата, который предъявляет сервер Indeed CM для подключения к Event Log Proxy (из секции
appSettings
файла Web.config приложения Event Log Proxy).
- в поле URL подключения к Event Log Proxy укажите URL сервиса Event Log Proxy
- Выберите Использовать Log Server, если единый журнал событий настроен через приложение Indeed Log Server и укажите URL подключения к Log Server – URL сервиса Indeed Log Server
https://<FQDN сервера>/ls/api
. - Перейдите в раздел Подтверждение и нажмите Применить.
- Примените настройки на сервере Indeed CM:
- Откройте эмулятор терминала.
- Перейдите в директорию /opt/indeed/cm/wizard/configs.
- Убедитесь, что файл скрипта имеет права на исполнение, и запустите bash-скрипт
deploy_configuration.sh
:
Если в инфраструктуре развернуто несколько серверов Indeed CM, примените файлы конфигурации на каждом сервере.sh ./deploy_configuration.sh
В целях безопасности рекомендуется отключить веб-приложение Мастер настройки Indeed CM после завершения конфигурации системы.
- Откройте эмулятор терминала.
- Выполните команду:
sudo systemctl stop cm-wizard.service
- Перейдите в Консоль управления Indeed CM по адресу
https://<FQDN сервера Indeed CM>/cm/mc
и выполните поиск в разделе Журнал.
Ожидаемый результат: отсутствие каких-либо ошибок.
Поиск в журнале может не дать результатов, если журнал на удаленном сервере не содержит никаких событий. Выполните в веб-приложениях системы любое действие, результат которого записывается в журнал. Например, выключите устройство, добавьте или измените комментарий и повторите поиск событий.