El mar, 06-06-2017 a las 09:50 +0200, Marcos Michel Martinez Perez escribió: > Alguien sabe como se puede ejecutar desde PHP comandos linux que > requieran de permisos root, sin crear una brecha de seguridad en el > servidor?
Me parece que lo fundamental es que verifiques el dato que se entra (por ejemplo, datos entrados en un formulario). Por ahí empieza todo. Hay muchas funciones en PHP que te verifican el tipo de dato, por ejemplo las funciones ctype. Si la página ejecuta siempre el mismo comando, que ya tienes prefijado, por ejemplo $listado=system('ls /var/www/html',$retval); echo $retval; se supone que tengas claro lo que puede y no puede hacer. La página de la documentación de PHP5 en Debian, (file:///usr/share/doc/php-doc/html/security.filesystem.html) te dará ideas sobre cómo verificar lo que se entra, en aras de garantizar un poco más de seguridad a nivel de sistema. Limitar las opciones de ejecutar algo de modo que el usuario se vea obligado a seleccionar de un menú en lugar de entrar el comando a mano, te ayuda a saber de antemano con qué tienes que lidiar. Una seguridad adicional depende de quién está usando esa página php. Puedes verificar previamente la ip de acceso mediante algo como: $ipuser=getenv("REMOTE_ADDR"); y en dependencia de cuál es, permitir la ejecución o no. Podrías usar cookies para reforzar lo anterior, guardando el login del usuario. Si has creado un arreglo como $permitidos=array('perico'juana','anita'); podrías luego mediante un foreach ($permitido as $usuario=> $value) { if (value==$log) {$vale=0; break; } else {$vale=1;} } if ($vale!=0) { echo "sorry"; require('paginadeinicio.php'); exit; } autorizar o no el acceso a lo que haga esa página. Puedes adicionalmente limitar el acceso a la página a solo los usuarios que quieras autorizar, mediante un fichero .htpasswd en el directorio donde esté. El límite es tu imaginación. -- M.Sc. Alberto García Fumero Usuario Linux 97 138, registrado 10/12/1998 http://interese.cubava.cu Una conclusión es el punto en que usted se cansó de pensar. ______________________________________________________________________ Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. Gutl-l@jovenclub.cu https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l