Blog

Mejores prácticas contra el pirateo

Viernes, 20 de febrero de 2009

Hoy en día, la mayoría de los sitios web se construyen en torno a aplicaciones para ofrecer buenos servicios a sus usuarios. En particular, se utilizan ampliamente para crear, editar y administrar contenido. Debido a la naturaleza interactiva de estos sistemas, donde la aportación de los usuarios es fundamental, es importante pensar en la seguridad para evitar ataques de terceros malintencionados y garantizar la mejor experiencia de usuario.

Mejores prácticas contra el pirateo

Algunos tipos de intentos de pirateo y cómo prevenirlos

Existen muchos tipos diferentes de ataques que los hackers pueden llevar a cabo para tomar el control parcial o total de un sitio web. En general, los más comunes y peligrosos son la inyección SQL y el cross-site scripting (XSS).

La inyección SQL es una técnica para inyectar código malicioso en una aplicación web, aprovechando una vulnerabilidad de seguridad a nivel de base de datos para cambiar su comportamiento. Es una técnica muy potente, teniendo en cuenta que puede manipular URLs (cadenas de consulta) o cualquier formulario (búsqueda, inicio de sesión, registro de correo electrónico) para inyectar código malicioso. Puedes encontrar algunos ejemplos de inyección SQL en el
Web Application Security Consortium.

Definitivamente hay algunas precauciones que se pueden tomar para evitar este tipo de ataque. Por ejemplo, es una buena práctica añadir una capa entre un formulario en el front-end y la base de datos en el back-end. En PHP, la extensión
PDO
se utiliza a menudo para trabajar con parámetros (a veces llamados marcadores o variables de enlace) en lugar de incrustar las entradas del usuario en la sentencia. Otra técnica muy sencilla es el escape de caracteres, donde se escapan todos los caracteres peligrosos que pueden tener un efecto directo en la estructura de la base de datos. Por ejemplo, cada aparición de una comilla simple (“,”) en un parámetro debe ser reemplazada por dos comillas simples (“,”) para formar un literal de cadena SQL válido. Estas son solo dos de las acciones más comunes que puedes tomar para mejorar la seguridad de un sitio y evitar inyecciones SQL. En línea puedes encontrar muchos otros recursos específicos que se adapten a tus necesidades (lenguajes de programación, aplicaciones web específicas…).'La otra técnica que vamos a introducir aquí es el cross-site scripting (XSS). El XSS es una técnica utilizada para inyectar código malicioso en una página web, aprovechando las vulnerabilidades de seguridad de las aplicaciones web. Este tipo de ataque es posible cuando la aplicación web procesa datos obtenidos a través de la entrada del usuario sin ninguna comprobación o validación adicional antes de devolverlos al usuario final. Puedes encontrar algunos ejemplos de cross-site scripting en el''Web Application Security Consortium

Mejores prácticas contra el pirateo — 2

