Detener ataques al servidor web

Una guía para administradores de seguridad

EBOOK GRATUITO EN LÍNEA

Detener ataques al servidor web: Una guía para administradores de seguridad

         
Thank You!

You can click and start reading the chapters from below. We've also sent the
link to your inbox for future reference.

  •  
  •  
  •  
  • Al cliquear en "Leer ahora" usted acepta nuestro procesamiento de datos personales de acuerdo con nuestra Política de Privacidad.

Según IBM Security, el costo promedio de una violación de datos en 2021 aumentó a

4,24 millones de dólares

Dado que cada vez más empresas mueven sus negocios en línea, proteger las aplicaciones web y los servidores web de las amenazas cibernéticas se ha vuelto imperativo. Al explotar las vulnerabilidades de estos servidores y aplicaciones, los hackers pueden acceder fácilmente a los datos sensibles y llevar a graves consecuencias financieras.

En esta guía, hemos cubierto algunos de los tipos más comunes de ciberataques a los servidores web y cómo puede detectarlos analizando sus logs.

Introducción

El informe de investigaciones sobre la violación de datos de Verizon 2021 analizó 29.207 incidentes de seguridad, de los cuales 5.258 fueron violaciones confirmadas (un aumento significativo respecto a las 3.950 violaciones analizadas en el informe del año pasado). Si profundizamos en el patrón de las violaciones, de los principales activos que fueron explotados, los servidores web constituyeron más del 60%. Los servidores web fueron uno de los principales vectores de ataque, contribuyendo al 80% de las violaciones detectadas y notificadas el año pasado.1

Como ya sabrá, los servidores web se enfrentan a una multitud de amenazas, como los ataques de fuerza bruta, los ataques de inyección de SQL, el scripting entre sitios y los ataques de denegación de servicio (DoS). Un solo ataque exitoso puede afectar gravemente a la reputación de una organización, causar pérdidas financieras sustanciales y socavar la confianza de los clientes. Las empresas deben ir un paso por delante para evitar ser la próxima víctima.

Entonces, ¿cómo detectar estos ataques antes de que sea demasiado tarde?

El análisis de logs puede proporcionar mucha información sobre lo que ocurre en su red.

Cómo el análisis de logs puede ayudar a detectar los ataques web

Todos los eventos que se producen en una red se registran en forma de logs. Estos logs proporcionan información detallada sobre el evento, como la hora de ocurrencia, desde dónde se produjo, así como quién estaba detrás de él. El análisis de estos logs puede proporcionar información sobre la actividad y ayudarle a detectar las señales de advertencia de ciberataques y amenazas en su red. Si usted es un administrador de seguridad, le recomendamos que busque información procesable en sus datos de log para detectar y detener los ataques antes de que se produzca el daño.

Esta guía detalla algunos de los ataques web más populares e incluye consejos sobre cómo puede detectarlos analizando los logs de su servidor web.

Siguiente Fundamentos del análisis de logs del servidor web

Fundamentos del
análisis de logs del servidor web

En primer lugar, repasemos los fundamentos del análisis de logs. Los logs del servidor web proporcionan información valiosa relacionada con el tráfico: quién envió la solicitud, la fecha y la hora en que se envió la solicitud y cuál era el archivo solicitado.

Algunos de los servidores web más comunes utilizados en el mundo actual son Apache, IIS y NGINX. El formato de log de cada servidor web difiere entre sí.

El servidor web Apache, conocido oficialmente como Apache HTTP Server, es el más popular del mercado, con una cuota de mercado del 40,19% a marzo de 2022.2

Statistics

Los servidores web Apache generan dos tipos diferentes de logs.

1. Logs de acceso: Contienen información sobre todas las solicitudes procesadas por el servidor.

2. Logs de error: Contienen información sobre los errores que se encuentran al procesar las solicitudes.

En este recurso, analizaremos los archivos de log de acceso de los servidores web Apache.

Dos formatos de log comúnmente usados para los logs de acceso de Apache son el formato de registro común y el formato de registro combinado.

Formato de registro común

Las entradas de log escritas en el formato de registro común se ven así:

127.0.0.1127.0.0.1This denotes the IP address of the client that sent the request to the web server. -Hyphen (-)This denotes that the requested piece of information is unavailable. In the above log file, the missing information happens to be the RFC 1413 identity of the client. frankFrankThis field indicates the username of the person who made the request. [10/Oct/2000:13:55:36 -0700][10/Oct/2000:13:55:36 -0700]This field denotes the date and time at which the request reached the server. It follows the format day/month/year:hour:minute:second.
"GET /apache_pb.gif HTTP/1.0""GET /apache_pb.gif HTTP/1.0"GET refers to the HTTP method used by the client. /apache._pb.gif refers to the document that was requested by the client. HTTP/1.0 refers to the protocol used by the client, and its version. 200200This indicates the HTTP status code that the server returns to the client. 23262326 This denotes the size of the object returned to the client. It is measured in bytes.

Cómo entender los códigos de estado de respuesta HTTP

La siguiente tabla indica los distintos códigos de estado de respuesta HTTP que puede devolver el servidor.

Código de respuesta Significado
1xx Informativo
2xx Exitoso
3xx Redireccionamiento
4xx Error del cliente
5xx Error del servidor

Formato de registro combinado

Las entradas de log escritas en el formato de registro combinado se ven así:

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700]
"GET /apache_pb.gif HTTP/1.0" 200 2326
"http://www.example.com/start.html""http://www.example.com/start.html" Este formato de registro es muy similar al formato de registro común, excepto por los dos campos adicionales al final del mensaje. "Mozilla/4.08 [en] (Win98; I ;Nav)""Mozilla/4.08 [en] (Win98; I ;Nav)" This denotes the user agent. It refers to the web client that sent the request.

Este formato de logs es muy similar al Formato Común de Logs excepto por los dos campos adicionales al final del mensaje."
Anterior Introducción Siguiente Ataques comunes al servidor

Ataques comunes al servidor web

Algunos de los ciberataques más populares en el mundo actual son los ataques de fuerza bruta, la inyección de SQL y los ataques DoS.

Mire estas estadísticas alarmantes:

  • Según el informe anual de internet de Cisco (2018-2023), the total number of DDoS attacks will increase from 12.1 million in 2021 to 15.4 million in 2023 globally.3
  • Akamai observó 6,3 mil millones de ataques web en todo el mundo durante 2020. Se descubrió que la inyección de SQL era el principal vector de ataque web. 4
  • Basándose en nuevos descubrimientos, Kaspersky ha afirmado que en el 63% de los ciberataques investigados por el equipo de respuesta a emergencias global de Kaspersky, la fuerza bruta de contraseñas y la explotación de vulnerabilidades se utilizaron como vectores iniciales para comprometer el entorno de una organización.5

En este recurso, vamos a explorar cada uno de estos ataques, junto con las técnicas para detectarlos en sus primeras etapas.

Anterior Fundamentos del análisis de logs Siguiente Ataques de fuerza bruta

Ataques de fuerza bruta

En un ataque de fuerza bruta, los hackers intentan adivinar las credenciales de acceso de un usuario utilizando el método de ensayo y error. Los ataques de fuerza bruta son más comunes en los sistemas orientados al público, es decir, orientados a Internet. Por lo tanto, el formulario de inicio de sesión de cualquier sitio web o aplicación puede ser el objetivo de un ataque de fuerza bruta. Los atacantes utilizan un bot o un script para probar diferentes combinaciones de nombres de usuario y contraseñas hasta que consiguen abrir la cuenta. Además de los nombres de usuario y las contraseñas, los atacantes también intentan adivinar las frases de contraseña, los correos electrónicos, los enlaces o los directorios y encontrar páginas web ocultas. Al explotar las páginas web ocultas, pueden obtener acceso al sitio web principal.

Aunque consumen mucho tiempo, los ataques de fuerza bruta siguen siendo muy populares y tienen una alta tasa de éxito.

Algunas herramientas comunes utilizadas para los ataques de fuerza bruta son THC Hydra, Aircrack-ng, John the Ripper y Hashcat.

