Компонент Indeed Log Server позволяет записывать события со всех серверов Рутокен KeyBox в единый журнал Windows Event Log, СУБД Microsoft SQL Server, PostgreSQL Server, SysLog Server.
Установка Indeed Log Server
- Выполните вход на рабочую станцию с правами локального администратора.
- Запустите Indeed.LogServer.msi из каталога Indeed.Log.Server дистрибутива системы и выполните его установку следуя указаниям Мастера.
- Из каталога Indeed.Log.Server cкопируйте файлы:
- В каталог C:\inetpub\wwwroot\ls cкопируйте cmSchema.config.
- В каталог C:\inetpub\wwwroot\ls\targetConfigs cкопируйте cmEventLogTarget.config, cmMsSqlTarget.config, cmPgSqlTarget.config и cmSysLogTarget.config.
Настройка чтения и записи событий в Windows Event Log
Перейдите в каталог 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
>
- Сохраните изменения и закройте файл конфигурации.
Настройка чтения и записи событий в MS SQL
База для хранения данных Indeed Log Server создается вручную, а её наполнение происходит автоматически.
- Создайте базу данных в среде SQL Management Studio с произвольным именем:
- В окне Обозреватель объектов (Object Explorer) нажмите правой кнопкой мыши по вкладке Базы данных (Databases).
- Выберите Создать базу данных... (New Database...).
- Укажите Имя базы данных (Database name) например, LogServer.
В поле Владелец (Owner) определите владельца создаваемой базы.
Создайте (например, servicesql) или выберите любую внутреннюю учетную запись SQL, или учетную запись Active Directory (например, сервисную учетную запись для работы RutokenKeyBox: servicecm). Указанная учетная запись после создания базы будет обладать правами db_owner, public и будет использоваться системой для выполнения операций записи/чтения в базу данных.Сохраните созданную базу данных нажав ОК.
- Перейдите в каталог C:\inetpub\wwwroot\ls\targetConfigs и отредактируйте файл cmMsSqlTarget.config в соответствии с настройками ниже:
<Settings> … </Settings>:- Data Source - имя сервера Microsoft SQL Server или именованного экземпляра Microsoft SQL Server
- Database - имя базы данных (ILS)
- User Id - сервисная учётная запись для работы с базами данных Рутокен KeyBox
Password - пароль сервисной учётной записи
<
Settings
>
<
ConnectionString
>Data Source=MSSQL\SQLEXPRESS;Database=LogServer;User Id=servicesql;Password=P@ssw0rd</
ConnectionString
>
</
Settings
>
В случае использования именованного экземпляра Microsoft SQL Server значение параметра Server необходимо задавать в формате <имя сервера>\<имя экземпляра>.
<
Settings
>
<
ConnectionString
>Server=sql\Named instance; ... </
ConnectionString
>
</
Settings
>
Отредактируйте 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
>
- Сохраните изменения и закройте файл конфигурации.
Настройка чтения и записи событий в PostgreSQL
База для хранения данных Indeed Log Server создается вручную, а её наполнение происходит автоматически.
- В СУБД PostgreSQL (например, в среде pgAdmin) создайте базу данных:
- В окне Обозреватель (Browser) нажмите правой кнопкой мыши по пункту Базы данных (Databases).
- Выберите Создать (Create) > База данных... (Database...).
- На вкладке Общие (General) укажите произвольное название базы данных в поле База данных (Database), например, LogServer, выберите из списка Владелец (Owner) сервисную учетную запись, которая будет использоваться для подключения к базе данных (например, servicepg), и нажмите Сохранить (Save).
- Предоставление привилегий сервисной учётной записи на таблицы базы данных:
- Выделите созданную базу данных в списке и перейдите в меню Запросник (Query Tool) нажатием на кнопку
Введите текст запроса, указав в запросе имя учётной записи:
GRANT
ALL
PRIVILEGES
ON
ALL
TABLES
IN
SCHEMA
public
TO
"имя сервисной учётной записи без кавычек"
;
- В меню Запросник нажмите на кнопку Выполнить (Execute/Refresh) .
По умолчанию в PostgreSQL разрешены только локальные подключения к базам данных, поэтому для работы между различными серверами требуется настройка удалённого подключения к БД:
В каталоге PostgreSQL откройте конфигурационный файл pg_hba.conf.
Расположение файла pg_hba.conf
Для Windows —
C:\Program Files\PostgreSQL\<номер версии>\data
Для *nix —
/etc/postgresql/<номер версии>/main
В конце файла добавьте строку следующего типа:
CONNECTIONTYPE DATABASE USER ADDRESS METHOD
Где:
- CONNECTIONTYPE — тип подключения. Если указывается «host», будет использоваться подключение по TCP/IP.
- DATABASE — имя базы данных, для которой предоставляется доступ (ALL для доступа ко всем базам данных).
- USER — имя пользователя, для которого будет доступно подключение (ALL для доступа всех пользователей).
- ADDRESS — IP-адрес удалённого сервера RutokenKeyBox (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> для работы с файлом 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
- В каталоге 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> для работы с файлом 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
>
Файлы
cmEventLogTarget.config
cmMsSqlTarget.config
cmPgSqlTarget.config
cmSysLogTarget.config