Где искать логи: обзор стандартных расположений в Linux и Windows
Друзья, мы с вами уже столько говорили про анализ логов, про их типы и форматы, что пора задаться самым практическим вопросом: а где они вообще лежат?
Когда я только начинал, самой большой проблемой было не то, что я не понимал лог, а то, что я не мог его найти. Где эта чёртова ошибка? В каком файле? В какой папке?
Сегодня я раз и навсегда разложу по полочкам, где искать логи в двух главных операционных системах — Linux и Windows. Это будет ваш личный шпаргалка-путеводитель.
Linux: священная папка /var/log
В Linux всё просто и сложно одновременно. Просто — потому что практически все логи лежат в одной директории. Сложно — потому что внутри этой директории может быть сотня файлов и поддиректорий.
Главный каталог
Запомните раз и навсегда: логи в Linux хранятся в /var/log/ . Это константа, которая не меняется десятилетиями. Если вы зашли на незнакомый Linux-сервер и хотите посмотреть логи — сначала идите сюда.
bash
ls -l /var/log/
Вы увидите десятки файлов и каталогов. Давайте разбираться, что есть что.
Системные логи (кто есть кто)
В зависимости от дистрибутива, имена файлов могут немного отличаться, но суть одна .
| Что ищем | Debian/Ubuntu | CentOS/RHEL | Назначение |
|----------|---------------|-------------|------------|
| Системный журнал | /var/log/syslog | /var/log/messages | Главный лог системы: ядро, сервисы, демоны |
| Авторизация | /var/log/auth.log | /var/log/secure | Входы в систему, sudo, SSH-подключения |
| Ядро | /var/log/kern.log | /var/log/kern.log | Сообщения ядра, драйверы, железо |
| Загрузка | /var/log/boot.log | /var/log/boot.log | Процесс загрузки системы |
| Планировщик | /var/log/cron.log | /var/log/cron | Выполнение заданий cron |
| Почта | /var/log/mail.log | /var/log/maillog | Почтовый сервер (postfix, sendmail) |
Бинарные логи (специальные)
Некоторые логи хранятся не в текстовом виде, а в бинарном. Их нельзя просто прочитать cat или less — нужны специальные команды .
| Файл | Что хранит | Как читать |
|------|------------|------------|
| /var/log/wtmp | История входов/выходов пользователей | last |
| /var/log/btmp | Неудачные попытки входа | last -f /var/log/btmp |
| /var/log/lastlog | Время последнего входа каждого пользователя | lastlog |
| /var/log/utmp | Кто сейчас в системе | who, w |
| /var/log/faillog | Детали неудачных входов | faillog |
Логи сервисов и приложений
Сервисы обычно создают свои поддиректории в /var/log/ и складывают логи туда .
Веб-серверы:
- Nginx: /var/log/nginx/access.log и error.log
- Apache: /var/log/apache2/ (Debian/Ubuntu) или /var/log/httpd/ (CentOS/RHEL)
Базы данных:
- MySQL/MariaDB: /var/log/mysql/error.log
- PostgreSQL: /var/log/postgresql/
Другие сервисы:
- Система печати: /var/log/cups/
- Межсетевой экран: /var/log/ufw.log (UFW), /var/log/firewalld (firewalld)
- Менеджер пакетов: /var/log/dpkg.log (Debian/Ubuntu), /var/log/yum.log (CentOS/RHEL)
- Аудит: /var/log/audit/audit.log
Новый мир: journald
В современных дистрибутивах с systemd появился journald — централизованная система логирования, которая хранит логи в бинарном формате и умеет делать много полезного .
Основная команда — journalctl. Вот как ей пользоваться:
```bash
Все логи
journalctl
Логи текущей загрузки
journalctl -b
Логи конкретного сервиса
journalctl -u nginx.service
Логи за последний час
journalctl --since "1 hour ago"
Логи ядра
journalctl -k
Следить за новыми сообщениями (как tail -f)
journalctl -f ```
Важно понимать: journald может хранить логи в памяти (тогда при перезагрузке они теряются) или на диске. Обычно они лежат в /var/log/journal/, но читать их оттуда напрямую нельзя — только через journalctl.
Windows: Event Log и его тайны
В Windows всё устроено иначе. Здесь главный инструмент — Просмотр событий (Event Viewer), а логи хранятся в специальных бинарных файлах с расширением .evtx .
Графический интерфейс (для людей)
Самый простой способ посмотреть логи — открыть Event Viewer :
- Нажмите
Win + R - Введите
eventvwr.mscи нажмите Enter
Откроется окно с тремя основными разделами :
Журналы Windows: - Application — логи приложений - Security — безопасность: входы, выходы, изменения прав - System — системные события: драйверы, службы, ошибки - Setup — установка и обновление компонентов - Forwarded Events — события с других машин
Журналы приложений и служб — здесь лежат логи конкретных программ и компонентов Windows.
Где лежат файлы (для автоматизации и криминалистики)
Если вам нужно скопировать логи или анализировать их автоматически, исходные файлы находятся здесь :
C:\Windows\System32\winevt\Logs\
В этой папке вы найдёте файлы .evtx:
Application.evtx— события приложенийSecurity.evtx— события безопасностиSystem.evtx— системные событияSetup.evtx— установка и обновления- И другие, например
Microsoft-Windows-Sysmon%4Operational.evtx(если установлен Sysmon)
Важно: Эти файлы заблокированы системой, пока она работает. Их нельзя просто скопировать стандартными средствами, если вы не останавливаете службу Event Log (что не рекомендуется). Для копирования используйте специальные утилиты или делайте это из другого окружения (например, загрузившись с LiveCD).
Ключевые Event ID
При анализе безопасности Windows полезно знать основные идентификаторы событий :
| Event ID | Что означает | |----------|--------------| | 4624 | Успешный вход в систему | | 4625 | Неудачная попытка входа | | 4634 | Выход из системы | | 4647 | Инициированный пользователем выход | | 4672 | Вход с супер-правами (например, администратор) | | 4720 | Создан пользователь | | 6005 | Служба Event Log запущена (сигнал загрузки) | | 6006 | Служба Event Log остановлена (сигнал выключения) |
Типы входа (Logon Types)
В событиях входа (4624) есть поле "Тип входа", которое показывает, как именно пользователь вошёл :
| Тип | Название | Описание | |-----|----------|----------| | 2 | Interactive | Локальный вход с клавиатуры | | 3 | Network | Доступ к сети (шары, принтеры) | | 4 | Batch | Запланированное задание | | 5 | Service | Служба, запущенная под учётной записью | | 7 | Unlock | Разблокировка рабочей станции | | 8 | NetworkCleartext | Сетевая аутентификация с открытым паролем (FTP) | | 9 | NewCredentials | Выполнение с другими учётными данными (RUNAS) | | 10 | RemoteInteractive | Удалённый рабочий стол (RDP) | | 11 | CachedInteractive | Вход с кэшированными учётными данными |
Сравнительная таблица: Linux vs Windows
| Что ищем | Linux | Windows |
|----------|-------|---------|
| Основное хранилище | /var/log/ | C:\Windows\System32\winevt\Logs\ |
| Формат | Текст (в основном) или бинарный (wtmp) | Бинарный .evtx |
| Как смотреть | cat, less, tail, grep | Event Viewer (eventvwr.msc) |
| Логи ядра/системы | syslog / messages / kern.log | System.evtx |
| Логи безопасности | auth.log / secure | Security.evtx |
| Логи приложений | /var/log/имя_сервиса/ | Application.evtx |
| Логи входа | wtmp, btmp, lastlog (бинарные) | Security.evtx (Event ID 4624/4625) |
| Система логирования | rsyslog/syslog-ng + journald | Event Log |
Полезные команды для быстрого поиска
Linux
```bash
Найти все файлы .log в системе
find / -name "*.log" 2>/dev/null
Показать последние 50 строк системного лога
tail -n 50 /var/log/syslog
Искать ошибки в логах за сегодня
grep -i error /var/log/syslog | grep "$(date +%b\ %d)"
Следить за логом в реальном времени
tail -f /var/log/nginx/access.log
Показать логи конкретного systemd-сервиса
journalctl -u ssh --since "2026-03-01" --until "2026-03-02" ```
Windows (командная строка)
```powershell
Просмотр последних 50 событий безопасности (требует прав администратора)
Get-EventLog -LogName Security -Newest 50 | Format-Table -AutoSize
Поиск событий с конкретным ID
Get-EventLog -LogName Security -InstanceId 4625 -Newest 100
Экспорт событий в CSV
Get-EventLog -LogName System -After (Get-Date).AddDays(-1) | Export-Csv C:\logs\system_export.csv ```
Что делать, если логов нет на стандартных местах
Иногда вы заходите на сервер, а в /var/log/ пусто или нет нужных файлов. Что делать?
1. Проверьте конфигурацию rsyslog
В Linux конфигурация логирования лежит в /etc/rsyslog.conf или /etc/rsyslog.d/ . Посмотрите, куда настроена запись.
2. Проверьте, использует ли система journald
Может быть, все логи только в journald, а на диск не пишутся . Тогда:
bash
journalctl --verify
3. Ищите по имени сервиса
bash
find / -name "*nginx*" 2>/dev/null
find / -name "*mysql*" 2>/dev/null
4. Проверьте права доступа
Может быть, файлы логов есть, но у вас нет прав их читать. Используйте sudo.
5. Windows: проверьте настройки аудита
В Windows по умолчанию не все события логируются. Нужно включить аудит через групповые политики или локальную политику безопасности .
Коротко: шпаргалка
Linux
Главный каталог: /var/log/
Система по умолчанию:
- Debian/Ubuntu: /var/log/syslog
- CentOS/RHEL: /var/log/messages
- Безопасность: /var/log/auth.log или /var/log/secure
Для продвинутых: journalctl
Windows
Главный каталог: C:\Windows\System32\winevt\Logs\
Графический интерфейс: eventvwr.msc
Ключевые файлы: Application.evtx, Security.evtx, System.evtx
Ключевые Event ID: 4624 (успешный вход), 4625 (неудачный вход)
Вместо заключения
Знание того, где лежат логи — это как знание, где в доме лежит аптечка. В обычное время это неважно, но когда случается беда, каждая секунда на счету.
Запомните главное:
- В Linux всё в /var/log/
- В Windows всё в Event Viewer (а файлы — в winevt\Logs)
Освоив эти два адреса, вы никогда не растеряетесь на незнакомом сервере. А дальше — дело техники и тех навыков анализа, о которых мы говорили в предыдущих статьях.