systemadmin.es > LAMP y web > Seguridad en PHP: deshabilitar funciones

Seguridad en PHP: deshabilitar funciones

Funciones como system o shell_exec de PHP no se usan en las aplicaciones web por motivos de seguridad pero no por ello estas funciones dejan de estar disponibles. Si un atacante consigue ejecutar instrucciones PHP podría usarlas para comprometer el servidor. Mediante disable_functions podemos evitarlo.

Para ello solo debemos añadir la opción en el php.ini con el listado separado por comas de funciones que queremos que no se puedan ejecutar. Por ejemplo:

disable_functions = proc_open , popen, disk_free_space, diskfreespace, set_time_limit, leak, tmpfile, exec, system, shell_exec, passthru, phpinfo, ini_set

En el log de errores podremos encontrar un mensaje similar a este para cada función deshabilitada que se intente ejecutar:

Feb  5 08:20:01 inf01 php: PHP Warning:  ini_set() has been disabled for security reasons in /var/www/systemadmin.es/PlanesDeConquistarElMundo.class.php on line 514

One comment to “Seguridad en PHP: deshabilitar funciones”

  1. Toda seguridad adicional a nuestro sistema apache + php (común) es bienvenida. De igual forma, recomiendo usar el mod_security de apache ya que se encarga de proporcionarle un nivel de seguridad adicional a nuestro servidor web muy potente y personalizable.

    Un saludo,
    Alejandro Arco

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>