Hay muchas maneras de asegurar una aplicación web contra esta técnica. Algunas acciones sencillas que se pueden tomar incluyen:
Eliminar la entrada que se puede insertar en un formulario (por ejemplo, ver la función.

strip tags

Para dar algunos ejemplos, cuatro de las mayores comunidades de sistemas de gestión de contenido de código abierto —Joomla, WordPress, PHP-Nuke y Drupal— ofrecen directrices útiles sobre seguridad en sus sitios web y albergan grandes foros orientados a la comunidad donde los usuarios pueden escalar problemas y pedir soporte. Por ejemplo, en la sección

Hardening WordPress

de su sitio web, WordPress ofrece documentación completa sobre cómo reforzar la seguridad de su CMS. Joomla ofrece muchos recursos sobre seguridad, en particular una
Security Checklist
con una lista exhaustiva de acciones que los webmasters deben tomar para mejorar la seguridad de un sitio web basado en Joomla. En el sitio de Drupal, puedes acceder a información sobre problemas de seguridad yendo a su
Security section
.
También puedes suscribirte a su lista de correo de seguridad para estar constantemente actualizado sobre los problemas en curso. PHP-Nuke ofrece cierta documentación sobre
Securityen el capítulo 23 de su sección “How to”, dedicada a la gestión de sistemas de esta plataforma CMS. También tienen una sección llamada
Hacked – Now what?
que ofrece directrices para resolver problemas relacionados con el pirateo.
Algunas formas de identificar el pirateo de tu sitio
Como se mencionó anteriormente, existen muchos tipos diferentes de ataques que los hackers pueden realizar en un sitio, y hay diferentes métodos para explotar un sitio inocente. Cuando los hackers logran tomar el control total de un sitio, pueden desfigurarlo (cambiar la página de inicio), borrar todo el contenido (eliminar las tablas de tu base de datos) o insertar malware o ladrones de cookies. También pueden explotar un sitio para enviar spam, como ocultar enlaces que apuntan a recursos de spam o crear páginas que redirigen a sitios de malware. Cuando estos cambios en tu aplicación son evidentes (como la desfiguración), puedes detectar fácilmente la actividad de pirateo; pero para otros tipos de exploits, en particular aquellos con intención de spam, no será tan obvio. Google, a través de algunos de sus productos, ofrece a los webmasters algunas formas de detectar si un sitio ha sido pirateado o modificado por un tercero sin permiso. Por ejemplo, utilizando Google Search puedes detectar palabras clave típicas añadidas por los hackers a tu sitio web e identificar las páginas que han sido comprometidas. Simplemente abre

google.com

y ejecuta una consulta de búsqueda
site: en tu sitio web, buscando palabras clave comerciales que los hackers suelen utilizar con fines de spam (como viagra, porn, mp3, apuestas, etc.): site:example.com viagra
.
Si aún no estás familiarizado con el operador de búsqueda site:, es una forma de consultar Google restringiendo tu búsqueda a un sitio específico. Por ejemplo, la búsqueda site:googleblog.blogspot.com solo devolverá resultados del
Official Google Blog
. Al añadir palabras clave de spam a este tipo de consulta, Google devolverá todas las páginas indexadas de tu sitio web que contengan esas palabras clave de spam y que tengan una alta probabilidad de haber sido pirateadas. Para comprobar estas páginas sospechosas, simplemente abre la versión en caché propuesta por Google y podrás detectar el comportamiento pirateado, si lo hay. A continuación, podrías limpiar tus páginas comprometidas y también comprobar si hay anomalías en los archivos de configuración de tu servidor (por ejemplo, en servidores web Apache:
.htaccessy
httpd.conf Si tu sitio ya no aparece en los resultados de búsqueda de Google, podría significar que Google ya ha detectado malas prácticas en tu sitio como resultado del pirateo y puede haberlo eliminado temporalmente de nuestro índice debido a la infracción de nuestras webmaster quality guidelines).

Para vigilar constantemente la presencia de palabras clave sospechosas en tu sitio web, también podrías utilizar
Google Alerts.

para monitorizar consultas como
site:example.com viagra OR casino OR porn OR ringtones
. Recibirás una alerta por correo electrónico cada vez que estas palabras clave se encuentren en el contenido de tu sitio. También puedes utilizar lasWebmaster Tools

de Google para detectar cualquier actividad de pirateo en tu sitio. Las Webmaster Tools proporcionan estadísticas sobre las principales consultas de búsqueda de tu sitio. Estos datos te ayudarán a monitorizar si tu sitio se posiciona para palabras clave de spam sospechosas y no relacionadas. Los datos de ‘Lo que ve Googlebot’ también son útiles, ya que verás si Google está detectando alguna palabra clave inusual en tu sitio, independientemente de si te posicionas para ellas o no.
Si tienes una cuenta de Webmaster Tools y Google cree que tu sitio ha sido pirateado, a menudo se te notificará de acuerdo con el tipo de exploit en tu sitio:
Si un tercero malintencionado está utilizando tu sitio para comportamientos de spam (como ocultar enlaces o crear páginas de spam) y ha sido detectado por nuestro rastreador, a menudo se te notificará en el Centro de mensajes con información detallada (una muestra de URLs pirateadas o texto de anclaje de los enlaces ocultos);

Si tu sitio es explotado para colocar software malicioso como malware, verás una advertencia de malware en la página ‘Resumen’ de tu cuenta de Webmaster Tools.

  • Comportamiento pirateado eliminado, ¿y ahora qué?
  • ¿Tu sitio ha sido pirateado o distribuye malware? Primero, limpia el desorden de malware y luego haz una de las siguientes cosas:

Si tu sitio fue pirateado con fines de spam, visita nuestra página de

reconsideration request

.
¡Gracias!
Publicado por Paolo Petrolini e Iris Mariano, Equipo de Calidad de BúsquedaBest practices against hacking | Alien Road

Alien Road

Cómo lo aplicamos

We archive Search Central announcements because client questions often trace back to a change that was announced years ago. Reading the original is faster than reconstructing it from second-hand summaries.

Servicios relacionados

Compartir