Лабораторная работа "Регистрация системных событий" - efanov/mephi GitHub Wiki

Содержание

Цель

Научиться регистрировать и анализировать события с помощью системы Linux Auditing System.

Задачи

  • Изучить назначение, состав и возможности Linux Auditing System.
  • Научиться создавать правила.
  • Научиться искать информацию о событиях.

Обзор

Регистрация событий (также называемая аудитом) - важная задача по обеспечению информационной безопасности операционной системы.

Расположение файлов:

  • Конфигурационный файл демона auditd: /etc/audit/auditd.conf.
  • Правила аудита: /etc/audit/audit.rules, /etc/audit/rules.d/.
  • Плагины конфигурации: /etc/audit/plugins.d/.

Задание

Регистрация событий для файла

  1. Терминал пользователя. Вывести информацию о пользователе и создать тестовый файл в домашней директории пользователя:

    $ id
    uid=1001(user1) gid=1001(user1) groups=1001(user1) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
    $ pwd
    /home/user1
    $ touch file1
    
  2. Терминал администратора. Очистить правила аудита и создать правило для слежения за файлом пользователя:

    # auditctl -D
    No rules
    # auditctl -w /home/user1/file1 -p war -k user1_file1
    # auditctl -l
    -w /home/user1/file1 -p rwa -k user1_file1
    
  3. Терминал пользователя. Выполнить манипуляции с файлом:

    $ echo 'Hello, world!' > file1
    $ cat file1
    Hello, world!
    $ chmod 600 file1
    
  4. Терминал администратора. Вывести отчёт о событиях с файлами:

    # aureport --file -ts today -i --summary
    
    File Summary Report
    ===========================
    total  file
    ===========================
    ...
    5 file1
    
  5. Терминал администратора. Вывести отчёт о событиях с файлами:

    # aureport --file -ts recent 
    
    File Report
    ===============================================
    # date time file syscall success exe auid event
    ===============================================
    ...
    621. 04/14/2023 02:27:29 file1 257 yes /usr/bin/cat 1000 13052
    622. 04/14/2023 02:27:35 file1 268 yes /usr/bin/chmod 1000 13053
    623. 04/14/2023 02:27:38 file1 191 no /usr/bin/ls 1000 13054
    624. 04/14/2023 02:27:38 file1 192 yes /usr/bin/ls 1000 13055
    625. 04/14/2023 02:27:38 file1 191 no /usr/bin/ls 1000 13056
    
  6. Терминал администратора. Вывести данные о событии безопасности с файлом. Выполнить анализ события.

    # ausearch -a 13053
    ----
    time->Fri Apr 14 02:27:35 2023
    type=PROCTITLE msg=audit(1681428455.492:13053): proctitle=63686D6F64003630300066696C6531
    type=PATH msg=audit(1681428455.492:13053): item=0 name="file1" inode=1179669 dev=103:05 mode=0100664 ouid=1001 ogid=1001 rdev=00:00 obj=unconfined_u:object_r:user_home_t:s0 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0
    type=CWD msg=audit(1681428455.492:13053): cwd="/home/user1"
    type=SYSCALL msg=audit(1681428455.492:13053): arch=c000003e syscall=268 success=yes exit=0 a0=ffffff9c a1=55b8073a8500 a2=180 a3=fff items=1 ppid=5749 pid=5976 auid=1000 uid=1001 gid=1001 euid=1001 suid=1001 fsuid=1001 egid=1001 sgid=1001 fsgid=1001 tty=pts0 ses=3 comm="chmod" exe="/usr/bin/chmod" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="user1_file1"
    
  7. Терминал администратора. Вывести суммарный отчёт:

    # aureport
    
  8. Терминал администратора. Вывести отчёт о событиях аутентификации:

    # aureport --auth -ts recent
    
    Authentication Report
    ============================================
    # date time acct host term exe success event
    ============================================
    ...
    4. 04/14/2023 02:42:53 root localhost.localdomain tty4 /usr/bin/login no 13073
    5. 04/14/2023 02:43:46 root localhost.localdomain tty4 /usr/bin/login yes 13078
    6. 04/14/2023 02:44:19 user1 localhost.localdomain tty5 /usr/bin/login yes 13112
    7. 04/14/2023 02:44:26 user1 localhost.localdomain tty5 /usr/bin/login no 13135
    
  9. Терминал администратора. Вывести отчёт о событиях, связанных с действиями пользователей:

    # aureport --user -ts recent -i
    
    User ID Report
    ====================================
    # date time auid term host exe event
    ====================================
    ...
    86. 04/14/2023 02:49:29 user1 tty5 ? /usr/bin/login 13150
    87. 04/14/2023 02:49:29 user1 tty5 localhost.localdomain /usr/bin/login 13151
    
  10. Терминал администратора. Вывести отчёт о событиях, связанных с определённым пользователем:

    # ausearch --uid 1001 -ts recent
    ...
    ----
    time->Fri Apr 14 02:27:35 2023
    type=PROCTITLE msg=audit(1681428455.492:13053): proctitle=63686D6F64003630300066696C6531
    type=PATH msg=audit(1681428455.492:13053): item=0 name="file1" inode=1179669 dev=103:05 mode=0100664 ouid=1001 ogid=1001 rdev=00:00 obj=unconfined_u:object_r:user_home_t:s0 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0
    type=CWD msg=audit(1681428455.492:13053): cwd="/home/user1"
    type=SYSCALL msg=audit(1681428455.492:13053): arch=c000003e syscall=268 success=yes exit=0 a0=ffffff9c a1=55b8073a8500 a2=180 a3=fff items=1 ppid=5749 pid=5976 auid=1000 uid=1001 gid=1001 euid=1001 suid=1001 fsuid=1001 egid=1001 sgid=1001 fsgid=1001 tty=pts0 ses=3 comm="chmod" exe="/usr/bin/chmod" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="user1_file1"
    

Порядок защиты работы

Для защиты работы необходимо ответить на вопросы по теме работы.

Литература

  1. RHEL Audit System Reference
  2. https://man7.org/linux/man-pages/man8/auditd.8.html
  3. https://man7.org/linux/man-pages/man8/auditctl.8.html
  4. https://man7.org/linux/man-pages/man8/aureport.8.html
  5. https://man7.org/linux/man-pages/man8/ausearch.8.html