Hola a todos, en esta ocasión quisiera repasar 3 puntos importantes en la configuración de seguridad del archivo PHP.INI que muchos dejan de lado cuando administran sus servidores caseros. Hay varias clases y funciones que pueden ser desactivadas (y deben serlo, en caso de no requerirlas) con las opciones ‘disable_classes’ y ‘disable_functions’. Para indicar varias clases o funciones es importante que las separen con una coma ",". Estas son las funciones que son recomendables deshabilitar Funciones de PHP: proc_open() syslog() openlog() php_uname() leak() tmpfile() show_source() phpinfo() Funciones de Apache en PHP: virtual() apache_setenv() apache_get_modules() apache_get_version() apache_getenv() apache_note() apache_child_terminate() Funciones que se desactivaran automáticamente al usar modo seguro (‘safe_mode’): disk_free_space() proc_open() diskfreespace() exec() system() dl() passthru() proc_nice() shell_exec() popen() Http es un protocolo que no tiene un control sobre el esta y las conexiones no se mantienen activas, cuando el navegador manda una petición, el servidor responde y se cierra la conexión por lo tanto, el server no tiene idea si es el mismo usuario o otro el que hizo la petición. Para evitar esto, se hicieron las sesiones de PHP, estas agregan información a las peticiones de cada usuario (ID de sesión) facilitando al servidor la identificación de cada una de ellas. El problemas es que este método es vulnerable a varios tipos de ataque en los cuales un atacante puede conseguir este ID y hacerse pasar como un usuario legitimo PHP por defecto almacena estas sesiones temporalmente en la carpeta /TMP Lo ideal es guardar este tipo de información sensible en un lugar que este fuera del alcance publico, y para lograrlo bastaría con modificar las siguientes opciones // Cambiar de ubicación la carpeta de almacenamiento de sesiones session.save_path = /nueva/carpeta/de_sesiones // Indicarle a PHP que analice el referer para evitar que secuestren el ID de sesión session.referer_check = taringa.net // Indicamos que se muestren todos los errores y avisos: error_reporting = E_ALL // Impide que los usuarios puedan ver los errores - MUY IMPORTANTE display_errors = Off display_startup_errors = Off //activarla SOLO para depuración. // Hacemos que los errores se guarden en un archivo de registro log_errors = On // esta opcion hace que no se registren los errores que son repetidos ignore_repeated_errors = On // Si desean cambiar la ruta en donde se guarden los registros, lo hacen desde aquí error_log /ruta/nueva/para_los_logs Hay muchas otras cosas para tener en cuenta, pero estos son los errores más comunes que veo en los usuarios que me hacen una que otra consulta. Espero que este pequeño post les sirva y... sera hasta la proxima
Datos archivados del Taringa! original
85puntos
290visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos: