Seguridad Informática en PHP

Toda aplicación que se encuentre en Internet, es susceptible a todo tipo de ataques, como: código malicioso, robots o intentos de alterar la información que contiene la base de datos.

Los cierto es que pensar en 100% de Seguridad Informática en Internet, es ‘solo un mito, no existe’, pues para cada medida de seguridad que se crea, se inventa una contra medida, así que solo podemos aspirar a proteger a un grado ‘razonable’ nuestra Aplicación Web o Sitio Web.

Este articulo muestra las técnicas mas utilizadas, para proteger nuestras Aplicaciones y/o Sitios Web de posibles ataques.

Analicemos primero los tipos de Ataques:

  • SQL INYECTION (Inyección de SQL). Este tipo de ataques utilizan los métodos GET (vinculos) y POST (formularios) para introducir instrucciones en Lenguaje SQL, que prentenden alterar y/o borrar nuestra información de la base de datos.
  • XSS (Cross Site Scripting). También se aprovechan de los métodos GET y POST para introducir código PHP o JavaScript que altere nuestra información.
  • ATAQUES DE FUERZA BRUTA (ROBOTS) – ATAQUES XSF (Cross Site Forgery). Estos ataques pretenden encontrar ‘todas’ las posible combinaciones de contraseñas para accesar a sitios restringidos y sensibles de la Aplicación o Sitio Web.

Nota: estos no son todos los tipos de ataques que existen, pero son los mas comunes.

Para protegernos de los ataques que ya hemos listado, estas son las siguientes recomendaciones:

  1. Contratar un servicio de hosting confiable y seguro, que ofrezca aplicaciones internas para proteger el Sitio Web de ataques.
  2. Restringir el ingreso a carpetas y archivos sensibles de la aplicación, así como crear ‘url amigables‘. Para lograr esto haremos uso del archivo .htaccess
  3. Validar los datos de los formularios ‘antes’ de que se envíen al servidor, esto lo vamos a lograr con JavaScript, asegurándonos el formulario no contenga código SQL o caracteres especiales  (>*< !, etc) que son usados por PHP y JavaScript.
  4. Para evitar los ‘Ataque de Fuerza bruta y XFS’, es necesario:
    1. Encriptar las contraseñas que se utilicen, PHP ofrece diversas formas de encriptar datos, como: md5, sha1, o la función crypt, por mencionar algunas.
    2. Restringir la cantidad de intentos permitidos para accesar a una zona restringida con usuario y contraseña.
    3. Agregar ‘captchas’ a los formularios, esto asegurará que es un humano y no un robot (programa) el que esta
  5. Aunque se ya se haya validado la información antes de ser enviada al servidor, hay que volver a validar la información una vez se encuentra en el servidor ‘antes de almacenarla en la base de datos y/o antes de realizar alguna acción con esa información’. Para esto, es necesario utilizar PHP para verificar que ninguna información contenga instrucciones SQL o caracteres especiales.
  6. Crear backup (copias de respaldo) de ‘todo’ nuestro código de programación, esto es muy importante en caso de sufrir un ataque que borre, dañe o modifique nuestros archivos; con nuestro respaldo podremos restaurar los archivos necesarios para que nuestra aplicación o sitio web sigan funcionando.
  7. Crear backup ‘periodicos’ de la Base de Datos, esta es otra parte fundamental de la seguridad, los backup deben ser continuos (diarios, semanales, quincenales, etc), entre mas seguidos sean es mejor, para crear nuestros backup de la base de datos podemos optar por hacerlos de forma manual o utilizando ‘tareas programadas’ (CRON) desde nuestros servicios de hosting

La seguridad es parte fundamental de toda aplicación y aunque esto genera mas trabajo e inversión de tiempo, siempre vale la pena invertir en ello.

Si deseas aprender aplicar estas técnicas de seguridad, no dejes de ver este curso AQUI

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

nueve + nueve =