Сервер логирования Journald

Материал из Rosalab Wiki
Перейти к: навигация, поиск

Сервер логирования Journald

Централизованный сервер логов может помочь с анализом событий на компьютерах в вашей инфраструктуре. Настроить их сбор с журналов можно разными способами, проверенный способ через rsyslog и новый сопособ с помощью journald. Journald входит в состав systemd.

Мы разберем использование journald. В качестве сервера и клиентов могут выступать различные системы на базе Linux.

В systemd предусмотрены специальные компоненты для решения этой задачи: systemd-journal-remote, systemd-journal-upload и systemd-journal-gatewayd.

Установка сервера логирования Journald

Для примера будем использовать 3 разных хоста:

  • rosaserver - это сервер логирования journald
  • rosaserver1 - это первый клиент (сервер/десктоп)
  • rosaserver2 - это второй клиент (сервер/десктоп)

Для работы потребуется пакет systemd-journal-gateway. Устанавливаем его на все 3 наших хоста.

dnf install systemd-journal-gateway

Настройка сервера логирования Journald

Разделим настройку на 2 части. В первой части настраивать будетм сам сервер с именем хоста: rosaserver

Во второй части настроим 2 наших клиента (сервера/десктопа) c именами хостов/ip: rosaserver1/192.168.1.111 и rosaserver2/192.168.1.232

Настройка systemd-jourunal-remote на сервере

Пропишем в /etc/hosts наши клиенты:

192.168.1.111    rosaserver1
192.168.1.232    rosaserver2

Все журналы с клиентов будут хранится в /var/log/journal/remote, создадим эту директорию:

mkdir -p /var/log/journal/remote

Дадим права на этут папку:

chown systemd-journal-remote:systemd-journal-remote /var/log/journal/remote

Создадим директорию для сертификата

mkdir /etc/pki/tls/ca
ln -s /etc/pki/tls/ca /etc/ssl/ca

Остальные директории и ссылки /etc/ssl/certs и /etc/ssl/private уже созданы.

Генерируем ключ сервера:

openssl req -newkey rsa:2048 -days 3650 -x509 -nodes -out /etc/ssl/ca/caserver.pem -keyout /etc/ssl/ca/caserver.key -subj '/CN=Certificate authority/'

Генерируем сертификаты для сервера. CN - SERVER должно совпадать с именем хоста сервера, в нашем случае /CN=rosaserver

openssl req -newkey rsa:2048 -nodes -out /etc/ssl/certs/rosaserver.csr -keyout /etc/ssl/certs/rosaserver.key -subj "/CN=rosaserver/"
openssl x509 -req -in /etc/ssl/certs/rosaserver.csr -CA /etc/ssl/ca/caserver.pem -CAkey /etc/ssl/ca/caserver.key -out /etc/ssl/private/rosaserver.pem

Генерируем сертификаты для клиента 1. CN - CLIENT должно совпадать с именем хоста клиента, в нашем случае /CN=rosaserver1

openssl req -newkey rsa:2048 -nodes -out /etc/ssl/certs/rosaserver1.csr -keyout /etc/ssl/certs/rosaserver1.key -subj "/CN=rosaserver1/"
openssl x509 -req -in /etc/ssl/certs/rosaserver1.csr -CA /etc/ssl/ca/caserver.pem -CAkey /etc/ssl/ca/caserver.key -out /etc/ssl/private/rosaserver1.pem

Генерируем сертификаты для клиента 2. CN - CLIENT должно совпадать с именем хоста клиента, в нашем случае /CN=rosaserver2

openssl req -newkey rsa:2048 -nodes -out /etc/ssl/certs/rosaserver2.csr -keyout /etc/ssl/certs/rosaserver2.key -subj "/CN=rosaserver2/"
openssl x509 -req -in /etc/ssl/certs/rosaserver2.csr -CA /etc/ssl/ca/caserver.pem -CAkey /etc/ssl/ca/caserver.key -out /etc/ssl/private/rosaserver2.pem

Сгенерированные ключи и сертификаты для сервера уже лежат на месте. Остается скопировать ключи и сертификаты для клиентов.

Настройка systemd-journal-upload на клиентах

Пропишем в /etc/hosts наш сервер на обеих клиентах:

192.168.1.15    rosaserver

Создадим директорию для сертификата

mkdir /etc/pki/tls/ca
ln -s /etc/pki/tls/ca /etc/ssl/ca

Остальные директории и ссылки /etc/ssl/certs и /etc/ssl/private уже созданы.

Заходим еще раз на сервер. Копируем ключи и сертификаты для клиентов по ssh. scp /etc/ssl/ca/caserver.pem root@192.168.1.111:/etc/ssl/ca/ scp /etc/ssl/private/rosaserver1.pem root@192.168.1.111:/etc/ssl/private/ scp /etc/ssl/certs/rosaserver1.key root@192.168.1.111:/etc/ssl/certs/