Desarrollo web

7 formas comunes de comprometer sitios web

sitio-seguro

Despertarse para descubrir que su sitio ha sido hackeado es lo más incómodo que se puede sentir. Despertarse para descubrir que la información de sus usuarios ha sido robada y sus tarjetas de crédito utilizadas por terceros es una responsabilidad, y una pesadilla.

Para los propietarios de sitios web y otras personas que no saben cómo reforzar sus propios servidores contra los ataques, parece una pesadilla contra la que no pueden hacer mucho. Bueno, tengo buenas noticias: si tienes un sitio estático simple en un host que incluso sabe lo que está haciendo, probablemente estés a salvo.

Pero cuanto más complejos son los sistemas en cualquier situación, más agujeros de seguridad potenciales hay. Eso significa más vigilancia, y más trabajo para asegurarlo. Por otro lado, la gente que irrumpe en otros sistemas es muy previsible. Hay una serie de tipos de ataques bastante comunes que pueden evitarse en gran medida con una simple previsión y planificación.

Sin más preámbulos, y sin ningún orden en particular, presento algunas de las formas más comunes en las que la gente intentará entrar en su sitio:

  1. Ingeniería social

Pregunte a cualquier experto en seguridad de cualquier campo: El punto de fallo más común no es el software ni el hardware. Es la gente, y su afición a hacer cosas tontas. Ya sabes, cosas tontas como dejar las contraseñas escritas en algún lugar obvio, o simplemente dar la cuenta de un usuario a alguien por teléfono.

Es bastante común que un «hacker» llame al servicio de atención al cliente antes de hacer cualquier otra cosa. Si consiguen convencer a alguien de que les entregue la información que necesitan, se habrán ahorrado potencialmente horas, o incluso días, de tiempo. Así que, al igual que te aseguras de que tus servidores son seguros, también deberías asegurarte de que tus empleados tienen procesos de seguridad que seguir.

  1. Falta de parches de seguridad

Este sigue siendo uno de los grandes, lo creas o no, y especialmente en los entornos corporativos. Actualizar muchos ordenadores a la vez es un gran problema. A veces las actualizaciones se retrasan por los administradores de sistemas que sólo quieren asegurarse de que ninguna de las nuevas actualizaciones romperá su software interno. Otras, en cambio, se ven limitados, se les prohíbe instalar actualizaciones por los nervios de la dirección.

A veces, el departamento de TI está prácticamente despedido y se le dice a algún chico de la sala de correo que «sabe de ordenadores» que mantenga todo en funcionamiento. Sea cual sea la razón, a veces las actualizaciones de seguridad no se instalan y los sistemas quedan vulnerables. En el caso de los sitios web, suele ser simplemente que nadie actualiza WordPress. Simplemente hazlo.

  1. Código de terceros inseguro

Los programadores son una raza brillante en general, pero algunos son más experimentados que otros. E incluso entre los mejores, los errores ocurren. Mucha gente se inicia en el mundo de la programación codificando plugins para otro software, como plugins de CMS.

¿Recuerdas lo que dije acerca de que más complejidad conduce a más agujeros de seguridad? Bueno, más plugins significa más complejidad. Haz que todos los plugins sean revisados de alguna manera antes de instalarlos, y actualízalos cada vez que salgan correcciones, al igual que el resto de tu software.

  1. Malas políticas de seguridad del usuario

En este caso, la política de seguridad se referiría a la forma en que pides a tus usuarios que contribuyan a la seguridad de su propia cuenta. Estas políticas son cosas como las preguntas de seguridad, los requisitos para las contraseñas fuertes, la autenticación de dos factores, e incluso los tokens de seguridad de la cuenta física utilizados por instituciones como los bancos. La verificación por correo electrónico es bastante común, y una de las formas más fáciles de manejar esto. Sin embargo, no es totalmente infalible.

Sin embargo, no tener ninguna forma de verificar quién es quién, es sólo una receta para el desastre.

  1. Ataques de inyección

También se conocen como ataques de inyección SQL, o SQLi. Básicamente, alguien entra en su sitio web, y va en busca de formularios. Un formulario de contacto, un formulario de registro, un formulario de envío, cualquiera de ellos servirá siempre y cuando envíen la información directamente a una base de datos SQL.

Sólo introducen declaraciones SQL básicas y comunes en los campos de texto con la esperanza de poder extraer datos de su base de datos. Y a menos que las entradas de su formulario sean desinfectadas (despojadas de cosas como comandos SQL cuando los formularios se envían), funcionará.

  1. Fugas de datos

Dependiendo de cómo se programen las cosas, los datos pueden simplemente… filtrarse. Las URLs pueden contener información sensible, por ejemplo. La gente puede simplemente buscar en Google su sitio, y encontrar URLs con información sensible en ellos. Si los archivos sensibles se suben a carpetas desprotegidas en su servidor, cualquiera puede descargarlos. Si la gente puede acceder de alguna manera a los archivos de configuración de su CMS, probablemente tienen una forma de entrar.

Esto tampoco es siempre el resultado de una mala programación. A veces puede olvidarse de establecer los permisos correctos en una carpeta, o algo así. Las filtraciones accidentales ocurren.

  1. Clickjacking

El clickjacking ocurre de dos maneras: Una, alguien crea un sitio malicioso con contenido que parece bastante inocente. Pero cuando se hace clic en ese sitio, se hace algo que no necesariamente se quiere hacer (como por ejemplo, hacer clic en algo en Facebook que no se quería hacer), o se lleva a un lugar al que no se quiere ir.

En segundo lugar, alguien consigue inyectar código en su sitio para secuestrar sus clics, con el mismo resultado final. En el peor de los casos, esto puede llevar a los usuarios a comprometer su información personal escribiendo sus datos en un sitio que se parece mucho al tuyo, pero que no lo es, por ejemplo.

Conclusión

Hay más posibilidades que no tengo ni el tiempo ni la experiencia para explicar adecuadamente; sin embargo, éstas son algunas de las más comunes. Prepárate para ello y tendrás un buen comienzo. Pero es sólo un comienzo.

Deja una respuesta