Configuración de un Cortafuegos FortiGate 40F con 3CX

Introducción

Cortafuegos FortiGate 40F

Este documento describe la configuración de FortiGate 40F utilizando el firmware actualizado 7.0.X. Esto debería ser compatible con cualquier dispositivo que ejecute este Firmware o posterior.

Paso 1: Deshabilitar SIP ALG

La funcionalidad SIP ALG debe ser desactivada a través de la CLI del Fortigate.

config system settings

set sip-expectation disable

set sip-nat-trace disable

set default-voip-alg-mode kernel-helper-based

end

config voip profile

edit default

config sip

set rtp disable

end

end

A continuación, debemos eliminar el ayudante de sesión

  1. Ejecute los siguientes comandos:

config system session-helper

Show

  1. Entre los ajustes mostrados habrá uno similar al siguiente ejemplo:

edit 13

set name sip

set protocol 17

set port 5060

  1. En este ejemplo los siguientes comandos serían:

delete 13

end

¡Ahora reinicie el cortafuegos utilizando la GUI o la CLI!

El comando CLI es:

  • execute reboot

Paso 2 - Crear Reglas de Salida para 3CX

Creando Reglas de Salida para 3CX

  1. Vaya a "Policy & Objects" > "Firewall Policy".
  2. Haga clic en “Create New”.
  1. “Name”: Asigne un nombre a la política de cortafuegos para facilitar su identificación.
  2. “Incoming interface”: Seleccione su interfaz LAN o interfaz donde está su servidor 3CX.
  3. “Outgoing interface”: Seleccione su interfaz WAN.
  4. “Source”: Seleccione su servidor 3CX.
  5. “Destination”: Seleccione “all”.
  6. “Schedule”: Utilice el sistema por defecto (siempre).
  7. “Service”: Seleccione sus servicios 3CX creados anteriormente más los puertos para PUSH, DNS y SMTP.
  8. “Action”: Utilice el valor predeterminado del sistema (ACCEPT).
  9. “NAT”: Utilice el sistema por defecto (CHECK).

Más información acerca de los puertos utilizados por 3CX:

https://www.3cx.es/docs/manual/configuracion-firewall-router/

Paso 3 - Crear Regla Entrante para Acceder al Servidor 3CX Remotamente

Crear Regla Entrante para Acceder al Servidor 3CX Remotamente

Crear una IP Virtual

Necesita crear, una IP virtual por puerto de servicio para reenviar al Servidor 3CX

  1. Vaya a “Policy & Objects” > “Virtual IPs”.
  2. Haga clic en “Create New” > “Virtual IP”.
  1. “Name”: Asigne un nombre a la IP virtual para facilitar su identificación.
  2. “Interface”: Seleccione la interfaz en donde se encuentra su IP pública.
  3. “External IP address”: Ingrese la dirección IP externa del acceso a internet.
  4. “Map to IPV4 address”: Ingrese la dirección IP interna del servidor de su Sistema Telefónico 3CX.
  5. “Port forwarding”: Active la casilla “port forwarding” para ingresar al menú.
  6. “Protocol”: Establezca el tipo de protocolo en función de los puertos que esté reenviando (TCP o UDP).
  7. “Port Mapping type”: Utilice el sistema por defecto “One to one”.
  8. “External service port”: Ingrese el puerto externo, comúnmente el mismo que el puerto externo.
  9. “Map to IPv4 port”: Ingrese el puerto interno.
  1. Una vez que ha creado las IPs Virtuales, deberían verse similares al ejemplo de abajo

IPs virtuales Cortafuegos FortiGate 40F

En este ejemplo, nuestra IP externa es 1.2.3.4 y la IP de nuestro Servidor 3CX es 192.168.10.10

Consejos: Se puede crear un grupo de IPs Virtuales que contenga todas las IPs virtuales para simplificar la configuración de políticas de cortafuegos.

Crear un Objeto Cortafuegos

Para crear la política de cortafuegos, necesitamos crear un objeto cortafuegos.

