Как установить и настроить сервер журналирования Kaspersky Thin Client на Linux
В этой статье мы разберем установку и настройку сервера журналирования для тонких клиентов Kaspersky Thin Client на основе веб-сервера Apache, развернутого на ОС Linux.
В примерах команд мы будем использовать версию Apache 2.4 и PHP 8 и настроим сервер так, чтобы получать журналы через TCP-порт 2020 и сохранять их в директорию /logs. После выполнения настроек тонкие клиенты смогут передавать журналы на сервер по адресу https://<IP-адрес сервера>:2020
Для своей инфраструктуры вы можете подобрать другие настройки.
В статье рассмотрены установка и настройка сервера журналирования на РЕД ОС 8 и Astra Linux 1.8.
Установка и настройка сервера журналирования на РЕД ОС 8
Шаг 1. Скачайте и установите веб-сервер Apache
- Перейдите в режим суперпользователя root:
su -
- Установите веб-сервер Apache:
dnf install httpd
- Запустите службу и добавьте ее в автозагрузку:
systemctl enable httpd --now
Шаг 2. Создайте TLS-сертификат
- Создайте корневой закрытый ключ:
openssl genpkey -algorithm RSA -out rootCA.key -aes-128-cbc
- Создайте открытый ключ:
openssl req -x509 -new -key rootCA.key -sha256 -days 365 -out rootCA.crtЗаполните запрашиваемые поля, чтобы завершить создание ключа.
- Создайте файл порядковых номеров для выпуска сертификатов:
echo 00 > rootCA.srl
- Создайте конфигурационный файл:
nano logserver.cnf
- Заполните созданный конфигурационный файл необходимыми параметрами в открывшемся окне редактора.
Пример заполнения:[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = RU
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Murom
localityName = Locality Name (eg, city)
localityName_default = Murom
organizationName = Organization Name (eg, company)
organizationName_default = RS
commonName = Common Name (eg, YOUR name or FQDN)
commonName_max = 64
commonName_default = logserver
[ req_ext ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = DNS:logserver - Создайте закрытый ключ:
openssl genpkey -algorithm RSA -out logserver.key
- Создайте запрос на сертификат:
openssl req -new -key logserver.key -config logserver.cnf -reqexts req_ext -out logserver.csrЗаполните запрашиваемые поля, чтобы завершить создание запроса.
- Создайте сертификат для сервера журналирования:
openssl x509 -req -days 365 -CA rootCA.crt -CAkey rootCA.key -extfile logserver.cnf -extensions req_ext -in logserver.csr -out logserver.crt
- Поместите сертификаты в необходимые директории. Для этого последовательно выполните команды:
mkdir /etc/ssl/privatecp rootCA.crt logserver.crt /etc/ssl/certscp logserver.key /etc/ssl/private
- Добавьте сертификат в системное хранилище. Для этого последовательно выполните команды:
cp rootCA.crt logserver.crt /etc/pki/ca-trust/source/anchors/update-ca-trustupdate-ca-trust extract
Шаг 3. Настройте веб-сервер Apache
- Установите пакет, необходимый для работы с сертификатами:
dnf install mod_ssl
- Отредактируйте файл конфигурации httpd.conf:
- Откройте файл в редакторе:
nano /etc/httpd/conf/httpd.conf
- Раскомментируйте строку и укажите имя сервера:
ServerName logserver
- Добавьте в конец файла строки:
LoadModule ssl_module modules/mod_ssl.so
Script PUT /logserver.php
Listen 2020
<VirtualHost *:2020>
DocumentRoot "/var/www/html/"
ServerName logserver:2020
ServerAdmin admin@example.com
SSLEngine on
SSLCertificateFile "/etc/ssl/certs/logserver.crt"
SSLCertificateKeyFile "/etc/ssl/private/logserver.key"
</VirtualHost>Замените admin@example.com на ваши данные.
- Откройте файл в редакторе:
- Отредактируйте файл конфигурации ssl.conf:
- Откройте файл в редакторе:
nano /etc/httpd/conf.d/ssl.conf
- Измените путь к открытой части сертификата:
SSLCertificateFile /etc/ssl/certs/logserver.crt
- Измените путь к закрытой части сертификата:
SSLCertificateKeyFile /etc/ssl/private/logserver.key
- Откройте файл в редакторе:
- Откройте TCP-порт 2020 для приема файлов журналов:
semanage port -a -t http_port_t -p tcp 2020
- Перезапустите службу httpd:
systemctl restart httpd
Шаг 4. Создайте директорию для сохранения журналов
- Cоздайте хранилище файлов журналов от тонких клиентов в корневом каталоге:
mkdir /logs
- Предоставьте необходимые права для работы с директорией. Для этого последовательно выполните команды:
chmod 755 /logschown apache:apache /logs
- Разрешите запись файлов в директорию /logs. Для этого последовательно выполните команды:
semanage fcontext -a -t httpd_sys_rw_content_t "/logs(/.*)?"restorecon -R /logs
Шаг 5. Установите PHP
- Установите PHP 8.1:
dnf install php
- Обновите PHP до версии 8.3. Для этого последовательно выполните команды:
dnf install php83-releasednf clean alldnf makecachednf update php*
Шаг 6. Настройте PHP
- Установите библиотеку libphp.so:
dnf install libphp.so
- Отредактируйте файл конфигурации 00-mpm.conf:
- Откройте файл в редакторе:
nano /etc/httpd/conf.modules.d/00-mpm.conf
- Закомментируйте строку:
LoadModule mpm_event_module modules/mod_mpm_event.so
- Раскомментируйте строку:
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
- Откройте файл в редакторе:
- Отредактируйте файл конфигурации 20-php.conf:
- Откройте файл в редакторе:
nano /etc/httpd/conf.modules.d/20-php.conf
- Закомментируйте все строки, кроме:
LoadModule php_module modules/libphp.so
- Откройте файл в редакторе:
- Создайте файл формата .php:
nano /var/www/html/logserver.php
- Заполните созданный файл в открывшемся окне редактора следующими данными:
<?php
$putdata = fopen("php://input", "r");
$request = $_SERVER['REQUEST_URI'];
$fileName = basename($request);
$filePath = "/logs/" . $fileName;
$fp = fopen($filePath, "w");
while ($data = fread($putdata, 1024)) {
fwrite($fp, $data);
}
fclose($fp);
fclose($putdata);
?> - Перезапустите службу httpd: systemctl restart httpd
Установка и настройка сервера журналирования на Astra Linux 1.8
Шаг 1. Скачайте и установите веб-сервер Apache
- Перейдите в режим суперпользователя root:
sudo -i
- Установите веб-сервер Apache:
apt install apache2
- Запустите службу и добавьте ее в автозагрузку:
systemctl enable apache2 --now
Шаг 2. Создайте TLS-сертификат
- Создайте корневой закрытый ключ:
openssl genpkey -algorithm RSA -out rootCA.key -aes-128-cbc
- Создайте открытый ключ:
openssl req -x509 -new -key rootCA.key -sha256 -days 365 -out rootCA.crtЗаполните запрашиваемые поля, чтобы завершить создание ключа.
- Создайте файл порядковых номеров для выпуска сертификатов:
echo 00 > rootCA.srl
- Создайте конфигурационный файл:
nano logserver.cnf
- Заполните созданный конфигурационный файл необходимыми параметрами в открывшемся окне редактора.
Пример заполнения:[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = RU
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Murom
localityName = Locality Name (eg, city)
localityName_default = Murom
organizationName = Organization Name (eg, company)
organizationName_default = RS
commonName = Common Name (eg, YOUR name or FQDN)
commonName_max = 64
commonName_default = logserver
[ req_ext ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = DNS:logserver - Создайте закрытый ключ:
openssl genpkey -algorithm RSA -out logserver.key
- Создайте запрос на сертификат:
openssl req -new -key logserver.key -config logserver.cnf -reqexts req_ext -out logserver.csrЗаполните запрашиваемые поля, чтобы завершить создание запроса.
- Создайте сертификат для сервера журналирования:
openssl x509 -req -days 365 -CA rootCA.crt -CAkey rootCA.key -extfile logserver.cnf -extensions req_ext -in logserver.csr -out logserver.crt
- Поместите сертификаты в необходимые директории. Для этого последовательно выполните команды:
cp rootCA.crt logserver.crt /etc/ssl/certscp logserver.key /etc/ssl/private
- Добавьте сертификат в системное хранилище. Для этого последовательно выполните команды:
cp rootCA.crt logserver.crt /usr/local/share/ca-certificates/update-ca-certificates --fresh
Шаг 3. Настройте веб-сервер Apache
- Подключите виртуальный хост и активируйте необходимые модули. Для этого последовательно выполните команды:
a2ensite default-ssla2enmod ssla2enmod actions
- Отредактируйте файл конфигурации default-ssl.conf:
- Откройте файл в редакторе:
nano /etc/apache2/sites-available/default-ssl.conf
- Измените значение SSLCertificateFile на /etc/ssl/certs/logserver.crt
- Измените значение SSLCertificateKeyFile на /etc/ssl/private/logserver.key
- Откройте файл в редакторе:
- Перезапустите службу apache2:
systemctl reload apache2
Шаг 4. Создайте директорию для сохранения журналов
- Cоздайте хранилище файлов журналов от тонких клиентов в корневом каталоге:
mkdir /logs
- Предоставьте необходимые права для работы с директорией. Для этого последовательно выполните команды:
chmod 755 /logschown www-data:www-data /logs
Шаг 5. Установите PHP
Установите PHP и libapache2-mod-php:
Шаг 6. Настройте PHP
- Создайте файл формата .php:
nano /var/www/html/logserver.php
- Заполните созданный файл в открывшемся окне редактора следующими данными:
<?php
$putdata = fopen("php://input", "r");
$request = $_SERVER['REQUEST_URI'];
$fileName = basename($request);
$filePath = "/logs/" . $fileName;
$fp = fopen($filePath, "w");
while ($data = fread($putdata, 1024)) {
fwrite($fp, $data);
}
fclose($fp);
fclose($putdata);
?> - Отредактируйте конфигурационный файл веб-сервера:
- Откройте файл в редакторе:
nano /etc/apache2/apache2.conf
- Добавьте в конец файла строки:
<Directory "/">
Script PUT /logserver.php
</Directory>
AstraMode off
- Откройте файл в редакторе:
- Отредактируйте конфигурационный файл 000-default.conf:
- Откройте файл в редакторе:
nano /etc/apache2/sites-enabled/000-default.conf
- Добавьте в конец файла строки:
<VirtualHost *:2020>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ServerName logserver:2020
SSLEngine on
SSLCertificateFile "/etc/ssl/certs/logserver.crt"
SSLCertificateKeyFile "/etc/ssl/private/logserver.key"
</VirtualHost>
- Откройте файл в редакторе:
- Отредактируйте конфигурационный файл ports.conf:
- Откройте файл в редакторе:
nano /etc/apache2/ports.conf
- Добавьте в конец файла строки:
<IfModule ssl_module>
Listen 2020
</IfModule>
- Откройте файл в редакторе:
- Перезапустите службу apache2:
systemctl reload apache2
Шаг 7. Настройте межсетевой экран при необходимости
Откройте TCP-порт 2020 для приема файлов журналов: