Configuración del servicio de protección DoS

El servicio de protección de denegación del servicio (DoS) de App Engine te permite proteger tu aplicación para que no se quede sin cuota cuando se la somete a ataques de denegación de servicio o formas similares de abuso. Puedes incluir en la lista negra las direcciones IP o las subredes, de forma que las solicitudes enrutadas desde esas direcciones o subredes se eliminen antes de que se llame al código de tu aplicación. No se consumen asignaciones de recursos, facturadas o no, para estas solicitudes.

De forma predeterminada, App Engine entrega una página de error genérica para las direcciones de la lista negra. Si lo deseas, puedes configurar tu aplicación para entregar una respuesta personalizada.

Antes de comenzar

Crea un archivo dos.yaml en el directorio root de tu aplicación. En este archivo, especificarás tus direcciones IP y redes en la lista negra.

Bloqueo de solicitudes con listas negras de DoS

Puedes incluir las direcciones IP y las subredes IP en la lista negra para evitar que accedan a tu aplicación.

El archivo dos.yaml está limitado a 100 entradas, por lo que puede ser necesario bloquear subredes completas si te enfrentas a un ataque de DoS. Esta también es una forma eficiente de protegerte si descubres que varias direcciones IP de la misma red son parte de un ataque de DoS en tu aplicación.

Cómo crear entradas en la lista negra para direcciones IP

Puedes bloquear el acceso de una o más direcciones IP a tu aplicación si defines esas direcciones IPv4 o IPv6 en tu archivo dos.yaml. Por ejemplo:

blacklist:
- subnet: 192.0.2.1
  description: A single IPv4 address
- subnet: abcd::123:4567
  description: A single IPv6 address

En un ataque de denegación de servicio distribuido (DSD), es probable que debas bloquear subredes completas en lugar de una dirección IP individual.

El Ejemplo a continuación te ayudará a crear tu archivo dos.yaml.

Después de crear tu archivo dos.yaml, debes subirlo a tu aplicación.

Cómo crear entradas en la lista negra para subredes de IP

Puedes bloquear el acceso de una subred de IP a tu aplicación si la defines en formato CIDR. Puedes usar la herramienta IP a CIDR que te ayudará a crear reglas que usan la notación CIDR.

blacklist:
- subnet: 1.2.3.4/24
  description: an IPv4 subnet
- subnet: abcd::123:4567/48
  description: an IPv6 subnet

El Ejemplo a continuación te ayudará a crear tu archivo dos.yaml.

Después de crear tu archivo dos.yaml, debes subirlo a tu aplicación.

Ejemplo de archivo dos.yaml

El siguiente es un ejemplo del archivo dos.yaml:

blacklist:
- subnet: 1.2.3.4
  description: a single IP address
- subnet: 1.2.3.4/24
  description: an IPv4 subnet
- subnet: abcd::123:4567
  description: an IPv6 address
- subnet: abcd::123:4567/48
  description: an IPv6 subnet

Cómo crear mensajes de error personalizados para solicitudes en la lista negra

De forma predeterminada, se entrega una página de error genérica a las solicitudes bloqueadas por el servicio de protección DoS. Los ataques de denegación del servicio distribuido podrían involucrar una máquina infectada de un usuario legítimo. Esta página podría proporcionar una explicación para aquellos usuarios acerca de por qué se denegó el acceso.

  1. Crea un archivo estático en el directorio de tu aplicación para entregar a las solicitudes que están bloqueadas por el servicio de protección DoS.

  2. En tu archivo app.yaml, especifica un controlador de errores para las respuestas DoS, proporciona la ruta de acceso a tu archivo estático y agrega el tipo error_handlers de dos_api_denial.

    error_handlers:
    - error_code: dos_api_denial
      file: dos-response.html
    

Cómo borrar todas las entradas de la lista negra

Realiza los siguientes pasos para borrar todas las entradas de la lista negra:

  1. Edita el archivo dos.yaml para que solo contenga lo siguiente:

    blacklist:
    

    Borrar el archivo dos.yaml no quita las listas negras.

  2. Vuelve a implementar el archivo dos.yaml para que los cambios surtan efecto.

Cómo ver errores de denegación de DoS en la consola

Puedes ver un grafo del número de solicitudes que se rechazan:

  1. Dirígete al panel de App Engine en Google Cloud Platform Console:

    Abrir el grafo de detalles de errores de App Engine

  2. Ajusta el marco de tiempo del grafo según sea necesario para ver los resultados.

Cómo subir tu lista negra de DoS

Para implementar el archivo dos.yaml en tu aplicación de App Engine, puedes usar cualquiera de las herramientas Java disponibles, por ejemplo, Maven, Gradle o IntelliJ. Si deseas obtener más información, consulta Cómo probar tu aplicación y cómo implementarla.

Próximos pasos

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Entorno flexible de App Engine para documentos de Java