Inicio > Redes, Seguridad > SEGURIDAD EN HOSTINGS COMPARTIDOS

SEGURIDAD EN HOSTINGS COMPARTIDOS

1. EL PROBLEMA.

Uno de nuestros clientes tiene un servidor alojado en un hosting compartido de una empresa de USA. Su aplicación es el típico LAMP (linux+apache+mysql+php) que uno encuentra hoy en día en todas partes.

Pues bien, el problema es que, debido a un fallo en la validación de uno de los parámetros de entrada, es posible meterles sql-injection … y la web ha caído varias veces.

Y entonces, surge la pregunta, ¿qué puede hacer uno por securizar su aplicación en el caso de un hosting compartido?

2. POSIBLES SOLUCIONES.

Veamos las opciones que uno tendría normalmente y cómo afecta que sea un hosting compartido:

(1)instalar mod_security o Suhosin

Imposible. Mod_security es un módulo de apache y se necesita que la empresa que les alquila el hossting lo meta, lo cual puede resultar en problemas para otros clientes. Por otro lado, suhosin viene como parche para el php, que tampoco podemos aplicar por la misma razón.

(2) Hardening del php.ini

El php.ini que carga el LAMP al arrancar, localizado en /etc/php.ini, no lo podemos tocar, dado que tendría que ser el hosting quien lo haga. Podemos sugerirles que hagan cambios, pero siempre tienen la última palabra. Tenemos las manos atadas.

(3) Utilizar ini_set para redefinir algunas variables del php.ini

En php disponemos de la siguiente función:

string ini_set ( string $varname , string $newvalue )

Que lo que hace, explicado para que se entienda, es reasignar un valor a una variable definida en php.ini en tiempo de ejecución. El problema es que muchas de las variables, aunque las cambiemos, no tienen efecto, porque son cargadas y validadas antes de llamar a nuestro código. Veamos algunos ejemplos de variables intocables:

register_globals
magic_quotes_gpc
max_upload_size
[…]

Como vemos, las dos primeras son importantes para la seguridad de nuestro servidor.

(4) Utilizar .htaccess para re-definir algunas variables del php.ini

Aquí el problema es que necesitamos que el hosting haya permitido en la configuración del apache de nuestro VirtualServer las opciones AllowOverride Options o bien AllowOverride All. Si esto es así, podemos meter un ficherito .htaccess en nuestro public_html conteniendo las variables a cambiar, por ejemplo:

cat /var/www/html/public_html/.htaccess|grep filesize
upload_max_filesize = 2M

Pero de nuevo dependemos del hosting, y no es probable que nos lo permita.

Finalmente, la opción obvia:

(5) auditar todos los parámetros de entrada y asegurarse de que están convenientemente filtrados

Que, por supuesto, si se hace bien es perfecto … Pero no suele estar al alcance de todos.

3. CONCLUSIONES.

Como podéis imaginar, muchas empresas pequeñas tienen sus aplicaciones alojadas en hostings porque les supone un importante ahorro en costes. Es muy fácil encontrar ejemplos de estos. En estas aplicaciones no suelen encontrarse datos importantes, pero podemos injectar una shell y usar el servidor para alojar lo que nos apetezca (sirva de ejemplo pornografía infantil).

Por otro lado, la seguridad en estos casos es mucho más dicícil de mantener. Si las aplicaciones fueron desarrolladas hace años lo normal es que la configuración del php.ini tenga una seguridad mínima y, además, seguramente encontraremos alguna injección de código que nos permitirá hacernos administradores, subir una shell …

4. REFERENCIAS.

Seguridad en PHP
explicación básica hosting compartido
Seguridad en hostings compartidos: [1], [2], [3],[4]
hardened php proyect

Fuente | Auditoria de Seguridad para Empresas

Categorías:Redes, Seguridad Etiquetas: , , ,
  1. Johnd414
    30 junio 2014 a las 12:50

    I appreciate, cause I found just what I was looking for. You have ended my 4 day long hunt! God Bless you man. Have a nice day. Bye gadddfeecfdd

  1. 2 octubre 2014 a las 19:06

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: