rsyslog gtls не найден – ubuntu 24.04

Вопрос или проблема

Ubuntu is 24.04

Я пытаюсь настроить rsyslog для получения зашифрованных syslog-сообщений.

Я выполнил команду

apt install rsyslog-gnutls

Но, глядя в /usr/lib/x86_64-linux-gnu/rsyslog/
я не вижу файла gtls.so

Я вижу lmnsd_gtls.so, но не gtls.so

Поэтому при попытке запустить rsyslogd он показывает:

Feb 06 11:29:45 syslog-proxy rsyslogd[22861]: could not load module 'gtls', errors: trying to load module /usr/lib/x86_64-linux-gnu/rsyslog/gtls.so: /usr/lib/x86_64-linux-gnu/rsyslog/gtls.so: cannot open shared object file: No such file>

Он также жалуется:

error during parsing file /etc/rsyslog.conf, on or before line 16: parameter 'StreamDriverAuthMode' not known
error during parsing file /etc/rsyslog.conf, on or before line 16: parameter 'StreamDriverMode' not known
error during parsing file /etc/rsyslog.conf, on or before line 16: parameter 'StreamDriver' not known

Файл rsyslog.conf:

# Настроить шифрование с сертификатами

$DefaultNetstreamDriver gtls
$DefaultNetstreamDriverCAFile /etc/rsyslog/certs/rsyslog.crt
$DefaultNetstreamDriverCertFile /etc/rsyslog/certs/rsyslog.crt
$DefaultNetstreamDriverKeyFile /etc/rsyslog/certs/rsyslog.key

#### МОДУЛИ ####

module(load="imuxsock") # поддержка локального системного логгирования
module(load="imtcp")
module(load="gtls")        # Для шифрования TLS

# Включить TCP на порту 514 (незашифрованный) и другом порту для зашифрованного логгирования (например, 6514)
input(type="imtcp" port="514")
input(type="imtcp" port="6514" StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="anon")

# поддержка лога ядра и включение сообщений не от ядра
#module(load="imklog" permitnonkernelfacility="on")

###########################
#### ГЛОБАЛЬНЫЕ ДИРЕКТИВЫ ####
###########################

# Фильтровать дублирующие сообщения
$RepeatedMsgReduction on

#
# Установить права доступа по умолчанию для всех лог-файлов.
#
$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022

# Снижение привилегий до syslog после запуска
$PrivDropToUser syslog
$PrivDropToGroup syslog

#
# Куда помещать файлы очереди и состояния
#
$WorkDirectory /var/spool/rsyslog

#
# Включить все конфигурационные файлы в /etc/rsyslog.d/

####################################
# Обработка удаленных логов        #
####################################

$template remote-incoming-logs, "/var/log/remotehosts/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
&~

Вы можете увидеть параметры здесь. Они должны быть

input(type="imtcp" port="6514" StreamDriver.Name="gtls" StreamDriver.Mode="1" StreamDriver.AuthMode="anon")

хотя вам, вероятно, не нужно указывать Name, так как вы установили его по умолчанию.

Ответ или решение

Конечно, давайте рассмотрим вашу ситуацию в усложненном контексте. Вы пытаетесь настроить на Ubuntu 24.04 систему для приема зашифрованных системных журналов (syslog) с использованием rsyslog и модуля TLS. Проблемы, которые вы описываете, связаны с отсутствием правильного модуля и с ошибками в конфигурации rsyslog. Пожалуйста, следуйте подробным инструкциям для решения вашей проблемы.

Теория

Rsyslog — это система регистрации системных журналов для UNIX-подобных систем, которая поддерживает различные методы передачи данных, включая незащищённый и зашифрованный. GTLS (GnuTLS) используется для добавления слоя криптографической безопасности к syslog-соединениям, что позволяет шифровать данные при передаче. Важной частью настройки rsyslog для работы с GTLS является корректное подключение и загрузка необходимых модулей, а также правильная конфигурация параметров в файле /etc/rsyslog.conf.

Пример

В своей конфигурации вы заметили, что модуль gtls.so отсутствует, а вместо него присутствует lmnsd_gtls.so. Это может быть связано с изменениями в наименованиях или пути репозиториев пакетов, которые произошли в новой версии Ubuntu, которую вы используете. Ошибки конфигурации также подсказывают, что необходимо скорректировать синтаксис в вашем конфигурационном файле.

Следующий пример покажет, как вы можете проверить и исправить обе эти проблемы с помощью правильной установки и конфигурации:

  1. Установка необходимых пакетов:
    Убедитесь, что вы установили все необходимые пакеты. Пакет rsyslog-gnutls может иметь другой путь для библиотеки в зависимости от версии и сборки пакета.

    sudo apt update
    sudo apt install rsyslog rsyslog-gnutls
  2. Поиск и проверка модулей:
    Перейдите в директорию /usr/lib/x86_64-linux-gnu/rsyslog/ и убедитесь, какие именно модули там есть.

    ls /usr/lib/x86_64-linux-gnu/rsyslog/

    Если вы видите lmnsd_gtls.so, это может означать, что в вашей версии для TLS используется этот файл вместо ожидаемого gtls.so.

  3. Правка конфигурационного файла:

    Проверьте, чтобы конфигурация файла /etc/rsyslog.conf соответствовала синтаксису, поддерживаемому вашей версией rsyslog. Обратите особое внимание на использование точных названий параметров.

    $DefaultNetstreamDriverCAFile /etc/rsyslog/certs/rsyslog.crt
    $DefaultNetstreamDriverCertFile /etc/rsyslog/certs/rsyslog.crt
    $DefaultNetstreamDriverKeyFile /etc/rsyslog/certs/rsyslog.key
    
    module(load="imtcp")
    module(load="lmnsd_gtls") # Используйте модуль в наличии
    
    input(type="imtcp" port="6514" StreamDriver.Name="gtls" StreamDriver.Mode="1" StreamDriver.AuthMode="anon")

Применение

  1. Перезагрузка rsyslog:
    После внесения изменений в конфигурационный файл необходимо перезапустить службу rsyslog, чтобы она подхватила новые настройки.

    sudo systemctl restart rsyslog
  2. Проверка состояния службы:
    Убедитесь, что служба работает и ошибок нет.

    sudo systemctl status rsyslog
  3. Проверка логов:
    В случае возникновения ошибок в процессе перезагрузки rsyslog проверяйте файлы журналов в /var/log/syslog для получения дополнительной информации о возможных проблемах.

Если после выполнения вышеописанных шагов проблема остается нерешенной, возможно, стоит проверить наличие обновлений системы или рассмотреть переустановку rsyslog с нуля, а также проверить используемую версию и документацию. Ключевым аспектом решения таких вопросов всегда будет оставаться актуальная информация из логов и документация на используемую версию Ubuntu и rsyslog.

Удачи в настройке вашего зашифрованного syslog-сервера!

Оцените материал
Добавить комментарий

Капча загружается...