Registrarse  |  Login




Advertisement

Start Your Own Q&A Site

Create your own Q&A site easily, allowing you to quickly grow a new community around any subject matter or generate new organic traffic for your existing website.

Pregunta

Estado: Cerrada Puntos: 75 Fecha 09:22 - May 07, 2007  

Juanjo

En un servicio web, ¿Qué aspectos hay que controlar para evitar problemas de seguridad?

Hola,
En un servicio web, con una base de datos (MySql), y desarrollado con un lenguaje de programación como php, ¿qué hay que vigilar respecto a la seguridad del mismo? Me explico: deseando realizar una aplicación "seria" y "estable", ¿qué hay que vigilar -a grandes rasgos -para que sea segura? Se me ocurren agujeros de seguridad de la base de datos o métodos del lenguaje, pero a parte de eso, ¿alguna otra cosa más?
Salu2 y Gracias!

Categorías

Respuestas
Tutoriales

 

poncho

Fecha:: May 07, 2007

Fecha: 10:08

Debes distinguir entre la seguridad de:
a) El gestor de bases de datos (MySQL)
b) El servidor web (probablemente apache)
c) La aplicación

Cada uno de estos puntos tiene diferentes implicaciones, pero a grandes rasgos serían:
a) Restringir el acceso al MySQL. Lo ideal sería que estuviese en una máquina dedicada y sin acceso directo desde el exterior. Por supuesto, usar contraseñas y no permitir conexiones más que desde los frontends que lo necesiten (la máquina en la que corra el servidor web)
b) Utilizar versiones actualizadas y parcheadas del servidor web y el PHP. Utilizar buenas prácticas de configuración como por ejemplo no permitir los listados de directorios.
c) La aplicación probablemente sea la parte más difícil de controlar. Es muy importante controlar las entradas de los usuarios para evitar caracteres extraños que puedan facilitar la inyección de SQL, así como la longitud de las entradas para evitar buffer overflows, etc...

Cada uno de estos puntos podría extenderse muchísimo. Si tienes dudas más concretas dilas, por favor.


gonzalo

Fecha:: May 07, 2007

Fecha: 12:26

Hay incontables enlaces para esto!!!

No te olvides de también hay que asegurar el Apache (o el server web).

Links:

Estos son un poco viejitos, pero te van a dar una noción básica:

Securing Apache: Step-by-Step: http://www.securityfocus.com/infocus/169...
Securing PHP: Step-by-Step: http://www.securityfocus.com/infocus/170...
Securing MySQL: step-by-step: http://www.securityfocus.com/infocus/172...

Este es un checklist: http://aymanh.com/checklist-for-securing...
Esta es un artículo (en 3 partes) que es espectacular en lo que a concejos sobre como escribir aplicaciones PHP seguras: Writing Secure PHP: http://www.ilovejackdaniels.com/php/writ...

Juanjo

Fecha:: May 07, 2007

Fecha: 14:50

Muchas Gracias por las respuestas.

#poncho:
En realidad necesitaba unas nociones básicas para comenzar a buscar por internet. En mi plan de diseño necesitaba pensar en todos esos aspectos que debo vigilar para poder implementar una aplicación medianamente segura, factores que desconozco debido a mi inexperencia en el tema. Mi pregunta ya ha sido contestada, pero si no les molesto te planteo dos más. ¿A qué te refieres con "evitar listados de directorios"? y por otra parte, a la hora de diseñar aplicaciones que sean escalables, ¿qué problemas de vulnerabilidad/inestabilidad se presentan cuando las cosas empiezan a tener un tamaño respetable? ¿Es necesario adoptar desde un principio algun conjunto de medidas para "curarse en enfermedad" en un futuro?

#gonzo:
Gracias por los enlaces. Necesitaba algo por donde comenzar, para luego profundizar en el tema. ¿Tienes algún otro enlace de la misma temática que consideres imprescindible?

PD: Es mi primera pregunta en quomon, y quizás las réplicas debí lanzarlas como cuestiones por separado y no en esta respuesta. Si es así indíquenmelo. Gracias

poncho

Fecha:: May 08, 2007

Fecha: 03:28

El listado de directorios es cuando se accede a un directorio publicado por el servidor web sin pasar por la página de inicio (index.htm) y el servidor muestra los nombres de los ficheros que contiene. Esto debería estar desactivado (http://help.hardhathosting.com/question....). Otra cosa a tener en cuenta, y relacionado con esto, es evitar que los clientes salgan del DocumentRoot y puedan navegar por todo el disco del servidor (por ejemplo mediante un enlace a otra parte del árbol de directorios).

La escalabilidad de las aplicaciones no debería ser problema si están bien diseñadas :) La aplicación debería ser la misma tanto para manejar una base de datos de 10 registros como de 10 millones. Donde debe facilitarse la escalabilidad es en la base de datos.

Los checklists de seguridad son muy útiles, pero es importante saber lo que se está haciendo y para que. Este es un mundo grande y complicado, así que paciencia, mucho trabajo y ánimo :)

Juanjo

Fecha:: May 08, 2007

Fecha: 05:11

Muy bien, muchísimas gracias.
Salu2

Pregunta cerrada

Esta pregunta ya ha sido cerrada y los puntos repartidos entre los siguientes expertos:


poncho: 45
gonzalo: 30

Te invitamos a que comentes, aportes información o si lo prefieres, puedes escribir un tutorial para esta pregunta en el área de tutoriales.

Responde a esta pregunta

Nuevo usuario

Email:

Al enviar estos datos serás automáticamente registrado como usuario de Quomon y te enviaremos tus datos de login a este email

Usuarios registrados

Nombre de usuario:

Contraseña:

¿Has olvidado tu contraseña?

Nadie ha escrito un tutorial todavía. ¿Quieres ser el primero?

Responde a esta pregunta

Nuevo usuario

Email:

Al enviar estos datos serás automáticamente registrado como usuario de Quomon y te enviaremos tus datos de login a este email

Usuarios registrados

Nombre de usuario:

Contraseña:

¿Has olvidado tu contraseña?

Haz una pregunta

¿Tienes una pregunta nueva?

Tienes 100 carácteres disponibles



Mejores Expertos

Ver Más

Pos.

Experto

Puntos

1.

orionb

5970

2.

gumarelo

5543

3.

LAGM

4848

4.

Cheto

3995

5.

gonzalo

2840

6.

frearg

2000

7.

titooo

1802

8.

6roNin6

1721

9.

Eternak

1575

10.

jMd

1485

Hazte Experto

Registrate hoy para compartir tus conocimientos con la comunidad y sea reconocido y retribuido por tus contribuciones.


Registrate Aqui




"Psst, Quomon es una web fantástica. Pásalo."     Recomendar  |   Enlazar  |   Guardar en Delicious  |   Digg! Digg.com



Opciones de Idiomas

English:

www.quomon.com

Español:

www.quomon.es