Xombra Website

Noticias Tips de seguridad básica al crear nuestras aplicaciones web en php/mysql.

Xombra.com - Seguridad Informatica!

01.- Siempre hay que validar los datos que están bajo el control de los usuarios. Hay que tener en cuenta que un usuario malicioso puede realizar una conexión HTTP válida con un sencillo "telnet" e introducir los datos que desee y en el formato que él quiera. Nunca se debe pasar al sistema ningún dato que provenga de una entrada de usuario sin ser validada antes hay que sanitizar los datos. Usar las funciones htmlspecialchars() - htmlentities() o strip_tags() para limpiar el HTML y Javascript así evitaras en gran medida ataques XSS. Link sugerido: http://www.xombra.com/go_articulo.php?nota=67

02.- Usar la función mysql_real_escape_string() ( http://ve2.php.net/manual/es/function.mysql-real-escape-string.php ) para el tratamiento de datos en la base de datos. De esta forma se minimiza un posible ataque por sql injection

03.- Usar siempre $_POST - $_GET- $_COOKIE para capturar los datos que provengan de otras páginas de nustra aplicación. Debemos verificar que register_globals este en Off jamás usar $_REQUEST a menos que la variable que se este usando no sea critica y no afecte al sistema.

04. Usar ficheros .htaccess ( Link sugerido: http://www.askapache.com/htaccess/apache-htaccess.html )

05.- Evitar en lo posible colocar permisos 777 a las carpetas, pero si las necesitas protegelas con .htaccess de esta forma:

php_flag engine off
<Files ~ “\.(php*|s?p?html|cgi|pl)$”>
deny from all
</Files>

colocando ese fichero .htaccess en la carpeta.

06.- Evitar el uso de mysql_error(), es recomendable durante la fase de desarrollo pero una vez culminada la aplicación (producción) suprimir su uso, debido a que esta función envia el número de error generado por una consulta sql. Evitar que PHP muestre los errores, usando simplemente un archivo .htaccess y colocando la directiva:

php_flag display_errors Off

Recuerde su aplicación es la que debe indicar el error, envie un mensaje generico sobre el problema pero no de mayores detalles. De ser posible haga que el sistema le envie un email notificando el problema generado, de esa forma podra depurar la aplicación con rápidez.

07.- Aún cuando PHP es un lenguaje permisivo es buena costumbre definir siempre las variables antes de usarlas settype().

08.- Verificar que safe_mode este en ON de esta forma se comprueba que los archivos sobre los que se trabaja desde otro archivo pertenecen al mismo propietario, evitando de esta forma que otra aplicación obtenga datos sin autorización.

09.- Almacenar las claves en formato md5() o sha1()

10.- Utiliza el = = = para verificar valores de entrada (identidad de datos y de tipos). " Importantisimo"

11. Suprimir los linebreaks (BR, P y BLOCKQUOTE) de los headers entrantes para prevenir la terminación y la inyección de código malicioso.

12.- Usar addslashes() para minimizar el riesgo de SQL Injection o un atque XSS.

13.- Los usuarios o visitantes de su sitio no deben poder ver o entrar en los directorios de su apliación, coloque un index.html con un contenido "mensaje" que indique que no esta e un área permitida y lo redirecciona al index principal de su aplicación.

14.- Si necesita usar tener archivos .inc (haciendo referencia a inlcudes) o .ini / .cfg (haciendo referencia a archivos de configuración) coloquele final .php ejemplo: config.ini.php ya que algunos servidores no procesan bien ese tipo de ficheros y pueden mostrar su contenido.

 

Algunas aplicaciones recomendadas:
Inspekt
http://code.google.com/p/inspekt/ [ filtrar el contenido de las variables $_POST, $_GET, $_COOKIE, $_SERVER, $_FILES y $_ENV, o todas a la vez. Además ofrece métodos para validar los datos entrantes, por ejemplo saber si se trata de una IP, de un número, una URL entre otras cosas]

Ratproxy
http://code.google.com/p/ratproxy/ [ Es una herramienta que audita nuestra aplicación, bastante sencilla de usar]

 

Autor: Xombra

Fecha: 27-08-2008

Políticas de uso: Ver Politícas

  Descargar Noticias en .DOC   Descargar Noticia en PDF   Imprimir articulo   Translate English

  Guardar Tips%20de%20seguridad%20básica%20al%20crear%20nuestras%20aplicaciones%20web%20en%20php/mysql. en Furl   Enviar Noticia a Barrapunto.com   Enviar a un amigo   Meneame   del.icio   Tecnorati!   MySpace   LLevalo a Twitter   Agregar a Google Reader   Agregar Yahoo Feeds   Publicar en Facebbok   Agrega a Netvibes
  http://www.wikio.es   MSN Live   Añadir al Agregador RSS Alesti

Noticias Otras noticias de interés:

Noticia Twitter almacenará nuestros clicks. Violará tu privacidad?

Noticia Asturix la distribución GNU/Linux de Asturias

Noticia eZine Linux+ Septiembre 2010

Noticia Actualización de seguridad para Apple Mac OS X

Noticia Las redes mal configuradas causan los mayores agujeros de seguridad

Noticia La muerte de MS-Windows 2000

Noticia Kademar Linux

Noticia Sirius OS la distro para programadores

Noticia Creadores de virus que envían sus programas a Microsoft

Noticia Jolicloud el sistema operativo para internet.

 

RSS/XML/FEED