CloudLite

8 (495) 784-61-39

Array
(
    [ELEMENT_CODE] => Utilita_Autrace_dlya_audita_processov_Linux
)

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Утилита Autrace для аудита процессов Linux

Инструкция по установке и применению утилиты autrace для проверки процессов на серверах ОС Linux.

Autrace представляет собой утилиту командной строки, запускающую программу с правилами аудита, до полного выполнения; autrace также добавляет правила аудита для отслеживания процесса и сохраняет информацию в файле /var/www/audit/audit.log.

Как установить

Утилита autrace включена в состав демона auditd.

Для установки следует использовать пакетный менеджер, например для Debian/Ubuntu:

apt-get install auditd audispd-plugins

На серверах CentOS демон auditd как правило уже предустановлен (пакеты audit and audit-libs).

Примеры использования

Синтаксис команды autrace выглядит так:

autrace -r <программа> <аргументы для программы>

Параметр -r - ограничивает сбор данных, нужные для аудита применения ресурсов процесса.

Утилита autrace показывает ошибку, если у вас есть какие-либо правила аудита.

Так, для контроля выполнения команды df, показывающей использование файловой системы, выполните:

autrace -r /bin/df -h

Все записи журнала, связанные с трассировкой, из файла журнала аудита выводятся при помощи утилиты ausearch, аргументы для которой указаны в последней строке:

Waiting to execute: /bin/df
Filesystem Size Used Avail Use% Mounted on
udev 225M 0 225M 0% /dev
tmpfs 49M 3.2M 46M 7% /run
/dev/mapper/ubuntu--vg-root 8.3G 2.1G 5.8G 27% /
tmpfs 245M 0 245M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 245M 0 245M 0% /sys/fs/cgroup
/dev/sda1 472M 154M 294M 35% /boot
tmpfs 49M 0 49M 0% /run/user/0
Cleaning up...
Trace complete. You can locate the records with 'ausearch -i -p 2566'

Выполните такую команду:

ausearch -i -p <id процесса>

Например:

ausearch -i -p 2596

Опция -i предназначена для интерпретации числовых значений, а опция -p – для передачи идентификатора процесса для поиска.

Вывод:

---- type=PROCTITLE msg=audit(07/25/2018 13:30:58.112:547) : proctitle=/bin/df -h type=PATH msg=audit(07/25/2018 13:30:58.112:547) : item=1 name=/lib64/ld-linux-x86-64.so.2 inode=272347 dev=fc:00 mode=file,755 ouid=root ogid=root rdev=00:00 nametype=NORMAL type=PATH msg=audit(07/25/2018 13:30:58.112:547) : item=0 name=/bin/df inode=283977 dev=fc:00 mode=file,755 ouid=root ogid=root rdev=00:00 nametype=NORMAL type=CWD msg=audit(07/25/2018 13:30:58.112:547) : cwd=/root type=EXECVE msg=audit(07/25/2018 13:30:58.112:547) : argc=2 a0=/bin/df a1=-h type=SYSCALL msg=audit(07/25/2018 13:30:58.112:547) : arch=x86_64 syscall=execve success=yes exit=0 a0=0x7fff9936f842 a1=0x7fff9936d898 a2=0x7fff9936d8b0 a3=0x5b3 items=2 ppid=2594 pid=2596 auid=root uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=pts0 ses=2 comm=df exe=/bin/df key=(null) ----

name - имя команды с выполненной трассировкой

cwd - актуальный рабочий путь, из которого происходил доступ к файлу

syscall - связанный системный вызов (execve - выполнение программы)

auid - идентификатор пользователя аудита

exe - двоичный файл, выполняющий действие над файлом.

Учтите, что auid выявляет исходного пользователя в системе. Другие поля могут показывать на другого пользователя, в данном случае все зависит от того, какой пользователь проводит действия.

Для создания отчета о деталях трассировки применяйте такую команду:

ausearch -p <id процесса> --raw | aureport -i -f

Опция -i предназначена для интерпретации числовых значений, опция -f – для сообщения о файлах и сокетах, а опция  --raw предсталяет собой формат для генератора отчетов aureport.

Например:

ausearch -p 2596 --raw | aureport -i -f

Пример отчета:


File Report

 ===============================================

# date time file syscall success exe auid event

===============================================

1. 07/25/2018 13:30:58 /bin/df execve yes /bin/df root 547

2. 07/25/2018 13:30:58 /etc/ld.so.cache open yes /bin/df root 548

3. 07/25/2018 13:30:58 /lib/x86_64-linux-gnu/libc.so.6 open yes /bin/df root 549

4. 07/25/2018 13:30:58 /usr/lib/locale/locale-archive open yes /bin/df root 550

5. 07/25/2018 13:30:58 /usr/share/locale/locale.alias open yes /bin/df root 551

6. 07/25/2018 13:30:58 /usr/share/locale/en_US/LC_MESSAGES/coreutils.mo open no /bin/df root 552

7. 07/25/2018 13:30:58 /usr/share/locale/en/LC_MESSAGES/coreutils.mo open no /bin/df root 553

8. 07/25/2018 13:30:58 /usr/share/locale-langpack/en_US/LC_MESSAGES/coreutils.mo open no /bin/df root 554

9. 07/25/2018 13:30:58 /usr/share/locale-langpack/en/LC_MESSAGES/coreutils.mo open yes /bin/df root 555

10. 07/25/2018 13:30:58 /proc/self/mountinfo open yes /bin/df root 556

11. 07/25/2018 13:30:58 /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache open yes /bin/df root 557
Если предположить, что действующая программа уже функционирует последнюю неделю - значит, в журналах аудита скопилось уже прилично информации. Для создания отчета исключительно для записей одного дня примените флаг -ts, укажите дату и время начала поиска:

ausearch -ts today -p <id процесса> --raw | aureport -i -f

Например:

ausearch -ts today -p 2596 --raw | aureport -i -f

Так вы получите возможность контролировать определенный процесс Linux с помощью инструмента autrace.


Не нашли ответа на Ваш вопрос? Напишите нам!

techsupport@cloudlite.ru - служба техподдержки

sales@cloudlite.ru - вопросы по услугам, оплате, документам и партнерству

partner@cloudlite.ru - партнерская программа