• Главная
  • Руководство по ведению журналов
  • Шифрование системного журнала с помощью TLS

Шифрование системного журнала с помощью TLS

На этой странице

  • Цель
  • Действия по шифрованию системного журнала с помощью TLS
  • - Создайте самоподписывающий сертификат
  • - Создайте сертификат для каждого компьютера
  • - Распространите сертификаты
  • - Настройте удаленный сервер для связи по протоколу TCP с использованием TLS
  • - Настройте клиентские компьютеры
  • - Используйте решение для управления журналами

Цель

Безопасное удаленное ведение журналов на серверах syslog с помощью шифрования с использованием TLS.

Трафик системных журналов можно зашифровать с помощью TLS/SSL, что обеспечивает взаимную аутентификацию между удаленным сервером и клиентами, тем самым предотвращая атаки типа "человек посередине". Ниже перечислены шаги, которые позволяют добиться этого.

Убедитесь в следующем:

  • На межсетевом экране и в сети открыт порт 6514 для исходящих подключений, поскольку он используется TLS для связи.
  • На клиентах и на удаленном сервере установлен gnuTLS, поскольку мы используем драйвер GTLS.
  • Ни при каких обстоятельствах третьи лица не имеют доступа к ключам сертификатов.

Действия по шифрованию системного журнала с помощью TLS

Создайте самоподписывающий сертификат

Ниже приведены шаги по созданию самоподписывающего сертификата с помощью gnuTLS на удаленном сервере syslog.

  • Сгенерируйте закрытый ключ с помощью этой команды:
  • certtool --generate-privkey --outfile ca-key.pem
  • Сделайте файл недоступным для всех, кроме пользователя root.
  • chmod 400 ca-key.pem
  • Используйте следующую команду для создания самоподписывающего сертификата ЦС:
  • certtool --generate-self-signed --load-privkey ca-key.pem --outfile ca.pem

Укажите необходимые сведения. Центр сертификации (ЦС) создан.

Создайте сертификат для каждого компьютера

  • Сгенерируйте закрытый ключ и сохраните его в файле key.pem.
  • certtool --generate-privkey --outfile key.pem --bits 2048
  • Создайте сертификат компьютера с помощью следующей команды. Имя файла request.pem зависит от компьютера. Например, если ваш компьютер - server1, файл может называться server1-request.pem.
  • certtool --generate-request --load-privkey key.pem --outfile request.pem
  • Подпишите сертификат компьютера, используя закрытый ключ центра сертификации, с помощью следующей команды:
  • certtool --generate-certificate --load-request request.pem --outfile cert.pem --load-ca-certificate ca.pem --load-ca-privkey ca-key.pem

    При необходимости укажите дополнительные сведения.

Распространите сертификаты

  • Следующие файлы необходимо скопировать на все серверы и клиентские компьютеры:
    • Копия файла ca.pem
    • Файл cert.pem
    • Файл key.pem

Создайте каталог на корневом сервере для хранения этих ключей.

Эти файлы должны быть недоступны ни одному пользователю, кроме пользователя root.

Настройте удаленный сервер для связи по протоколу TCP с использованием TLS

  • Создайте новый файл конфигурации /etc/rsyslog.d/logserver.conf с кодом, указанным ниже:
  • module(load="imuxsock") # local messages
    module(load="imtcp" # TCP listener
    StreamDriver.Name="gtls"
    StreamDriver.Mode="1" # run driver in TLS-only mode
    StreamDriver.Authmode="anon"
    )
    # make gtls driver the default and set certificate files global(
    DefaultNetstreamDriver="gtls"
    DefaultNetstreamDriverCAFile="https://www.manageengine.com/path/to/contrib/gnutls/ca.pem"
    DefaultNetstreamDriverCertFile="https://www.manageengine.com/path/to/contrib/gnutls/cert.pem"
    DefaultNetstreamDriverKeyFile="https://www.manageengine.com/path/to/contrib/gnutls/key.pem"
    )
    # start up listener at port 6514
    input( type="imtcp"
    port="6514"
    )

Настройте клиентские компьютеры

  • Создайте новый файл /etc/rsyslog.d/logclient.conf со следующим кодом:
  • global(
    DefaultNetstreamDriver="gtls"
    DefaultNetstreamDriverCAFile="https://www.manageengine.com/path/to/contrib/gnutls/ca.pem"
    DefaultNetstreamDriverCertFile="https://www.manageengine.com/path/to/contrib/gnutls/cert.pem"
    DefaultNetstreamDriverKeyFile="https://www.manageengine.com/path/to/contrib/gnutls/key.pem"
    )
    # set up the action for all messages action(
    type="omfwd"
    target="central.example.net"
    protocol="tcp"
    port="6514"
    StreamDriver="gtls"
    StreamDriverMode="1"
    # run driver in TLS-only mode StreamDriverAuthMode="x509/name"
    StreamDriverPermittedPeers="central.example.net"
    )

Это настроит систему на зашифрованную передачу системных журналов.

Используйте решение для управления журналами

EventLog Analyzer - комплексное решение для управления журналами, которое собирает, анализирует, сопоставляет, выполняет поиск и архивирует данные журналов с устройств по всей сети. Решение обеспечивает безопасность данных журналов при сборе и передаче за счет использования различных протоколов безопасности. Подробнее о EventLog Analyzer можно узнать здесь.

Что дальше?

Повысьте безопасность данных системного журнала с помощью EventLog Analyzer