Назад | Перейти на главную страницу

Подозрительные записи журнала аудита SELinux Отказано в записи PHP-FPM - как расследовать?

Я нашел несколько записей /var/log/audit/audit.log, которые меня немного обеспокоили. SEAlert объясняет их так:

SELinux is preventing /usr/sbin/php-fpm from write access on the directory wwwuserhome.

Raw Audit Messages
type=AVC msg=audit(1439921831.7:6232): avc:  denied  { write } for  pid=10665 comm="php-fpm" name="wwwuserhome" dev="xvda1" ino=25877059 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:user_home_dir_t:s0 tclass=dir


type=AVC msg=audit(1439921831.7:6232): avc:  denied  { add_name } for  pid=10665 comm="php-fpm" name=".pki" scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:user_home_dir_t:s0 tclass=dir


type=AVC msg=audit(1439921831.7:6232): avc:  denied  { create } for  pid=10665 comm="php-fpm" name=".pki" scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:user_home_dir_t:s0 tclass=dir


type=SYSCALL msg=audit(1439921831.7:6232): arch=x86_64 syscall=mkdir success=yes exit=0 a0=7f512952d040 a1=1f0 a2=ffffffffffffff60 a3=7fffc7beff00 items=0 ppid=12783 pid=10665 auid=4294967295 uid=1001 gid=1001 euid=1001 suid=1001 fsuid=1001 egid=1001 sgid=1001 fsgid=1001 tty=(none) ses=4294967295 comm=php-fpm exe=/usr/sbin/php-fpm subj=system_u:system_r:httpd_t:s0 key=(null)

Hash: php-fpm,httpd_t,user_home_dir_t,dir,write

А также:

SELinux is preventing /usr/sbin/php-fpm from write access on the directory .pki.

Raw Audit Messages
type=AVC msg=audit(1439921831.7:6233): avc:  denied  { write } for  pid=10665 comm="php-fpm" name=".pki" dev="xvda1" ino=25167629 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:user_home_dir_t:s0 tclass=dir


type=AVC msg=audit(1439921831.7:6233): avc:  denied  { add_name } for  pid=10665 comm="php-fpm" name="nssdb" scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:user_home_dir_t:s0 tclass=dir


type=SYSCALL msg=audit(1439921831.7:6233): arch=x86_64 syscall=mkdir success=yes exit=0 a0=7f512952d040 a1=1f0 a2=ffffffffffffff60 a3=7fffc7beff00 items=0 ppid=12783 pid=10665 auid=4294967295 uid=1001 gid=1001 euid=1001 suid=1001 fsuid=1001 egid=1001 sgid=1001 fsgid=1001 tty=(none) ses=4294967295 comm=php-fpm exe=/usr/sbin/php-fpm subj=system_u:system_r:httpd_t:s0 key=(null)

Hash: php-fpm,httpd_t,user_home_dir_t,dir,write

Что я об этом думаю:

  1. К счастью, SELinux блокирует это, он делает свое дело!
  2. Некоторые сценарии PHP пытаются выполнить запись в домашнюю папку веб-пользователя. Мне неизвестен реальный скрипт или плагин, который должен это делать. Конечно, ничего, связанного с PKI или NSSDB. На этом сервере нет сертификатов SSL / TLS.
  3. Предполагая с разумной уверенностью (поскольку все это было построено в этом году, обновлено, довольно хорошо защищено), что это не тот сценарий, который я установил для этой цели, я могу только предположить, что какой-то сценарий используется для попытки манипулировать моей системой . Я, конечно, не использую PHP для создания каталогов сам. Однако поиск в журналах Nginx и PHP-FPM событий вокруг этих временных меток журнала аудита не дает ничего странного.
  4. Grep на .pki или wwwuserhome в docroot и глубже не дает никакого жестко запрограммированного PHP, который пытается это сделать, поэтому он может быть введен через параметры URL или иным образом скрыт от меня посредством кодирования.

Итак, вопрос в том, что я могу сделать, чтобы более внимательно следить за этим и, в конечном итоге, найти файлы или даже функции, которыми управляют. И, конечно же, IP преступника.

Есть ли способ указать PHP более подробно вести журнал при выполнении определенных функций? Особенно системные вызовы и действия обработчика файлов.

Еще советы?