🧾 Проверка аудита журнала и контроля состояния journald

Platform Category Tools

Эта инструкция предназначена для системных администраторов и аудиторов, чтобы проверить корректность работы systemd-journald:
сохранение логов, ротацию, защиту от переполнения и целостность журнала.


📑 Содержание


⚙️ Проверка состояния службы journald

Проверим, запущена ли служба и нет ли ошибок:

systemctl status systemd-journald

Что проверить:


💾 Проверка статистики и использования места

journalctl --disk-usage

Пример вывода:

Archived and active journals take up 512.0M on disk.

📊 Это реальный объём журналов на диске. Сравни с лимитом SystemMaxUse в /etc/systemd/journald.conf.


🧩 Проверка применённых настроек journald

systemd-analyze cat-config systemd/journald.conf

Показывает все текущие параметры, включая дефолтные и переопределённые. Полезно убедиться, что:

💡 Если Storage=volatile, создайте постоянный каталог:

sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journald

🔁 Проверка механизма ротации

Можно проверить работу встроенного механизма очистки вручную:

sudo journalctl --vacuum-time=7d

Удалит все записи старше 7 дней. Также можно ограничить размер:

sudo journalctl --vacuum-size=500M

Повтори journalctl --disk-usage — размер должен уменьшиться.


🚫 Контроль защиты от переполнения

Проверь, установлен ли лимит:

sudo systemd-analyze cat-config systemd/journald.conf | grep SystemMaxUse

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

journalctl -u systemd-journald | grep rotation -A3

🔐 Проверка целостности логов

Проверим, нет ли повреждённых файлов:

sudo journalctl --verify

Пример:

PASS: /var/log/journal/123abc/system.journal

Если есть ошибки — возможно, была некорректная перезагрузка или сбой диска.


🧱 Проверка прав и доступа

ls -ld /var/log/journal
ls -l /var/log/journal/*/

Убедись, что:

Если обычный пользователь должен читать логи:

sudo usermod -aG systemd-journal <username>

📡 Проверка активности записи логов

sudo journalctl -f

(аналог tail -f)

В другом терминале вызови, например:

sudo systemctl restart sshd

Если появляются новые строки — journald работает корректно.


🕓 Анализ производительности journald

Проверим, насколько быстро journald стартует и корректен ли юнит:

systemd-analyze blame | grep journal
systemd-analyze verify systemd-journald.service

Вывод покажет:


✅ Контрольный чек-лист аудитора

Проверка Команда Ожидаемый результат
Служба активна systemctl status systemd-journald active (running)
Логи сохраняются на диск journalctl --disk-usage > 0 и не переполнено
Настройки применены systemd-analyze cat-config Storage=persistent, лимиты заданы
Ротация работает journalctl --vacuum-time=7d Старые логи удалены
Целостность проверена journalctl --verify PASS
Права доступа корректны ls -ld /var/log/journal root:systemd-journal
Логи пишутся journalctl -f Новые события видны
Конфигурация корректна systemd-analyze verify systemd-journald.service Без ошибок

💡 Совет: Для автоматического аудита можно создать еженедельный скрипт, который выполняет эти проверки и записывает результат в файл /home/gis-audit/journal_audit_$(hostname)_$(date +%F).log.