A continuación se muestra un perfil de ejemplo que he creado para aplicaciones web, en el que tengo archivos / comandos limitados a los que puede acceder. Incluye perfiles para nginx, php-fpm and mysql
, no se permiten comandos, solo algunos directorios / archivos para acceso de lectura / escritura / flock y socket de red.
(El resto se encuentra en mi repositorio github )
/usr/bin/php-fpm {
#include <abstractions/base>
capability chown,
capability kill,
capability setgid,
capability setuid,
# Suppress the "DENY" error logs
deny /usr/bin/bash x,
/etc/php/** r,
/run/php-fpm/ r,
/run/php-fpm/php-fpm.* w,
/usr/bin/php-fpm mr,
/usr/lib/php/modules/* mr,
/var/html/{**,} r,
# logs
/var/log/ r,
/var/log/php*.log w,
# Web folders that need write access
/var/html/icy/{cache,logs,files,images,downloads}/{**,} rwk,
}
Ahora mismo creo que después de una explotación remota exitosa, el atacante solo puede afectar a la carpeta de la aplicación web y no puede comprometer más el sistema,
Entonces, mi pregunta es, ¿todavía hay una posibilidad para que el atacante salga de esto?
¿Y cómo?