Tenemos una pequeña VPC con tres subredes (WAN (pública), LAN (privada), DMZ (privada)). Tengo la tarea de configurar un firewall central en la subred WAN, que monitorea todo el tráfico tanto hacia el mundo exterior como entre los subenviados.
Mi problema es monitorear el tráfico entre LAN y DMZ. He asociado cada subred con una tabla de enrutamiento, dirigiendo todo el tráfico saliente al firewall y esto funciona bien. Desafortunadamente, AWS me impide agregar rutas para el tráfico entre las subredes. Agregar reglas de enrutamiento "dentro" de las máquinas virtuales solo resolvería parcialmente el problema, ya que la LAN contiene dispositivos que no permiten este tipo de configuración. También creo que esto podría causar más problemas a largo plazo... Creo que hacer que WAN, LAN y DMZ sean cada una VPC en lugar de una subred podría llevar a una solución, pero eso me parece un error horrible de las VPC.
¿Cuál es la solución canónica de AWS para este problema?
Edición 1: estoy intentando configurar la red clásica de 'tres zonas más firewall central'. El firewall debe monitorear y proteger el tráfico entre las subredes y las instancias individuales y también desde el exterior. Esto incluye:
- Esté atento a conexiones inusuales e infórmelas. (es decir, el wiki no tiene por qué acceder al servidor hornetq y cualquier conexión de este tipo podría indicar que la VM del wiki ha sido comprometida)
- Limitar la velocidad del tráfico de red. (es decir, el servidor de la base de datos puede enviar correos electrónicos de informes, pero si comienza a enviar cientos de correos electrónicos por segundo, me gustaría recibir una alerta)
- Detectar DDO.
- ...más cosas de seguridad...
No estoy seguro de que todo esto pueda hacerse con los métodos nativos de AWS y el concepto de firewall central me parece más natural.
Edición 2:Diagrama crudo y simplificado de la configuración de la red.
Los grupos de seguridad de red y las ACL me permiten separar adecuadamente las subredes y controlar las conexiones entre las instancias. Pero no veo la posibilidad de hacer cosas avanzadas (es decir, limitación de velocidad,...). Mi idea es cortar completamente el tráfico entre las subredes LAN/DMZ y utilizar una configuración de red clásica: enrutar todo el tráfico a través del firewall y dejar que él decida qué le sucede. Lamentablemente, las tablas de enrutamiento de una VPC no me permiten enrutar todo el tráfico dentro de la VPC (o una subred de la misma) a un firewall central. Entonces la pregunta es, ¿cómo puedo aprovechar AWS para llevar el tráfico de mis subredes a mi firewall, para que pueda hacer lo suyo?
Respuesta1
No estoy seguro de si es posible en AWS. No es como se haría normalmente.
Creo que debes abandonar la idea de "central", eso es lo que te frena. Piensa en capas. He hecho un diagrama muy básico a continuación, es bastante aproximado, lo siento.
Un par de otras maneras:
- Usarsistemas de prevención/detección de intrusiones(IPS/IDS)
- Usar unasistema basado en hostque cuenta con un agente en cada servidor, y monitoreo central. Este monitoreo podría ser un servicio en Internet, en lugar de en su VPC.
Respuesta2
AWS no tiene un firewall avanzado similar a Palo Alto, etc. En cambio, ha implementado un filtrado básico a través de grupos de seguridad que pueden controlar el tráfico entrante y saliente. Aquí puede configurar el filtrado según el protocolo, IP, etc. Además, puede crear una ACL de red que se puede superponer a los grupos de seguridad para un control más preciso de los flujos de datos entre subredes.
Google: grupos de seguridad de AWS frente a ACL de red
Parece que está buscando una configuración de firewall más avanzada que permita limitar los flujos de datos, inspeccionar paquetes, etc. En este caso, necesitará configurar un servidor de firewall. Como mínimo, necesitará un firewall ubicado en sus tres subredes (WAN, LAN, DMZ). A continuación se proporciona un ejemplo detallado de lo que está buscando.
https://campus.barracuda.com/product/nextgenfirewallf/article/NGF70/AWSRouteTableMutliNIC/
Sin embargo, recomiendo encarecidamente diseñar una solución de alta disponibilidad que utilice múltiples zonas de disponibilidad y equilibradores de carga. Existen muchas soluciones que proporcionan arquitecturas resilientes.