Crear un Objeto Cortafuegos

  1. Vaya a “Policy & Objects” > “Services”.
  2. Haga clic en “Create New” > “Service”.
  1. “Name”: Asigne un nombre al Servicio para facilitar su identificación.
  2. “Protocol Type”: Utilice el asignado por el sistema por defecto TCP/UDP/SCTP.
  3. “Address”: Utilice el asignado por el sistema por defecto 0.0.0.0.
  4. “Destination port”: Enliste todos los puertos para su 3CX.
  5. “Specify Source Ports”: Deje sin marcar.

Crear Política del Cortafuegos

Crear Política del Cortafuegos

  1. Necesitamos crear una política de Cortafuegos para permitir el tráfico desde el exterior a su 3CX
  1. Vaya a “Policy & Objects” > “Firewall Policy”.
  2. Haga clic en “Create New”.
  3. “Name”: Asigne un nombre a la Política de Cortafuegos para facilitar su identificación.
  4. “Incoming interface”: Interfaz de origen donde está su acceso a internet.
  5. “Outgoing interface”: Interfaz donde está su servidor 3CX (interfaz vlan en nuestro ejemplo).
  6. “Source”: Dirección IP de donde vienen las conexiones (use todas para la conexión a su 3CX desde cualquier lugar).
  7. “Destination”: Seleccione todas sus IP Virtuales creadas anteriormente.
  8. “Schedule”: Utilice el asignado por el sistema por defecto (always).
  9. “Service”: Seleccione sus servicios 3CX creados anteriormente.
  10. “Action”: Utilice el asignado por el sistema por defecto (ACCEPT).
  11. “NAT”: Desmarque NAT para que 3CX vea las direcciones remotas.

Más información acerca de los puertos utilizados por 3CX: https://www.3cx.es/docs/manual/configuracion-firewall-router/

Paso 4 - Crear la Resolución DNS Internos (Split DNS)

Para que 3CX funcione correctamente localmente, es necesario poder alcanzar el servidor a través de su FQDN localmente (sin salir a Internet). Para esto necesitamos configurar un servidor DNS en el Fortigate y crear una entrada DNS que haga coincidir su FQDN con su IP privada.

Los Ordenadores y los Teléfonos IP deben tener la interfaz LAN de Fortigate como servidor DNS.

Los Ordenadores y los Teléfonos IP deben tener la interfaz LAN de Fortigate como servidor DNS.

  1. Vaya a “System” > “Feature Visibility”.
  2. Active “DNS Database”. Una vez activado, podemos configurar el servidor DNS.
  3. Vaya a “Network” > “DNS Servers”.
  4. Haga clic en “Create New” en el Servicio DNS en Interfaz.
  5. Es necesario seleccionar todas las interfaces LAN en modo "recursivo" para que el servicio DNS esté activo en ellas.

Servicio DNS en Interfaz

  1. Haga clic en “Create New” en DNS Database.
  1. “Type”: Utilice el asignado por el sistema por defecto (Primary).
  2. “View”: Utilice el asignado por el sistema por defecto (Shadow).
  3. “DNS Zone”: Asigne un nombre a DNS Zone.
  4. “Domain Name”: Dominio de su servidor 3CX (en este ejemplo nuestro FQDN es [email protected] así que nuestro nombre de dominio es 3cx.com)
  5. “Hostname of Primary DNS”: Utilice el asignado por el sistema por defecto (Dns).
  6. “TTL”: Utilice el asignado por el sistema por defecto.
  7. “Authoritative”: Desmarque esta opción.

Nueva Zona DNS

  1. Agregue las entradas DNS usando “Create New”
  1. “Type”: Establezca la dirección (A).
  2. “Hostname”: Establezca el hostname (en este ejemplo nuestro FQDN es [email protected] así que su hostname es example).
  3. “IP Address”: Establezca la dirección IP de su servidor 3CX.

Editar entradas DNS

Pruebe su configuración. Trate de resolver el FQDN de su 3CX estando en su LAN, debe devolver la dirección interna.

Validando su Configuración

Ingrese a la Consola de Administración 3CX → Panel de Control → Firewall y ejecute la Prueba de Firewall 3CX. Esto validará si su firewall está configurado correctamente para usarlo con 3CX. Puede encontrar más información acerca de la Prueba de Cortafuegos aquí.

Última Actualización

Este documento se actualizó por última vez el 7 de Julio de 2023

https://www.3cx.es/docs/configuracion-firewall-fortigate/