Связаться по:
[email protected]

Блог о системном администрировании серверов и сайтов

Установка, настройка программного обеспечения Linux, Windows операционных систем

Аудит системных событий ОС Linux

Rate this post

Система аудита необходима для повышения безопасности ОС. Благодаря ей можно собрать всю информацию о событиях в системе. В целом система аудита не обеспечивает защиты, она собирает информацию о нарушениях безопасности, благодаря которой можно принять какие-то мероприятия. В данной статье рассмотрим систему аудита Linux.

Аудит Linux: принцип работы

Система аудита появилась в Linux с ядра 2.6. Её назначение следить за безопасностью системы и фиксировать все события. Пример событий:

  • включение выключение Linux
  • изменения доступа файлов
  • сетевые соединения
  • неудавшиеся авторизации
  • запуск остановка служб
  • системные вызова
  • др

Все события осуществляются через системные вызовы ядра. Для того что бы следить за событиями нужно перехватывать вызовы ядра. Этим и занимается система аудита.

audit-linux

Все обращения пропускаются через фильтры user, task или exit. Далее рассмотрим их подробно. Такая схема помогает легко  эффективно отслуживать все события.

Установка

Для установки системы аудита необходимо установить пакет auditd

В пакет входят демон и утилиты:

  • auditctl — управляет демоном auditd; с её помощью можно настраивать правила и следить за работой;
  • autrace — аудит событий которые вызваны процессами;
  • ausearch — поиск событий в лог файле;
  • aureport — создание отчетов.

Настройка

Все настройки выполняются в файле etc/audit/auditd.conf

  • log_file — путь к файлу где будут сохранены логи системы;
  • log_format — формат, сохранения информации в лог файл;
  • freq — число записей хранящиеся в буфере;
  • flush — как будут синхронизироваться буфер с диском (none — не синхронизировать, incremental — переносить периодически с частотой в параметре freq; data — моментальная синхроизация, sync — синхронизировать при сбросе на диск);
  • max_log_file — размер лог файла в Mb;
  • max_log_file_action — что делать если лог превысил предыдущее значение;
  • space_left — минимальный порог пространства, после чего сработает следующий параметр;
  • space_left_admin — что делать, когда на диске заканчивается место (ignore — игнорировать; syslog — писать в syslog, email — отправлять письмо; suspend — остановить запись; single — сменить на однопользовательский режим; halt — остановить систему)
  • disk_full_action — что делать если диск переполнен (значения такие же как space_left_admin).

Разработка правил

Для работы с правилами используется auditctl с опциями:

  • -l — показать все правила;
  • -а — создать новое;
  • -d — удалить правило;
  • -D — удалить все правила из списка.

Для создания правил используем команду

Варианты возможных списков:

  • task — события, вызванные новыми процессами;
  • entry — события, входа;
  • exit — события, выхода;
  • user — события, с параметрами пользователя;
  • exclude — события исключения.

Далее указываются действия, которые необходимо выполнить при том или ином событии: always (записать в журнал) и never (не писать).

После -S указывается имя которое перехватывается (open, close и т.п)

Опция -F параметры фильтра. Например будем сохранять события обращения к фалам в папке /etc

Можно использовать дополнительные фильтры. Например следить только за изменением атрибутов (a) и записью (w)

Файл правил

Правила задаются не только через командную строку, но и через файл etc/audit/audit.rules

Синтаксис файла, перечисление опций командной строки, пример файла:

Применение конфигурации произойдет после перезапуска auditd

aureport — анализ файлов аудита

Все логи сохраняются в папку /var/log/audit не очень понятном виде для человека. С помощью утилиты aureport их можно привести к понятному для восприятия виду.

При выполнении команды без параметров получим общую статистику

Показать информацию о системных вызовах

Входы в систему

Так же можно выводить инфо по дате

Также можно посмотреть инфо по любому пользователю

Ausearch — поиск по событиям

Для просмотра информации по номеру события используем команду

Autrace — Анализ процессов

Иногда нужно получить события по определенному процессу. Пример нужно проследить за процессом date и определить системные вызовы и файлы используемые им

В результате увидим:

При этом последняя строка предлагает команду для более детальной информации. Воспользуемся ей и выведем в понятный формат.

Результат команды:

Хранение логов

Для централизованного сбора и хранения логов можно воспользоваться audisp-remote устанавливается с помощью команды

Конфигурация хранится в папке /etc/audisp/plugins.d

Для удаленного хранения логов настраиваем в /etc/audisp/plugins.d/audisp-remote.conf

Для активации удаленного сохранения логов меняем active на yes. Затем в файле etc/audisp/audisp-remote.conf указываем remote_server IP адрес или имя удаленного сервера централизованных логов.

Что бы принимать логи с удаленных хостов в /etc/audit/auditd.conf необходимо добавить

Оставить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.