En los últimos meses hemos vivido una serie de amenazas que nos ponen en riesgo como usuarios de internet, por el simple hecho de tener una conexión activa. Esto claramente no es nuevo, siempre ha existido la potencial amenaza de ataques o hackeo. En base a esto, tenemos para ustedes una serie de tips básicos para que mantengan su sitio web protegido y esto a su vez reduzca las vulnerabilidades y se lo haga más difícil a los hackers.
Hace un par de semanas, nosotros mismos nos vimos involucrados en un potencial ataque en un sitio con el que trabajamos, sin embargo lo pudimos repeler con éxito. Pero es importante hacer saber que si estamos ya involucrados en ataques o hackeo hay veces que puede ser demasiado tarde y para ello hay que prevenir y te damos las siguientes recomendaciones.
Mantener siempre todas tus plataformas y scripts actualizados.
Hay que siempre asegurarse que todo lo que tengamos instalado este al día y actualizado. Recordemos que muchas de las plataformas, plugins y demás que utilizamos son open source, lo cual hace su código visible para cualquiera y por ende muestra sus vulnerabilidades para potenciales ataques. Por ejemplo, en el caso de WordPress, cualquier plugin de un tercero puede ser usado para esto, es por ello la importancia de siempre mantener actualizado nuestro sistema, ya que muchas veces las actualizaciones incluirán parches para evitar dichos ataques, malware, etcétera.
Instalar plugins de seguridad
Aunque a veces no le demos la importancia correspondiente, siempre es bueno tener como refuerzo un plugin de seguridad para ser proactivos en contra de cualquier tipo de ataques o hackeo. Existen muchas alternativas que pueden ayudarnos para esto, pro ejemplo, si usan WordPress hay muchos plugins buenos y nosotros recomendamos Bulletproof .
En el caso, ya se que su sitio web sea HTML o manejado con un CMS, pueden recurrir a terceros que les ofrezcan el servicio a un buen precio, normalmente su servicio de host tiene una alternativa que incluye un costo extra dentro de su plan, pueden comenzar por ahí.
Usar queries parametrizados
Los ataques más comunes a sitios web son a través de SQL injection. ¿Qué quiere decir esto? Que podemos tener en algún lugar de nuestro sitio campos donde el usuario podrá escribir, sin embargo un usuario mal intencionado puede escribir código en estas mismas para permitirles hackear la base de datos. Es por ello que es nuestra responsabilidad proteger estos datos y una de las maneras más sencillas es usar queries parametrizados para que así aseguremos que nuestro código tiene los parámetros suficientes para no dejar espacio a ningún hackeo.
Usar CSP (Content Security Policy)
Así como el SQL Injection, existen otro tipo de ataque muy común, el XSS (cross site scripting) y este se hace cuando algún hacker encuentra donde introducir un script en JavaScript que pueden infectar al visitante de nuestro sitio.
Para esto podemos usar CSP, el cual es una herramienta que nos permite especificarle al browser cuales son scripts nuestro y válidos para poderlos ejecutar, de esta manera podrá descartar todos los que no estén ahí. Funge como un whitelisting de scripts. Todo esto se puede hacer en los headers HTTP y podemos encontrar muchos tutoriales de como realizarlos y desarrollarlos.
Protege tus passwords
En un post anterior, ya hablamos acerca de la generación de passwords y de mantenerlos constantemente en movimiento, así como siempre generar passwords fuertes que sean difícilmente hackeados por un ataque de fuerza bruta. Preocúpate de usar cadenas largas, con combinaciones de número, letras mayúsculas y minúsculas, caracteres especiales y palabras inexistentes.
Manejo correcto de permisos en tus directorios
En el caso de que pueda un usuario malicioso tener acceso a nuestra base de datos, estaremos prácticamente perdidos. En este caso hablaremos de los sistemas de servidores basados en Linux, para tenerlo en cuenta, ya que son la mayoría de los que ofrecen los proveedores.
Dentro del sistema de archivos de Linux, existen tres dígitos. El primero representa los permisos para el dueño del archivo o directorio, el segundo los permisos para el grupo dueño del archivo y el tercero representa los permisos para el resto de las personas. Y esto se da de la siguiente manera:
- 4- r ó READ
- 2- w ó WRITE
- 1- x ó EXECUTE
- 0- Sin permisos para dicho usuario
Teniendo en cuenta esto, si vemos el ejemplo anterior y un archivo tiene los permisos «7 5 4», quiere decir que el dueño tiene permisos de lectura, escritura y ejecución 4+2+1= 7, el grupo tiene permisos de lectura y ejecución 4+1=5 y el resto de los usuarios únicamente de lectura 4. Es por ello que una de las mejores prácticas para protegernos de ataques o hackeo es usar la siguiente combinación:
- Folders y directorios: 7 5 5
- Archivos individuales: 6 4 4
Estos permisos se pueden cambiar por FTP usando programas como Filezilla o incluso dentro del CPanel del sitio.
Hay muchas cosas más que tenemos que tener en cuenta para evitar ataques o hackeos, por ejemplo, si tenemos tienda o hacemos transacciones es mandatorio contratar el servicio de HTTPS para hacer todas las transacciones seguras. Y por otro lado, también tener algo de conocimiento técnico, ya que si somos infectados podemos buscar el script a través de queries y borrarlo, aunque esto no siempre es tan sencillo como se lee y las páginas especializadas en esto pueden llegar a cobrar una buena cantidad por removerlo del sitio.
Si necesitan ayuda con algún tipo de ayuda al respecto, tienen dudas o comentarios, no duden en contactarnos y con gusto les ayudaremos a aclararlos o canalizarlas.
No se olviden de compartir y seguirnos en nuestras redes sociales.