🧾 Проверка аудита журнала и контроля состояния journald
Эта инструкция предназначена для системных администраторов и аудиторов, чтобы проверить корректность работы systemd-journald:
сохранение логов, ротацию, защиту от переполнения и целостность журнала.
📑 Содержание
- Проверка состояния службы journald
- Проверка статистики и использования места
- Проверка применённых настроек journald
- Проверка механизма ротации
- Контроль защиты от переполнения
- Проверка целостности логов
- Проверка прав и доступа
- Проверка активности записи логов
- Анализ производительности journald
- Контрольный чек-лист аудитора
⚙️ Проверка состояния службы journald
Проверим, запущена ли служба и нет ли ошибок:
systemctl status systemd-journald
Что проверить:
Active: active (running)— служба работает;- нет ошибок
Failed to start,corruptedилиno space left on device; - время аптайма 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=persistent— логи сохраняются на диск;SystemMaxUseиSystemKeepFreeзаданы;MaxRetentionSecопределяет срок хранения.
💡 Если
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/*/
Убедись, что:
- владелец —
root; - группа —
systemd-journal; - права:
drwxr-sr-x.
Если обычный пользователь должен читать логи:
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
Вывод покажет:
- время запуска journald;
- есть ли ошибки в юните;
- не блокирует ли journald загрузку системы.
✅ Контрольный чек-лист аудитора
| Проверка | Команда | Ожидаемый результат |
|---|---|---|
| Служба активна | 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.