Brute Force Attack

Repercusiones de un ataque de fuerza bruta

Si los atacantes obtienen acceso a una cuenta protegida por contraseña (especialmente una cuenta administrativa), pueden:

  • Desfigurar el sitio web.
  • Aprovechar las vulnerabilidades.
  • Inyectar malware.
  • Insertar enlaces de spam y afectar el posicionamiento SEO.
  • Recuperar información sensible y publicarla o venderla.
  • Efectuar otro ataque o cerrar el sitio web objetivo.
  • Redirigir a los usuarios a sitios web maliciosos.

Detectar ataques de fuerza bruta

What your logs can tell you

Compruebe sus logs para detectar las siguientes señales de alarma:

  • Múltiples solicitudes en un periodo de tiempo muy corto
  • Múltiples solicitudes con el mismo nombre de usuario y dirección IP, pero con una contraseña diferente para cada solicitud
  • Múltiples solicitudes con la misma dirección IP pero con diferentes nombres de usuario y contraseñas
  • Múltiples solicitudes con diferentes direcciones IP dirigidas a la misma cuenta de usuario
  • Un agente de usuario o referente sospechoso
  • Consumo excesivo de ancho de banda durante una sola sesión
  • Un gran número de solicitudes en las que ha fallado la autenticación
Un ejemplo de ataque de fuerza bruta

127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET /sample.com/?username=administrator&password=abcde&Login=Login HTTP/1.0" 200 2326 "http://www.sampleexample.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

127.0.0.1 - - [10/Oct/2000:13:55:37 -0700] "GET /sample.com/?username=administrator&password=12345&Login=Login HTTP/1.0" 200 2326 "http://www.sampleexample.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

127.0.0.1 - - [10/Oct/2000:13:55:38 -0700] "GET /sample.com/?username=administrator&password=admin&Login=Login HTTP/1.0" 200 2326 "http://www.sampleexample.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

127.0.0.1 - - [10/Oct/2000:13:55:39 -0700] "GET /sample.com/?username=administrator&password=abc123&Login=Login HTTP/1.0" 200 2326 "http://www.sampleexample.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

127.0.0.1 - - [10/Oct/2000:13:55:40 -0700] "GET /sample.com/?username=administrator&password=admin123&Login=Login HTTP/1.0" 200 2326 "http://www.sampleexample.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

Fuente: Cybrary

En el ejemplo anterior, se puede ver que el atacante (con la misma dirección IP en cada solicitud) tiene como objetivo la contraseña de la cuenta del administrador.

Consejos de expertos para prevenir los ataques de fuerza bruta

  • Las contraseñas débiles son fáciles de descifrar. Utilice contraseñas largas y complejas. Son casi imposibles de descifrar porque hay que probar más combinaciones, lo que requiere más tiempo y capacidad de cálculo. Se necesitan más de 359.000 años para descifrar una contraseña de 13 caracteres.
  • Evite reutilizar contraseñas en distintos sitios web.
  • Limite el número de intentos de inicio de sesión que los usuarios pueden hacer en un tiempo determinado.
  • Habilite CAPTCHA para evitar los bots y las herramientas automatizadas.
  • Implemente capas adicionales de seguridad, como la autenticación multifactor, y aplique el bloqueo de cuentas.
  • Utilice la ofuscación de datos.

Nuestra recomendación:

Implementar una solución de gestión de eventos e información de seguridad (SIEM) que:

  • Analice los eventos de inicio de sesión en los servidores y estaciones de trabajo críticos. Por ejemplo, si un dispositivo experimenta varios inicios de sesión fallidos en un corto período de tiempo, el motor de correlación de eventos de la solución debe reconocer el patrón de ataque y emitir una alerta inmediatamente. También debe crear un informe de incidentes con detalles sobre el dispositivo vulnerado y los eventos de inicio de sesión.
  • Permite navegar por una línea de tiempo detallada de los eventos de cada incidente detectado, y profundizar en el contenido del log en bruto para obtener información exhaustiva sobre las cuentas comprometidas, los dispositivos infectados, etc.
  • Aprovecha el análisis del comportamiento de entidades y usuarios (UEBA) para detectar actividades anómalas, como múltiples intentos fallidos de inicio de sesión, compromiso de cuentas e intentos de exfiltración de datos, y los investiga para detectar los ataques en sus primeras etapas.
  • Supervisa las actividades críticas, como el bloqueo de cuentas, el abuso de privilegios y la copia no autorizada de datos confidenciales, mediante informes predefinidos. Si se detecta un evento sospechoso, se envía inmediatamente una notificación de alerta por correo electrónico o SMS.
