Я хочу отслеживать запуск процесса на El Capitan.
Darwin MaeLucirdosiMac.home 15.5.0 Ядро Дарвина Версия 15.5.0: Вт, 19 апреля, 18:36:36 PDT 2016; корень: xnu-3248.50.21 ~ 8 / RELEASE_X86_64 x86_64
Ниже моя конфигурация. Я добавил ,pc
к строке 2
bash-3.2# cat /etc/security/audit_control
#
# $P4: //depot/projects/trustedbsd/openbsm/etc/audit_control#8 $
#
dir:/var/audit
flags:lo,aa,pc
minfree:5
naflags:lo,aa
policy:cnt,argv
filesz:2M
expire-after:10M
superuser-set-sflags-mask:has_authenticated,has_console_access
superuser-clear-sflags-mask:has_authenticated,has_console_access
member-set-sflags-mask:
member-clear-sflags-mask:has_authenticated
bash-3.2 # '' '
Я могу запускать и останавливать службу с помощью launchctl, и pid изменяется, но я не могу его загрузить и выгрузить. Мне непонятно, нужно ли это.
bash-3.2# launchctl list |grep audit
- 0 com.apple.auditd
bash-3.2# launchctl unload -w /System/Library/LaunchDaemons/com.apple.auditd.plist
/System/Library/LaunchDaemons/com.apple.auditd.plist: Operation not permitted while System Integrity Protection is engaged
bash-3.2# launchctl start com.apple.auditd
bash-3.2# launchctl list |grep audit
5493 0 com.apple.auditd
bash-3.2# launchctl load -w /System/Library/LaunchDaemons/com.apple.auditd.plist
/System/Library/LaunchDaemons/com.apple.auditd.plist: service already loaded
bash-3.2# launchctl stop com.apple.auditd
bash-3.2# launchctl start com.apple.auditd
bash-3.2# launchctl list |grep audit
5500 0 com.apple.auditd
bash-3.2#
Однако мне ясно, что, несмотря на все перезапуски и процессы, которые я запускаю, в текущий журнал, похоже, ничего не записывается, что не является самой последней меткой времени и praudit
ничего не показывает о процессах.
bash-3.2# ls -trl /var/audit/
. . . .
-r--r----- 1 root wheel 125 Jun 20 18:16 20160620215442.20160620221602
-r--r----- 1 root wheel 250 Jun 20 18:17 20160620221602.20160620221734
-r--r----- 1 root wheel 250 Jun 20 19:16 20160620221734.20160620231602
-r--r----- 1 root wheel 125 Jun 20 19:17 20160620231602.20160620231733
-r--r----- 1 root wheel 250 Jun 20 20:16 20160620231733.20160621001602
-r--r----- 1 root wheel 125 Jun 20 20:17 20160621001602.20160621001734
-r--r----- 1 root wheel 250 Jun 20 21:16 20160621001734.20160621011602
-r--r----- 1 root wheel 125 Jun 20 21:17 20160621011602.20160621011733
-r--r----- 1 root wheel 125 Jun 20 21:18 20160621011733.20160621011807
lrwxr-xr-x 1 root wheel 40 Jun 20 21:18 current -> /var/audit/20160621011843.not_terminated
-r--r----- 1 root wheel 0 Jun 20 21:18 20160621011843.not_terminated
-r--r----- 1 root wheel 250 Jun 20 21:18 20160621011807.20160621011843
bash-3.2# praudit -l /var/audit/20160621011807.20160621011843
header,125,11,session start,0,Mon Jun 20 21:18:14 2016, + 120 msec,argument,1,0x0,sflags,argument,2,0x0,am_success,argument,3,0x0,am_failure,subject,-1,root,wheel,root,wheel,0,100118,0,0.0.0.0,return,success,0,trailer,125,
header,125,11,session end,0,Mon Jun 20 21:18:43 2016, + 771 msec,argument,1,0x0,sflags,argument,2,0x0,am_success,argument,3,0x0,am_failure,subject,-1,root,wheel,root,wheel,0,100118,0,0.0.0.0,return,success,0,trailer,125,
bash-3.2# praudit -l /var/audit/current
bash-3.2#
Как заставить аудит перечитывать файлы конфигурации?
Правильный способ сделать это - выгрузить и перезагрузить список auditd. Например:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.auditd.plist
sudo sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.auditd.plist
Но помните об уловке22 здесь, где El Capitan по умолчанию включен SIPS, поэтому вы получите:
/System/Library/LaunchDaemons/com.apple.auditd.plist: Operation not permitted while System Integrity Protection is engaged
Вам потребуется перезапустить, чтобы изменения правила аудита вступили в силу. Остановка и запуск демона запуска с помощью launchctl {stop,start} com.apple.auditd
не перечитывает audit_control
файл.