Одним из инструментов, повышающих уровень безопасности в ОС c ядром Linux, является подсистема аудита Audit Daemon. С ее помощью можно получить детальную информацию о всех событиях в системе: созданных, измененных или удаленных файлах, новых хранилищах, изменении политик и т.д.
Аудит не обеспечит дополнительную защиту, но предоставит подробные данные об уязвимостях системы безопасности, которые необходимо устранить. В этой статье рассмотрим особенности использования Audit Daemon.
Подсистема Audit Daemon интегрирована в ядро Linux, начиная с версии 2.6. Она проводит мониторинг критических системных событий безопасности в файлах и папках.
Вот несколько примеров таких событий:
Создание файла, любые изменения в нем, подключение к сети, отображение информации на дисплее – все эти процессы выполняются при помощи вызовов функций ядра ОС, которые принято называть «системными вызовами».
Когда приложение не использует в своих действиях вызовы ядра, оно способно взаимодействовать с другими файлами системы и с пользователем. Поэтому для отслеживания любого системного события достаточно перехвата всех вызовов. Как раз этим и занимается Audit Daemon.
При получении вызова от приложения в пользовательской области подсистема мониторинга проходит сквозь один из таких фильтров: пользователь, задача или завершение. Затем вызов проходит через фильтр исключения, который направляет его в Audit Daemon для последующего анализа в соответствии с правилами аудита.
Конечно, поддерживать все эти фильтры активными до тех пор, пока работает операционная система, дорого и крайне невыгодно. К примеру, только во время запуска Audit Daemon приложением выполняется около десятка тысяч системных вызовов. Потребуется много времени, чтобы полностью проанализировать регистр контроля. Поэтому фильтры в Audit Daemon отключены по умолчанию. Их можно активировать избирательно при помощи правил, которые определяют название системного вызова: его эффективность, пользователи, от имени которых были инициированы вызовы и т.д.
С помощью этой простой схемы, сисадмин может отслеживать все аспекты работы ОС (за исключением действий, вызванных компонентом ядра). Вот почему, при обнаружении системой какой-либо подозрительной активности, вызванной работой взломщика или вирусного ПО, обнаружить их и виновного при помощи Audit Daemon будет несложно.
Подсистема доступна всем версиям ОС, поэтому для установки требуется стандартный установочный пакет.
Для установки в Debian/Ubuntu необходимо использовать такую команду:
Sudo apt-get install auditd audispd-plugins
В дополнение к Audit Daemon устанавливаются утилиты для управления системой наблюдения и поиска отчетов в файлах регистра:
Изначально Audit Daemon неактивен и не реагирует на изменения файлов в системе. Чтобы система сообщала о любых действиях, нужно настроить программу.
Параметры системы содержатся в двух файлах. Первый файл называется auditd.conf и хранит инструменты службы мониторинга: отвечает за то, какие события фиксируются в определённый отрезок времени. Второй файл – audit.rules, включает правила и триггеры, которые используются программой при работе ОС. Сисадмин вносит в файлы коррективы, добавляет новые установки, а также редактирует действующие или удаляет устаревшие шаблоны.
Чтобы просмотреть инсталлированные шаблоны, нужно использовать команду auditctl –l. В случае невыполнения настроек, откроется пустая таблица. Чтобы активировать аудит конкретного файла, нужно прописать в строке команду:
auditctl -a command,action -S path=name_file -F perm=permission
Для создания, удаления и изменения правил аудита используется утилита auditctl. Существует три главных опции, которые принимает эта команда:
Можно использовать такие переменные для command, которые добавляются в список событий:
Это набор фильтров, позволяющих уточнять правила. Фактически, основными будут ввод и вывод, что дает возможность зарегистрировать сам факт обращения к системному вызову либо его успешное выполнение.
Следующий параметр команды «-а» – это последующие событие, которое происходит в ответ на действие. Их бывает два: «никогда» и «всегда». Первое событие не фиксируется в реестре аудита, второе – фиксируется.
Дальнейший параметр «-S», определяющий название системного вызова. Есть также необязательный параметр «-F», который предназначен для отметки дополнительных опций фильтрации событий.
К примеру, если пользователь желает вести хронику событий, использующихся в системном вызове «открытие», но в то же время хочет записывать только вызовы файлов в каталоге / etc, он должен воспользоваться следующим правилом:
auditctl -a exit,always -S open -F path=/etc/
Чтобы ускорить поиск, можно сделать так, чтобы в реестр попадали только те события, при которых файл открывается только на запись и изменение атрибутов:
auditctl -a exit,always -S open -F path=/etc/ -F perm=aw
Чтобы все внесенные изменения в установочные файлы Audit Daemon вступили в силу, нужно его перезагрузить при помощи команды:
/etc/init.d/auditd restart
Правила установлены, мониторинг состоялся, но как узнать о его результатах? Для этого существует утилита aureport. Все собранные данные хранятся в журнальных файлах/ var / log / audit /, а у папок действительно расширение .log. Нюанс состоит в том, что для уточнения результатов аудита нужно прописывать определенные команды, иначе в отчете будет отражена общая статистика такого вида:
Поэтому большинство юзеров пользуется дополнительными опциями (командами). Так, с помощью опции -au (или −−auth), можно получить отчет о попытках входа в систему:
Самый популярный фильтр – дата. За нее отвечают параметры «начало» и «конец», за которыми указываются дата и точное время. Например:
aureport --start 07/15/2008 01:05:18 --end 07/19/2018 030:42:12
Также довольно популярный фильтр – обзор «неудовлетворительных» процессов. К таковым относятся, например, неудачные попытки входа в учетную запись. Юзер может их прочитать, используя команду:
aureport -u --failed --summary –i
***
Подсистема Daemon Audit требует обширных знаний об операционной системе для установки и обработки файлов реестров. Для опытных пользователей – это мощное средство, которое поможет выявить ошибки и уязвимости в файлах ОС и обнаружить их источник.
09.10.2020
Подпишитесь на нашу рассылку и получите
свод правил информационной безопасности
для сотрудников в шуточных