Anterior Ataques comunes al servidor Siguiente Ataques de inyección de SQL

Ataques de inyección de SQL

La técnica de inyección de SQL se refiere a insertar consultas SQL en los campos de entrada de los formularios de las aplicaciones web que aceptan entradas sin validarlas. En lugar de introducir la entrada esperada, los atacantes introducen (o inyectan) una consulta de SQL para omitir la autenticación y acceder o modificar el contenido de la base de datos subyacente. A pesar de ser uno de los tipos de ataque más antiguos, sigue siendo muy popular y peligroso.

SQL Database

Repercusiones de un ataque de inyección de SQL

Si el ataque tiene éxito, puede llevar a:

  • Que los atacantes accedan a los datos sensibles almacenados en las bases de datos, como la información de identificación personal.
  • Manipulación o eliminación de los contenidos almacenados en el servidor de la base de datos.
  • Desfiguración del sitio web.
  • Escalamiento de privilegios.

Detectar ataques de inyección de SQL

Lo que sus logs pueden decirle

Compruebe sus logs para detectar las siguientes señales de alarma:

  • Comandos de SQL: SELECT, FROM, WHERE, UNION, AND, entre otros
  • Escáneres de vulnerabilidad como sqlmap
  • Comandos relacionados con el sistema operativo, como exec, cat, entre otros.
  • Muchos caracteres codificados (como %)

Además, intente correlacionar varios archivos de log para entender cómo se desarrolla el ataque.

Un ejemplo de un ataque de inyección de SQL:

127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET /sample.com/?id=a%27+or+1%3D1&Submit=Submit HTTP/1.0" 200 2326 "http://www.sampleexample.com/?id=1&Submit=Submit" "Mozilla/4.08 [en] (Win98; I ;Nav)"

Fuente: Cybrary

En el ejemplo anterior, puede ver que se utiliza el comando a' o 1 = 1.

Sin los caracteres codificados, el archivo de log se verá así:

127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET /sample.com/?id=a'+or+1=1&Submit=Submit HTTP/1.0" 200 2326 "http://www.sampleexample.com/?id=1&Submit=Submit" "Mozilla/4.08 [en] (Win98; I ;Nav)"

Fuente: Cybrary

Aquí hay otro ejemplo.

Un ejemplo de un ataque de inyección de SQL:

127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET /sample.com/?id=%28SELECT%20%28CASE%20WHEN%20%281450%3D2167%29%20THEN%20%27%27%20ELSE%20%28SELECT%202167%20UNION%20SELECT%201463%29%20END%29%29 HTTP/1.1" 302 20 "-" sqlmap/1.3.6#stable (http://sqlmap.org)"

Fuente: Cybrary

En el ejemplo anterior, se puede ver que se están utilizando comandos SQL, caracteres codificados, así como el escáner de vulnerabilidad sqlmap.

Sin los caracteres codificados, el archivo de log se verá así:

127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET /sample.com/?id=(SELECT (CASE WHEN (1450=2167) THEN " ELSE (SELECT 2167 UNION SELECT 1463) END)) HTTP/1.1" 302 20 "-" sqlmap/1.3.6#stable (http://sqlmap.org)"

Fuente: Cybrary

Consejos de expertos para prevenir los ataques de inyección de SQL

  • Depure las entradas proporcionadas por el usuario. Valide los datos introducidos y asegúrese de que coinciden con el tipo de datos que se espera.
  • Asegúrese de que todos los componentes de software de la aplicación web están actualizados con los últimos parches.
  • Limite los privilegios de la base de datos. Esto puede hacerse implementando una arquitectura de confianza cero. El principio básico de la confianza cero es "Nunca confíes, siempre verifica". No se concederá acceso a ningún usuario, aplicación o dispositivo a menos que se haya auditado y verificado exhaustivamente. El principio de mínimo privilegio (PoLP) es un componente importante del modelo de seguridad de confianza cero. Implementar el PoLP garantiza que una cuenta sólo tiene el acceso suficiente para llevar a cabo sus responsabilidades, lo que evita que un atacante obtenga acceso a datos sensibles si compromete la cuenta.
  • No muestre mensajes de error de la base de datos en el navegador web del cliente, ya que los atacantes pueden utilizarlos en su beneficio.
  • Descubra las vulnerabilidades de su aplicación web y corríjalas.
  • Utilice consultas parametrizadas y sentencias preparadas.
  • Implemente un firewall de aplicaciones web (WAF). Un WAF actúa como una barrera frente al servidor web monitoreando el tráfico entrante y saliente, y bloqueando las solicitudes que parecen contener código SQL malicioso.

Nuestra recomendación

Implemente una solución de SIEM que:

  • Audita las actividades de sus bases de datos SQL u Oracle y de sus servidores web IIS o Apache con informes pre empacados y genera alertas instantáneas sobre cualquier evento que suponga una amenaza para la seguridad.
  • Correlaciona los logs de auditoría de SQL con la información recopilada de otras fuentes de eventos para detectar los intentos de violación de datos en una fase temprana. La solución de SIEM también debe proporcionar reglas de correlación de inyección SQL listas para usar para varios patrones de ataque.
  • Proporciona informes detallados sobre los ataques de inyección SQL para ayudarle a realizar un análisis forense detallado sobre cómo se produjo el ataque.
Anterior Ataques de fuerza bruta Siguiente Ataques DOS
 

Ataques DoS

¿El sitio web al que intenta acceder está caído?

Podría ser debido a un ataque DoS en curso. En un ataque DoS, el objetivo del atacante es inundar un servidor web objetivo con solicitudes innecesarias, agotar sus recursos y provocar su caída para que sea inaccesible para los usuarios previstos. Cuando el servidor web objetivo es bombardeado con demasiado tráfico en un corto lapso de tiempo, se sobrecarga y es incapaz de procesar las solicitudes procedentes de usuarios legítimos. Los sectores de la salud y la educación son los más afectados por este tipo de ataques, ya que la interrupción del negocio es muy costosa en estas industrias. El sector de la educación experimentó un au mento del 41% en l s ataques DDoS entre julio de 2020 y marzo de 2021.6

Denial of Service
¿Cuál es la diferencia entre un ataque DoS y un ataque DDoS?

La técnica de ataque DoS utiliza una fuente maliciosa que inunda el servidor web con una cantidad masiva de solicitudes.

Por otro lado, en un ataque DDoS, múltiples fuentes maliciosas que operan juntas atacan un único objetivo simultáneamente. Estos múltiples equipos host se conocen como bots o sistemas zombis. Juntos, forman una red de bots que se utiliza para realizar ataques a gran escala por parte de los ciberdelincuentes. Los verdaderos propietarios de estos sistemas comprometidos pueden incluso no saber que su sistema está actuando como un bot, ya que el sistema sigue funcionando normalmente. Dado que las solicitudes innecesarias en un ataque DDoS proceden de múltiples ubicaciones, se oculta el origen exacto del ataque, lo que dificulta su detección y detención.

Un ataque DDoS tiene el potencial de causar graves consecuencias financieras a pequeñas y grandes empresas. Es una gran amenaza para las empresas, las organizaciones sin ánimo de lucro y los gobiernos de todo el mundo. Imagine un ataque a gran escala que impida a los clientes acceder a una plataforma de comercio electrónico. Podría suponer una pérdida de millones de dólares para la empresa que gestiona el negocio. 7 Y una vez que una empresa ha sufrido un ataque, hay un % de probabilidades e vuelva a ser atacada. 8

Con el aumento del uso de dispositivos IoT, los ataques DDoS son cada vez más importantes. A veces, los ciberdelincuentes también emplean los DDoS como táctica de distracción mientras ejecutan otros ciberataques graves.

Detectar ataques DoS y DDoS

El mejor método preventivo que puede tomar para un ataque DoS o DDoS es monitorear y analizar continuamente su red.

Detección temprana de un ataque DDoS

Los siguientes problemas podrían indicar un posible ataque DoS o DDoS:

  • No se puede acceder al sitio web
  • El rendimiento de la red es muy lento: aumento del tiempo de carga al acceder a archivos y sitios web
Lo que sus logs pueden decirle

Compruebe sus logs para detectar las siguientes señales de alarma:

Usted tiene cientos de logs donde:

  • El servidor devuelve un código de respuesta HTTP 503 Servicio no disponible de forma intermitente o permanente. Este código de respuesta indica que el servidor no funciona.
  • El servidor devuelve un código de respuesta HTTP 404 No encontrado. Esto indica que el servidor no pudo responder a la solicitud.
  • La misma dirección IP está intentando establecer una conexión con diferentes puertos, y el estado de la conexión es TIME_WAIT.

Monitorear un código de respuesta 404 sería una opción mucho mejor en comparación con monitorear un código de respuesta 503, ya que este último indica que el servidor ya está caído y no se puede prevenir la amenaza.9

Para saber si su servidor está bajo ataque, puede abrir el símbolo del sistema de Windows y ejecutar el siguiente comando para ver la lista de conexiones activas junto con su estado de conexión.10

Prompt

Consejos de expertos para prevenir los ataques DoS y DDoS

Monitoree continuamente el tráfico de su red para detectar aumentos inesperados. Analizar el origen y el tipo de tráfico puede proporcionar información adicional. La mayoría de los atacantes probarán las defensas de su red antes de ejecutar un ataque completo. Busque el tráfico de datos inusual procedente de direcciones IP o ubicaciones geográficas sospechosas.

Nuestra recomendación

Implemente una solución de SIEM que:

  • Audita los datos de log de sus dispositivos de seguridad de red, como firewalls, IDS e IPS, y detecta al instante los ataques DoS o DDoS en tiempo real.
  • Supervisa la actividad del servidor web y detecta las solicitudes de conexión recurrentes desde cualquier IP o ubicación específica.
  • Utiliza informes y alertas predefinidos diseñados específicamente para detectar ataques DoS.
Anterior Ataques de inyección de SQL Siguiente Acerca de Log360
 

Acerca de Log360

Monitorear y analizar manualmente terabytes de datos de log diariamente es imposible. Una solución de SIEM automatiza la recopilación de archivos de log de varios dispositivos de red, los procesa y los analiza para proporcionar información valiosa al equipo de seguridad. Al auditar la actividad del servidor web, una solución de SIEM puede detectar instantáneamente cualquier ataque y alertar en tiempo real.

ManageEngine Log360, solución de SIEM unificada con funciones DLP y CASB integradas, audita minuciosamente los logs de los servidores web IIS y Apache y proporciona información procesable a través de informes y perfiles de alerta predefinidos. Su motor de correlación en tiempo real y su plataforma de inteligencia sobre amenazas pueden ayudar a las empresas a detectar violaciones de datos en tiempo real. Los informes gráficos de Log360 le proporcionarán información detallada sobre los eventos importantes que se produzcan en su servidor web, como los fallos de autenticación o las solicitudes de URL erróneas. Puede recibir alertas instantáneas de los eventos que suponen una amenaza para la seguridad. Así es como una solución de SIEM como Log360 le ayuda a reducir el tiempo que tarda en detectar y responder a las amenazas.

Conozca Log 360, nuestra solución de SIEM unificada

Descargar Solicitar una demostración gratuita
Anterior Ataques DOS Siguiente Referencias

Referencias

Anterior Acerca de Log360
Complete el formulario para acceder a todos los capítulos.
Bienvenidas,  

Zoho Corporation Pvt. Ltd. Todos los derechos reservados.