Как исключить определенных пользователей, группы или службы с помощью Auditd для аудита системных вызовов |

Как исключить определенных пользователей, группы или службы с помощью Auditd для аудита системных вызовов

Мануал

Продолжение статьи:

Как сделать исключения в auditd — аудит Linux

Вопрос

Мы используем стандартные правила STIG для проверки изменений времени с помощью syscall (например, так же, как и с grep ^-a.*time-change /usr/share/doc/audit-*/stig.rules, но, к сожалению, ntpd (или chronyd на более новых серверах) постоянно вызывает новые события аудита, поскольку он вносит изменения во времени.

Как мы можем исключить ntpd или chronyd из запуска этих правил аудита?

Ответ

Системный аудит – очень важная задача, которая должна быть частью каждого сервера.

Он позволяет нам проверять мелкие детали, связанные с тем, что именно происходит в системе.

auditd – это компонент пользовательского пространства для системы аудита Linux.

Это означает, что пользователи системы смогут запускать auditd для настройки правил и предупреждений для аудита функциональности с помощью системы Linux.

Одна из лучших вещей в Auditd заключается в том, что он тесно интегрирован с ядром, поэтому он дает нам возможность контролировать практически все, что мы хотим.

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

Возьмем простое правило syscall, как показано ниже:

-a always,exit -F arch=b64 -S clock_settime

Вышеприведенное правило может быть расширено условиями, чтобы ограничить его срабатывание. Например:

-F subj_type!=ntpd_t

Добавляя это к приведенному выше правилу, «whitelist» используют  clock_settime () любыми процессами, запущенными в домене SELinux ntpd_t.

-F auid!=timekeeper

Добавляя это к приведенному выше правилу, whitelists используют clock_settime () любыми процессами, принадлежащими пользователю (возможно, root), которые изначально вошли в систему как пользователь «timekeeper».

Обратите внимание, что существует много других имен полей правил, которые позволяют более конкретно определять пользователей, группы и различные компоненты контекста SELinux и объекта.

Дополнительную информацию см. На странице auditctl man.

# man auditctl

Примечание. Невозможно добавить исполняемый путь (например, -F path! = / Usr / sbin / ntpd) или имя команды / процесса в правило аудита syscall.

Примеры

Стандартные правила проверки времени STIG

# grep ^-a.*time-change /usr/share/doc/audit-*/stig.rules
-a always,exit -F arch=b32 -S adjtimex,settimeofday,stime -F key=time-change
-a always,exit -F arch=b64 -S adjtimex,settimeofday -F key=time-change
-a always,exit -F arch=b32 -S clock_settime -F a0=0x0 -F key=time-change
-a always,exit -F arch=b64 -S clock_settime -F a0=0x0 -F key=time-change

Чтобы позволить службам ntpd и chronyd изменять время без запуска событий аудита в системе, где SELinux находится в принудительном или разрешающем режиме, добавьте -F subj_type! = Ntpd_t в каждую строку, в результате чего:

-a always,exit -F arch=b32 -S adjtimex,settimeofday,stime -F subj_type!=ntpd_t -F key=time-change
-a always,exit -F arch=b64 -S adjtimex,settimeofday -F subj_type!=ntpd_t -F key=time-change
-a always,exit -F arch=b32 -S clock_settime -F a0=0x0 -F subj_type!=ntpd_t -F key=time-change
-a always,exit -F arch=b64 -S clock_settime -F a0=0x0 -F subj_type!=ntpd_t -F key=time-change

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий