¿Cómo proteger las aplicaciones web con AWS WAF?



Este artículo le dirá cómo puede proteger las aplicaciones web con AWS WAF y continuar con una demostración práctica.

Este artículo le dirá cómo puede proteger las aplicaciones web con WAF y continúe con una demostración práctica. En este artículo se cubrirán los siguientes consejos,

Así que comencemos entonces





Continúe con este artículo sobre '¿Cómo proteger una aplicación web con AWS WAF?'

Introducción a algunos conceptos básicos

AWS proporciona servicios como EC2, ELB (Elastic Load Balancer), S3 (Simple Storage Service), EBS (Elastic Block Storage) para crear aplicaciones útiles y sofisticadas de forma rápida y con menos CAPEX (CAPital EXpenditure). Al crear estas aplicaciones, es igualmente importante asegurar la aplicación y proteger los datos. Si no está debidamente asegurado, los datos de la aplicación pueden caer en manos equivocadas como en el caso de Incidente de Capital One .



Capital One alojó una aplicación web en EC2 y no se protegió correctamente. Un ex empleado de AWS pudo aprovechar esta vulnerabilidad y descargar una gran cantidad de datos de clientes desde S3. Más tarde se descubrió que los datos de otras 30 organizaciones también se descargaron de AWS. Entonces, para enfatizarlo nuevamente, no solo es suficiente diseñar y diseñar una aplicación, sino que es igualmente importante asegurar una aplicación.

que es marioneta y chef

Capital One utilizado AWS WAF (firewall de aplicaciones web) para proteger la aplicación web, pero no se configuró correctamente debido a que el pirata informático pudo obtener acceso a los datos en S3 y descargarlos. En este artículo exploraremos cómo usar y configurar AWS WAF para proteger contra ataques web comunes como SQL Injection, XSS (Cross Site Scripting), etc. AWS WAF debe configurarse junto con Balanceador de carga de aplicaciones , CloudFront o API Gateway. En este escenario, utilizaremos Application Load Balancer. Cualquier solicitud del cliente a través del navegador pasará por AWS WAF y luego al Application Load Balancer y finalmente a la aplicación web en EC2. AWS WAF se puede utilizar para bloquear la solicitud maliciosa de los piratas informáticos utilizando un conjunto de reglas y condiciones.

Imagen - Aplicaciones web seguras con AWS WAF - Edureka

Continúe con este artículo sobre '¿Cómo proteger una aplicación web con AWS WAF?'



Secuencia de pasos para comenzar con AWS WAF

Paso 1: Creando una aplicación web vulnerable,

El primer paso es crear una aplicación web que sea vulnerable a los ataques SSRF (Server Side Request Forgery) como se menciona en este blog sobre cómo ocurrió el ataque de Capital One. Este blog tiene la secuencia de pasos para:

  1. Crear un EC2
  2. Instale el software necesario para crear la aplicación web con vulnerabilidad SSRF
  3. Crear un rol de IAM con permisos de solo lectura de S3
  4. Adjunte el rol de IAM a EC2
  5. Finalmente, aproveche la vulnerabilidad SSRF para obtener las credenciales de seguridad relacionadas con el rol de IAM.

Una vez completada la secuencia de pasos en el blog mencionado, reemplace 5.6.7.8 con la dirección IP pública del EC2 en la siguiente URL y ábrala en el navegador. Las credenciales de seguridad asociadas con el rol de IAM deben mostrarse en el navegador como se muestra a continuación. Así es como básicamente se pirateó Capital One. Con las credenciales de seguridad en la mano, el pirata informático pudo acceder a otros servicios de AWS como S3 para descargar los datos.

http://5.6.7.8:80?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO

Paso 2: Creación del balanceador de carga de aplicaciones

AWS WAF no se puede asociar directamente con una aplicación web. Pero solo se puede asociar con Application Load Balancer, CloudFront y API Gateway. En este tutorial, estaríamos creando el Balanceador de carga de aplicaciones y asociación de AWS WAF con el mismo.

Paso 2a: Un grupo de destino es una colección de instancias EC2 y debe crearse antes de crear Application Load Balancer. En la Consola de administración de EC2, haga clic en el grupo de destino en el panel izquierdo y haga clic en 'Crear grupo de destino'.

Paso 2b: Ingrese el nombre del grupo objetivo y haga clic en 'Crear'. El grupo objetivo se creará con éxito.

Paso 2c: Asegúrese de que el Grupo de destino esté seleccionado y haga clic en la pestaña Destinos y haga clic en editar para registrar instancias EC2 con el Grupo de destino.

Paso 2d: Seleccione la instancia EC2 y haga clic en 'Agregar a registrados' y haga clic en 'Guardar'.

Las instancias deben registrarse como se muestra a continuación para el grupo objetivo.

Paso 2e: Es hora de crear Application Load Balancer. Haga clic en Load Balancer en el panel izquierdo de la Consola de administración de EC2 y haga clic en 'Crear Load Balancer'.

Haga clic en 'Crear' para el 'Balanceador de carga de aplicaciones'.

Continúe con este artículo sobre '¿Cómo proteger una aplicación web con AWS WAF?'

Paso 2f: Ingrese el nombre del balanceador de carga de aplicaciones. Y asegúrese de que todas las Zonas de disponibilidad estén seleccionadas y haga clic en Siguiente.

Paso 2g: En 'Configurar ajustes de seguridad', haga clic en Siguiente.

En 'Configurar grupos de seguridad', cree un nuevo grupo de seguridad o seleccione uno del grupo de seguridad existente. Asegúrese de que el puerto 80 esté abierto para acceder a la página web en el EC2. Haga clic en Siguiente.

Paso 2h: En 'Configurar enrutamiento', seleccione 'Grupo objetivo existente' y seleccione el que se ha creado en el paso anterior. Haga clic en Siguiente.

Paso 2i: Las instancias EC2 de destino ya se han registrado como parte de los grupos de destino. Entonces, en la pestaña 'Registrar destino', sin ningún cambio, haga clic en Siguiente.

Paso 2j: Finalmente, revise todos los detalles del Application Load Balancer y haga clic en Crear. El balanceador de carga de aplicaciones se crearía como se muestra a continuación.

Paso 2k: Obtenga el nombre de dominio de Application Load Balancer y reemplace el texto resaltado en la URL a continuación y abra el mismo en el navegador. Tenga en cuenta que estamos accediendo a la aplicación web a través de Application Load Balancer y que las credenciales de seguridad se muestran como se muestra a continuación. La siguiente URL se puede bloquear mediante AWS WAF como se muestra en los pasos siguientes para detener la fuga de las credenciales de seguridad.

MyALB-1929899948.us-east-1.elb.amazonaws.com ? url = http: //169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO

Paso 3: Creación de AWS WAF (firewall de aplicaciones web)

Paso 3a: Vaya a la Consola de administración de AWS WAF y haga clic en 'Configurar ACL web'. Se muestra la descripción general de AWS WAF. Aquí está la jerarquía de AWS WAF. Web ACL tiene un montón de reglas y las reglas tienen un montón de condiciones que crearemos en los pasos siguientes. Haga clic en Siguiente.

la cadena es mutable o inmutable en java

Paso 3b: Ingrese el nombre de Web ACL, la región como Virginia del Norte (o donde se creó EC2), el tipo de recurso como 'Application Load Balancer' y finalmente seleccione el Application Load Balancer que se creó en el paso anterior. Haga clic en Siguiente.

Paso 3c: Aquí un condición para bloquear una solicitud de aplicación web específica debe ser creado. Desplácese hacia abajo y haga clic en 'Crear condición' para las 'Condiciones de coincidencia de cadenas y expresiones regulares'.

Paso 3d: Ingrese el nombre de la condición, el Tipo como 'Coincidencia de cadena', filtre en 'Todos los parámetros de consulta' y el resto de los parámetros exactamente como se muestra a continuación. Y haga clic en 'Agregar filtro' y luego en Crear. Aquí estamos intentando crear una condición que coincida con la URL que contiene el valor del parámetro de consulta como 169.254.169.254. Esta dirección IP está relacionada con la Metadatos EC2 .

Paso 3e: Ahora es el momento de crear una regla que sea una colección de condiciones. Haga clic en 'Crear regla' y especifique los parámetros como se muestra exactamente a continuación. Haga clic en 'Agregar condición', Crear y 'Revisar y crear'.

Continúe con este artículo sobre '¿Cómo proteger una aplicación web con AWS WAF?'

Paso 3f: Finalmente revise todos los detalles y haga clic en “Confirmar y crear”. La Web ACL (Lista de control de acceso) se creará y asociará con Application Load Balancer como se muestra a continuación.

Paso 3g: Ahora intente acceder a la URL de Application Load Balancer a través del navegador como se realiza en Paso 2k . Esta vez obtendríamos el '403 prohibido' ya que nuestra URL coincide con la condición de ACL web y la estamos bloqueando. La solicitud nunca llega a Application Load Balancer ni a la aplicación web en EC2. Aquí notamos que aunque la aplicación está permitiendo el acceso a las Credenciales de Seguridad, el WAF está bloqueando las mismas.

Etapa 4: Limpieza de los recursos de AWS creados en este tutorial. La limpieza debe realizarse exactamente en el mismo orden que se menciona a continuación. Esto es para garantizar que AWS detenga la facturación de los recursos asociados creados como parte de este tutorial.

  • Eliminar condición en la regla
  • Eliminar la regla en WebACL
  • Desasociar el ALB en la WebACL
  • Eliminar WebACL
  • Eliminar la regla
  • Eliminar el filtro en la condición
  • Eliminar la condición
  • Eliminar el ALB y el grupo objetivo
  • Terminar el EC2
  • Eliminar la función de IAM

Conclusión

Como se mencionó anteriormente, crear una aplicación web con AWS es muy fácil e interesante. Pero también debemos asegurarnos de que la aplicación sea segura y que los datos no se filtren a las manos equivocadas. La seguridad se puede aplicar en múltiples capas. En este tutorial hemos visto cómo utilizar AWS WAF (Web Application Firewall) para proteger la aplicación web contra ataques como la coincidencia con la dirección IP de los metadatos EC2. También podríamos haber utilizado WAF para protegernos contra ataques comunes como SQL Injection y XSS (Cross Site Scripting).

El uso de AWS WAF o, de hecho, cualquier otro producto de seguridad no hace que la aplicación sea segura, pero el producto debe configurarse correctamente. Si no se configura correctamente, los datos pueden llegar a las manos equivocadas, como sucedió con Capital One y otras organizaciones. Además, la otra cosa importante a considerar es que la seguridad debe pensarse desde el primer día y no conectarse a la aplicación en una etapa posterior.

Esto nos lleva al final de este artículo sobre cómo proteger las aplicaciones web con AWS WAF. ¡También hemos creado un plan de estudios que cubre exactamente lo que necesitaría para superar el examen de arquitecto de soluciones! Puedes echar un vistazo a los detalles del curso para formación.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este blog ¿Qué es AWS? Y nos comunicaremos con usted.