cowsay "Bienvenido"
A menudo, ya sea por normativas legales o por políticas de seguridad interna, no podemos exponer nuestros datos públicamente. Esto hace que conectar nuestra infraestructura local (on-premises) con la nube mediante una VPN Site-to-Site sea una necesidad muy común.
Afortunadamente, proveedores como AWS y fabricantes como Fortinet facilitan mucho esta integración. En este laboratorio, vamos a simular un entorno híbrido para aprender las configuraciones básicas.
¿El escenario? Usaremos una AMI de Fortigate Firewall desplegada en una instancia EC2 para simular nuestra oficina local (Customer Gateway) y la conectaremos a un Virtual Private Gateway de AWS. ¡Manos a la obra!

Para que este laboratorio sea accesible y mantenga los costos al mínimo, he diseñado la arquitectura utilizando solo los componentes esenciales para levantar la VPN y validar la conexión.
Tal como se observa en el diagrama, dividiremos el escenario en dos ubicaciones: nuestra "Oficina Local" (simulada) y la nube de AWS.
El Servidor Local: (1): Será una instancia con Amazon Linux ubicada en una subred privada. Piensa en esto como el servidor de archivos o base de datos de tu oficina; no tiene acceso directo a internet, sino que se conecta a través de nuestro firewall.
El Firewall Fortigate: (2): Utilizaremos una AMI oficial de Fortinet desde el Marketplace de AWS bajo el modelo de pago por uso (PAYG). Esta instancia es vital ya que simulará nuestro borde de red con dos interfaces, una privada (LAN) y una pública con la que saldremos a internet y montaremos el túnel.
Customer Gateway (CGW) (3): Es la representación lógica de nuestro firewall dentro de la consola de AWS. Aquí simplemente registraremos la IP pública de nuestro Fortigate para decirle a AWS: "Esta es la puerta de entrada a la oficina local".
Virtual Private Gateway (VGW) (4): Es la contraparte del lado de la nube. Funcionará como la puerta de enlace que recibe la conexión VPN en nuestra VPC de destino.
VPN Site-to-Site (5): La magia ocurre aquí. El servicio AWS Site-to-Site VPN nos facilita un archivo .txt personalizado para Fortinet. Este documento es nuestra hoja de ruta: contiene las claves pre-compartidas, los parámetros de IPSec, las rutas estáticas y las políticas de seguridad necesarias para permitir el tráfico bidireccional.
Servidor en AWS: (6): Finalmente, desplegaremos una última instancia Amazon Linux en una subred privada del lado de la nube. El éxito del laboratorio dependerá de si nuestro "Servidor Local" (punto 1) logra comunicarse con este servidor a través del túnel VPN.
Un aspecto crucial a considerar es evitar el solapamiento de rangos IP entre la red local y la VPC en AWS, como así también la necesidad de utilizar una IP pública estática para el Fortigate, ya que esta será la dirección registrada en el Customer Gateway y debe permanecer constante.
Para garantizar una comunicación fluida a través del túnel VPN, es esencial configurar adecuadamente los grupos de seguridad asociados a las instancias EC2 de prueba y al Firewall Fortigate. A continuación, se detallan las reglas necesarias:
Para asegurar que el tráfico destinado a la red opuesta se enrute correctamente a través del túnel VPN, es fundamental configurar las tablas de rutas tanto en los servidores de prueba como en el Fortigate Firewall. A continuación, se detallan las rutas necesarias:
El Firewall FortiGate es el componente central de nuestra configuración VPN. A continuación, se describen los pasos esenciales para configurar el túnel VPN Site-to-Site:

Para ejecutar FortiGate en la nube de AWS, se requiere activar una suscripción desde el Marketplace. Optaremos por el modelo de pago por uso. De ser posible, activaremos la prueba gratuita de 30 días para acceder a todas las capacidades del firewall sin costo adicional durante este período (El costo de la instancia EC2 sobre la cuál será desplegada se factura de forma separada).

Una vez que la instancia esté en funcionamiento, accederemos a la interfaz web de FortiGate utilizando la IP pública elástica asignada por AWS. Por defecto, el nombre de usuario es 'admin' y la contraseña es el ID de instancia de EC2. Durante el primer inicio de sesión, se nos solicitará cambiar la contraseña predeterminada para garantizar la seguridad. Un dato importante es que FortiGate utiliza el puerto 443 por defecto para la administración web, sin embargo el tráfico IKE en el túnel VPN también utiliza este puerto. Por lo tanto, es recomendable cambiar el puerto de administración web a otro valor, como 8443, para evitar perder el acceso a la interfaz GUI una vez que el túnel VPN esté activo.

Verificaremos que ambas interfaces de red estén activas: port1 (WAN) conectada a la subred pública y port2 (LAN) conectada a la subred privada. Asegurarnos de que las interfaces estén correctamente configuradas es crucial para el funcionamiento del túnel VPN.

Luego de crear los recursos de CGW, VGW y la VPN Site-to-Site en AWS, descargaremos el archivo de configuración específico para FortiGate proporcionado por AWS.

El archivo descargado contiene todos los parámetros necesarios para establecer el túnel VPN en FortiGate incluyendo las claves pre-compartidas, las políticas de seguridad y las rutas estáticas.

Es posible realizar la configuración de estos parámetros mediante la interfaz web o CLI de FortiGate. Para este laboratorio, utilizaremos la CLI debido a su mayor simplicidad y rapidez. Una vez configurado, verificaremos que el túnel VPN esté activo desde el panel de FortiGate o desde el mismo CLI con el comando 'get vpn ipsec tunnel summary'.

Con el túnel VPN activo, procederemos a realizar pruebas de conectividad desde el servidor local hacia el servidor en AWS utilizando comandos ping.
La implementación de una VPN Site-to-Site entre una red local y AWS utilizando un FortiGate Firewall proporciona una conexión segura y confiable para la comunicación entre ambas redes. Este laboratorio ha demostrado los pasos esenciales para configurar los componentes necesarios, incluyendo la creación de recursos en AWS, la configuración del FortiGate y la verificación de la conectividad. En un entorno de producción, es crucial considerar aspectos adicionales como la redundancia, incluyento la configuración de túneles VPN adicionales, así como la monitorización continua del rendimiento y la seguridad de la conexión VPN.
Sitio alojado en AWS Amplify
Built with Reflex