Securizando PHP

 

securizando php

PHP es un lenguaje de programación orientado originalmente a la creación de páginas web dinámicas. Como bien sabemos, un hacker puede usar alguna vulnerabilidad de una aplicación PHP para realizar un ataque sobre nuestra web o en el peor de los casos sobre un servidor. A continuación te mostramos cómo securizar PHP. Cabe mencionar que existen muchas configuraciones distintas según el servidor, pero una configuración general podría ser la que veremos a continuación.

Para empezar a securizar PHP, necesitamos tener acceso root al servidor, o bien pedirle a la empresa que nos provee del hosting que lo haga por nosotros. Si se trata de un hosting reseller o compartido, seguramente PHP ya esté securizado (o al menos debería estarlo).

Nota: todas las modificaciones deben hacerse dentro del archivo php.ini del server, a no ser que se indique lo contrario. Recuerda que lo haces bajo tu propio riesgo.

1) Deshabilitar expose_php

expose_php es una variable que permite mostrar qué versión de PHP está instalada en el servidor en la cabecera HTML. Por ende debe ir desactivada, así un atacante no podrá conocer qué versión de PHP usas. Debemos desactivar la variable configurándola como se ve a continuación:

expose_php = Off

2) Deshabilitar funciones peligrosas

Hay algunas funciones que pueden llegar a suponer un riesgo para la seguridad del servidor. A no ser que alguna sean necesarias, deberían ser deshabilitadas las siguientes:

disable_functions ="system, system_exec, passthru, shell, shell_exec, exec, popen, pclose, proc_open, proc_nice, proc_terminate, proc_get_status, proc_close, pfsockopen, leak, apache_child_terminate, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, escapeshellcmd, escapeshellarg, phpinfo"

3) Deshabilitar session.use_trans_sid

Con la variable session.use_trans_sid resulta más fácil la programación de aplicaciones que usen sessiones. La desventaja es que cuando está activado puede llegar a ser usado para simular una sesión activa en el server. Para desactivarlo debe quedar así:

session.use_trans_sid = Off

4) Deshabilitar register_globals

register_globals no es una varible peligrosa, sino que lo peligroso es el uso inapropiado de ella, ya que inserta scripts con toda clase de variables, como por ejemplos las que proceden de formularios HTML. Se deshabilita de la siguiente forma:

register_globals = Off

5) Desactivar acceso a URL remotas en funciones de manejo de ficheros

Funciones como include, fopen o file_get_contents permiten, además de hacer llamadas a ficheros locales, llamar a ficheros vía URL, esto puede provocar graves errores de seguridad invocando a scripts maliciosos que se encuentran fuera de nuestro servidor y su ejecución remota. Para desactivar:

allow_url_fopen = Off

6) Safe Mode

Activar safe_mode implica que los scripts PHP únicamente pueden acceder a los ficheros que tienen como propietario el mismo que ellos. De este modo evitamos por ejemplo que tengan acceso de lectura a ficheros de sistema como /etc/passwd entre otros.

safe_mode = On

Efectivamente, esto puede ser un problema en el momento que necesitamos acceder a información generada por otros usuarios en el sistema (ficheros de otras aplicaciones por ejemplo). La solución es la siguiente:

safe_mode = Off
safe_mode_gid = On

Activamos safe_mode_gid en lugar de safe_mode, de modo que en lugar de revisar el usuario se revisa el grupo.

Otro punto a tener en cuenta con safe_mode es que no podremos ejecutar binarios. Únicamente aquellos que ubiquemos en el directorio especificado en la configuración:

safe_mode_exec_dir = /directorio

7) Visualización y registro de errores

display_errors = Off
log_errors = On
error_log = /ruta/fichero/log

Con estas tres directivas, evitamos que cualquier error o warning se muestre por pantalla y hacemos que se registren directamente en un log especificado.

8) Deshabilitar enable_dl

Esta variable se usa solamente en conjunto con el servidor web Apache. Sirve para activar o desactivar la carga dinámica de extensiones PHP con dl() por servidor virtual o directorio. Con la carga dinámica, es posible ignorar todas las restricciones open_basedir. Para desactivarla debe quedar como:

enable_dl = Off

Y eso sería todo. Recordemos que esto es una securización moderada de PHP, hay otras que pueden ser más agresivas pero a veces suelen complicarle las cosas a los programadores.

 

Anuncios

Tip rápido: Desconectarse de Internet con un sólo clic y volverse a conectar con un clic


InternetOff

Cuando estamos ocupados, necesitamos concentración, e Internet no ayuda mucho que digamos; acá hay mucha distracción en todo momento, desde que ingresamos a Google que vemos sus tan famosos Doodles, hasta pasar por redes sociales como Twitter o Facebook; para estar distraídos en este mundo, hay que ser fuertes, y tener mucha voluntad. Pero tranquilos, que existe la solución.

Evidentemente, la solución consiste en ser concentrados en lo de nosotros; pero como sé que nos cuesta mucho, entonces les presento una utilidad que me ha llamado la atención por su facilidad a la que nos somete, además de que es muy útil en ciertos casos. Se llama InternetOff, y su función básicamente es desconectarse de Internet con un sólo clic. Más fácil que el proceso normalmente.

¿Cuál es el proceso normal? Ir al Panel de control, buscar las conexiones de red, dar clic derecho, para posteriormente desconectarnos de Internet. Con InternetOff simplemente hacemos un clic, y nos podremos desconectar de Internet. Incluso, para volvernos a conectar podemos usar el mismo software, y programar un tiempo para que se conecte a la red, que podría ser 5 minutos, hasta 10.

El programa funciona en: Windows 7, Vista, XP, etc., y requiere de una instalación básica. Está en inglés, como se puede apreciar en la captura de pantalla de la parte superior. Una vez que está ya instalado, nos creará un icono en la barra de tareas (al lado del reloj) desde donde lo utilizaremos.

Sé que algunos usuarios me dirán que esta utilidad no tiene sentido pero es bueno conocer cosas como estas, porque realmente nos permiten hacer de las cosas tediosas un poco más llevaderas.

Enlace web | InternetOff

Crear iconos de alta calidad con tus imágenes usando ConvertICO – Herramienta web

ConvertICO

Los iconos, en todos los sentidos, nos permiten identificar con mayor facilidad algún tipo de web o programa, y es por ello su importancia. En mi caso, por ejemplo tengo mi barra de marcadores en mi navegador web (Google Chrome), desde donde tengo la mayoría de las páginas que visito con mayor frecuencia. ¿Cómo las identifico? Con los favicons (o iconos) que tienen cada página web.

Para seguir con esta idea, vean cómo es mi barra de marcadores en Google Chrome:

Mis marcadores

Pues bien, como webmaster que soy, y como aficionado a la personalización, siempre busco qué, o cómo, hacer iconos, crearlos. Hoy he encontrado un sitio web llamado ConvertICO, el mismo le permite al usuario crear iconos a partir de imágenes; es simple, sólo cargar la imagen (soporta un número limitado de imágenes: PNG, ICO, JPG, GIF o BMP). Luego clic en el botón “Convert Now”.

El sitio, como se puede observar en la captura anterior, está disponible sólo en inglés, pero con el hecho de saber que “Select the input file” es seleccionar el archivo de entrada. Es decir, el archivo que vas a convertir en formato de icono. ConvertICO es una excelente utilidad, basada en la web.

Enlace web | ConvertICO