Аудит Unix
На Unix-системах существует множество инструментов для мониторинга событий
Syslog
Это стандартный механизм логирования в Unix-системах, включая Linux. Он используется для сбора логов от ядра, системных служб и приложений. Он был разработан в 1980-х годах и до сих пор широко используется. Поддерживается всеми Unix-системами.
Где хранятся логи:
/var/log/syslog
(общие системные логи)/var/log/auth.log
(логи аутентификации)/var/log/kern.log
(логи ядра)/var/log/messages
(логи системных сообщений, в некоторых дистрибутивах)
Настройка: Конфигурация syslog находится в
/etc/syslog.conf
или/etc/rsyslog.conf
(в современных системах).
Пример использования:
Copy
Это правило записывает все события аутентификации в файл
/var/log/auth.log
.
Auditd (Linux Audit Daemon)
Встроенный механизм аудита, который регистрирует события безопасности, такие как изменения файлов, входы пользователей и другие. Он перехватывает системные вызовы от приложений и пользователей, оценивает их по предопределенным правилам и записывает срабатывания в централизованный журнал.
Где хранятся логи: Логи хранятся в
/var/log/audit/audit.log
.Настройка: Конфигурация находится в
/etc/audit/auditd.conf
, а правила — в/etc/audit/rules.d/
.Пример использования:
bashCopy
Это правило отслеживает изменения в файле
/etc/passwd
.
OSquery
Инструмент с открытым исходным кодом, который позволяет выполнять SQL-запросы к операционной системе для мониторинга событий и состояния системы. Например, мониторинг запущенных процессов, открытых файлов и сетевых соединений.
Настройка: Конфигурация находится в
/etc/osquery/osquery.conf
Где хранятся логи: По умолчанию логи хранятся в
/var/log/osquery/
.
Основные возможности OSQuery
Мониторинг системы в реальном времени: OSQuery позволяет получать информацию о состоянии системы в режиме реального времени.
SQL-интерфейс: Использует SQL-подобный синтаксис для запросов к данным операционной системы.
Кросс-платформенность: Работает на Linux, macOS, Windows и других Unix-подобных системах.
Гибкость: Поддерживает множество таблиц, каждая из которых предоставляет доступ к определенным данным системы (например, процессы, файлы, сетевые соединения).
Основные команды OSQuery
Интерактивный режим:
После запуска можно выполнять SQL-запросы, например:
Режим демона:
Запускает OSQuery в фоновом режиме для сбора данных по расписанию.
Конфигурация OSQuery
Основной конфигурационный файл:
/etc/osquery/osquery.conf
Пример конфигурации:
jsonCopy
В этом примере:
Запрос
processes
выполняется каждые 60 секунд.Запрос
listening_ports
выполняется каждые 300 секунд.
OSQuery поддерживает событийные таблицы (event-based tables), которые могут отслеживать события в реальном времени. Например, таблица process_events
фиксирует события запуска и завершения процессов.
Чтобы залогировать кратковременные процессы, нужно использовать именно такие таблицы.
eBPF
eBPF (extended Berkeley Packet Filter) — это мощная технология в Linux, которая позволяет выполнять код на уровне ядра без необходимости его модификации. Она широко используется для мониторинга системы, анализа производительности и обеспечения безопасности. В контексте мониторинга безопасности eBPF позволяет перехватывать системные вызовы (syscalls), отслеживать процессы, файловые операции, сетевую активность и многое другое.
Основные возможности eBPF для мониторинга безопасности
Перехват системных вызовов (syscalls): eBPF позволяет отслеживать вызовы системных функций, таких как
open
,execve
,connect
и других.Мониторинг процессов: Отслеживание запуска и завершения процессов, а также их аргументов.
Файловые операции: Логирование операций с файлами (открытие, чтение, запись, удаление).
Сетевая активность: Анализ сетевых пакетов, подключений и трафика.
Безопасность: Обнаружение подозрительной активности, такой как выполнение необычных команд или доступ к критическим файлам.
Существует несколько программ и инструментов, использующих eBPF для логирования и мониторинга в Unix-системах.
Falco — это инструмент для мониторинга безопасности, который использует eBPF для отслеживания системных вызовов и событий в реальном времени. Он помогает выявлять подозрительное поведение в контейнерах и на хостах, предоставляя возможность настраивать правила для обнаружения аномалий.
Last updated