Системы Linux записывают много информации в файлы логов.
Как правило, каждая установленная вами системная служба имеет свой собственный файл журнала или набор таких файлов.
Это в дополнение ко всем логам по умолчанию, которые генерируются, например, из dmesg, журнала загрузки, журнала менеджера пакетов и т.д.
В этих файлах часто можно увидеть тысячи записей за очень небольшой промежуток времени.
Хотя вся эта регистрация событий очень полезна для получения информации о том, что именно происходит в вашей системе (особенно при возникновении проблем), файлы журналов часто становятся огромными по размеру, и их становится очень сложно просмотреть каким-либо эффективным способом. Например, где-то в логах могут быть важные предупреждения, но вам не повезет найти их среди сотен других записей.
Это очень трудоемкая ручная работа.
Logwatch снимает это бремя с системного администратора, контролируя файлы журналов за вас.
Он будет следить за указанными вами файлами журналов, а затем уведомлять вас по электронной почте о появлении записей, которые могут потребовать вашего внимания.
Как только мы настроим Logwatch по своему вкусу, он будет проверять события, за которыми нам нужно следить, так что нам больше не нужно делать это вручную.
В этом руководстве мы рассмотрим пошаговые инструкции по установке и настройке Logwatch в системе Linux.
Ранее мы уже рассматривали этот инструмент:
- 🐧 Обзор средств мониторинга и управления логами с открытым исходным кодом для Linux
- 10 сборщиков логов с открытым исходным кодом для централизованного ведения журнала
Прежде всего нам нужно установить Logwatch, поскольку по умолчанию в Linux он не устанавливается.
К счастью, он доступен для установки через репозиторий стандартного программного обеспечения любого основного дистрибутива Linux.
Вы можете использовать соответствующую команду ниже, чтобы установить Logwatch с помощью менеджера пакетов вашей системы.
Чтобы установить Logwatch на Ubuntu, Debian и Linux Mint:
🐉 Разница между Ubuntu и Kali Linux
Чтобы установить Logwatch на Fedora, CentOS, AlmaLinux, Rocky Linux и Red Hat:
Чтобы установить Logwatch на Arch Linux и Manjaro:
При первоначальной установке Logwatch вам может быть предложено настроить параметры электронной почты.
Если это так, выберите тип почтового сервера, который вы хотите использовать, а также соответствующие настройки, например адрес электронной почты назначения, который будет использоваться Logwatch.
Как настроить Logwatch
Теперь, когда Logwatch установлен в нашей системе, давайте рассмотрим некоторые базовые настройки, чтобы начать использовать его для мониторинга файлов журналов.
Файл конфигурации по умолчанию для Logwatch находится по адресу /usr/share/logwatch/default.conf/logwatch.conf.
Вместо того чтобы вносить изменения непосредственно в этот файл, мы создадим его копию и применим наши правки к новому файлу.
Это гарантирует, что будущие обновления не перезапишут наши настройки.
Вот как скопировать файл в нужное место:
Затем с помощью nano или предпочитаемого вами текстового редактора откройте этот файл, чтобы мы могли начать вносить в него изменения:
Первая настройка, которую следует рассмотреть, – Output, и мы можем выбрать между stdout, mail и file.
Это позволит контролировать, будет ли вывод Logwatch отправляться в стандартный выход, по электронной почте или в файл, соответственно.
Конфигурация будет применяться следующим образом:
Output = stdout или Output = mail или Output = file
Выберите предпочтительный способ вывода, прежде чем переходить к другим настройкам.
Далее следуют настройки конфигурации почты.
Эти настройки понадобятся вам только в том случае, если вы настроили Output = mail в шаге выше.
MailTo = root MailFrom = Logwatch
Если на шаге 1 вы решили отправить вывод Logwatch в файл с помощью параметра Output = file, то вам нужно задать значение Filename, чтобы указать путь, по которому Logwatch должен сохранять свой вывод.
Filename = /tmp/logwatch
Еще один параметр, который нам нужно обязательно настроить, – LogDir.
Этот параметр указывает Logwatch, где хранятся файлы журналов, которые вы хотите отслеживать.
Мы можем использовать столько параметров LogDir, сколько захотим, если у нас есть несколько каталогов, которые Logwatch должен отслеживать для нас.
LogDir = /var/log LogDir = /some/other/log/path
Конечно, в этом конфигурационном файле присутствует и множество других настроек, но те, что упомянуты выше, являются одними из самых важных.
Не стесняйтесь самостоятельно читать конфигурационный файл, смотреть на приведенные примеры и вносить необходимые изменения по своему усмотрению.
Запуск Logwatch
Теперь, когда Logwatch настроен, мы можем использовать его, выполнив команду logwatch.
Мы также рекомендуем включить в команду некоторые опции, такие как –detail и –range, чтобы указать уровень детализации, который мы хотим видеть в выводе, и диапазон дат журналов для анализа, соответственно.
Даже просто запустив logwatch на нашей изолированной тестовой системе, мы увидим несколько интересных результатов.
Logwatch – это простая реализация, идеально подходящая для серверов и инфраструктур среднего размера, которым не требуется надежное решение для мониторинга, но при этом нужен способ оповещения персонала о важных событиях.
Если вам нужно что-то более продвинутое, обратите внимание на стек ELK и дополнительные методы мониторинга.
Конечно, в производственной системе с множеством пользователей и постоянным трафиком вы, скорее всего, будете получать гораздо больше сообщений каждый день.
Если вы хотите запускать logwatch по расписанию, вы можете настроить для этого cron:
Следующая запись cron будет запускать logwatch каждый день в полночь:
0 0 * * * logwatch --detail Low --range today
Затем проверьте настроенный каталог, в котором хранятся результаты Logwatch, чтобы увидеть, какие данные были пойманы.
Кроме того, если вы настроили опцию электронной почты, вы будете получать отчет Logwatch в свой почтовый ящик каждый день.
Заключение
В этом руководстве мы рассмотрели, как использовать Logwatch для базового мониторинга безопасности в системе Linux.
Это включало установку программы Logwatch, ее настройку под наши нужды и указание на файлы журналов, которые мы хотим отслеживать, и, наконец, ручное использование команды logwatch.
Мы также узнали, как настроить logwatch в cron, чтобы он выполнялся по регулярному расписанию.
Logwatch экономит администраторам много времени и позволяет легко выявлять проблемы безопасности, которые обычно приходится обнаруживать вручную.
см. также:
- 👀 Обнаружение изменений критических файлов на Linux с помощью Auditbeat и ELK
- ☸️ Проброс логов Kubernetes в Elasticsearch (ELK) с помощью Fluentbit
- 🔍 HELK – платформа для поиска угроз (Threat Hunting ) с открытым исходным кодом
- 📜 4 решения для обработки журналов и анализа безопасности SIEM на основе стека ELK
- 🖧 Как веб-сервер обрабатывает одновременные запросы на одном порту