Компонент Indeed Log Server позволяет записывать события с одного или нескольких серверов Indeed Certificate Manager в единый журнал Windows Event Log, СУБД Microsoft SQL Server, PostgreSQL Server, SysLog Server.
Компонент устанавливается на одном из серверов Indeed CM или на отдельной рабочей станции (в домене или вне его). Системные требования для установки компонента совпадают с требованиями к серверу Indeed CM. |
Indeed Log Server поддерживает чтение событий только из одного хранилища (<ReadTargetId>), запись событий возможна одновременно в несколько хранилищ (<WriteTargets>). |
Для применения настроек после сохранения изменений в файлах необходимо перезапустить IIS. |
Перейдите в каталог 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 создается вручную, а её наполнение происходит автоматически.
В поле Владелец: (Owner:) определите владельца создаваемой базы.
Создайте (например, servicesql) или выберите любую внутреннюю учетную запись SQL, или учетную запись Active Directory (например, сервисную учетную запись для работы Indeed CM: servicecm). Указанная учетная запись после создания базы будет обладать правами db_owner, public и будет использоваться системой для выполнения операций записи/чтения в базу данных. |
Сохраните созданную базу данных нажав ОК.
Password - пароль сервисной учётной записи
<Settings> <ConnectionString>Data Source=MSSQL\SQLEXPRESS;Database=LogServer;User Id=servicesql;Password=P@ssw0rd</ConnectionString> </Settings> |
В случае использования именованного экземпляра Microsoft SQL Server значение параметра Server необходимо задавать в формате <имя сервера>\<имя экземпляра>.
|
Отредактируйте C:\inetpub\wwwroot\ls\clientApps.config для работы с файлом cmMsSqlTarget.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 создается вручную, а её наполнение происходит автоматически.
Введите текст запроса, указав в запросе имя учётной записи:
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO "имя сервисной учётной записи без кавычек"; |
По умолчанию в PostgreSQL разрешены только локальные подключения к базам данных, поэтому для работы между различными серверами требуется настройка удалённого подключения к БД:
В каталоге PostgreSQL откройте конфигурационный файл pg_hba.conf.
Для Windows — Для *nix — |
В конце файла добавьте строку следующего типа:
CONNECTIONTYPE DATABASE USER ADDRESS METHOD |
Где:
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 |
Password - пароль сервисной учётной записи
<Settings> <ConnectionString>Host=SRV-POSTGRESQL;Port=5432;Database=LogServer;Username=servicepg;Password=P@ssw0rd</ConnectionString> </Settings> |
В файле C:\inetpub\wwwroot\ls\clientApps.config отредактируйте секцию <Application> для работы с файлом cmPgSqlTarget.config – добавьте новый 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> |
В том же файле отредактируйте секцию <Target> для работы с файлом cmPgSqlTarget.config
<Targets> <Target Id="cmPgSqlTarget" Type="pgsql"/> </Targets> |
Возможности Syslog ограничены только записью событий (<WriteTargets>). В данном примере дополняется конфигурация из предыдущего примера с PostgreSQL. |
Protocol - тип подключения к Syslog серверу: UDP, TCP, TCPoverTLS.
SyslogVersion - опциональный параметр, спецификация протокола: RFC3164, RFC5424.
<Settings HostName="SRV-SYSLOG" Port="514" Protocol="UDP"/> |
В файле C:\inetpub\wwwroot\ls\clientApps.config отредактируйте секцию <Application> для работы с файлом cmSysLogTarget.config – добавьте новый 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> |
В том же файле отредактируйте секцию <Target> для работы с файлом cmSysLogTarget.config
<Targets> <Target Id="cmPgSqlTarget" Type="pgsql"/> <Target Id="cmSysLogTarget" Type="syslog"/> </Targets> |