Background
Tengo un problema en mi servidor donde un agujero permite que los archivos PHP maliciosos se escriban en cualquier directorio de escritura mundial debajo de la raíz web. Actualmente no está causando ningún daño, ya que tengo todos estos directorios bloqueados para que no sirvan scripts PHP (o cualquier otra cosa a menos que sean imágenes / videos para algunos de ellos), y recibo un aviso por correo electrónico tan pronto como se cree algo en ellos, pero obviamente quiero arreglarlo.
Tomé varias medidas, como garantizar que las instalaciones de Joomla y Wordpress en el servidor estén actualizadas, pero aún así continúa. Hay un sitio cliente en el servidor que ejecuta una versión bastante antigua de un sistema de comercio electrónico, que sospecho que puede ser el culpable.
Pregunta
Así que configuré auditd
para monitorear todos estos directorios de escritura mundial, y espero que el problema vuelva a aparecer para recopilar algunos registros, pero ya tengo algunas entradas de registro para observar la actividad normal que se ha producido.
Es como sospechaba, y por supuesto, cuando un script PHP escribe en un archivo, todo lo que auditd
muestra para el exe es /usr/sbin/httpd
. Vea la salida de muestra a continuación. Es potencialmente posible tener una idea de de qué sitio proviene el problema según el CWD
, pero eso podría cambiarse y no es confiable. También sería útil saber el script específico.
Entonces, me pregunto si es posible que auditd
registre el nombre del script (edición: o quizás la pila de llamadas) que está generando la acción a través de /usr/sbin/httpd
, o algo parecido a esa información.
time- > Wed Nov 30 14:36:30 2016
type = PATH msg = audit (1480516590.911: 180239): item = 1 name="/ home / web / www.example.com / html / cache / example.php" inode = 539842913 dev = 08: 05 mode = 0100644 ouid = 48 ogid = 48 rdev = 00: 00 objtype = CREATE
type = PATH msg = audit (1480516590.911: 180239): item = 0 name="/ home / web / www.example.com / html / cache /" inode = 539833631 dev = 08: 05 mode = 040777 ouid = 634 ogid = 634 rdev = 00: 00 objtype = PADRE
type = CWD msg = audit (1480516590.911: 180239): cwd="/ home / web / www.example.com / html"
type = SYSCALL msg = audit (1480516590.911: 180239): arch = c000003e syscall = 2 success = yes exit = 36 a0 = 7f9baf272550 a1 = 241 a2 = 1b6 a3 = 9 ppid = 26483 pid = 30957 auid = 4294967295 uid = 48 gid = 48 euid = 48 suid = 48 fsuid = 48 egid = 48 sgid = 48 fsgid = 48 tty = (none) ses = 4294967295 comm="httpd" exe="/ usr / sbin / httpd"="write_to_open_web_directories"