Descripción
Este artículo describe cómo deshabilitar la inspección SIP en FortiGate y cuáles son las consecuencias.
En la mayoría de los casos, Fortinet recomienda el uso de SIP/SCCP proxy/ALG (llamado SIP-ALG aunque no maneja solo tráfico SIP).
La alternativa en FortiGate es SIP-helper.
En algunos casos, otros proveedores recomiendan desactivar la inspección SIP por completo en FortiGate.
El uso de una puerta de enlace de capa de aplicación (ALG) permite:
1) La modificación de las direcciones IP en la carga útil de la aplicación cuando se usa NAT.
2) Apertura dinámica de puertos de datos (‘pinholes’) según sea necesario para permitir el tráfico de audio. De lo contrario, sip-helper puede abrir estos puertos con una lógica de capa 4 muy básica, o las políticas de firewall necesitan abrir estáticamente una amplia gama de puertos para RTP/audio (a través de un VIP).
3) Inspección y registro del tráfico de VoIP
Para obtener más detalles sobre los beneficios de SIP ALG en FortiOS, así como información sobre cómo solucionar problemas de SIP, consulte el manual Soluciones VoIP de FortiOS.
Está disponible en la biblioteca de documentos de Fortinet.
Este artículo explica cómo deshabilitar el uso de SIP o SCCP proxy/ALG y/o session-helper. En este modo, FortiGate actuará como un firewall básico. Las razones para deshabilitar la inspección de VoIP pueden incluir:
1) Solución de problemas (para aislar el problema).
2) Como solución alternativa, ya sea para abordar el comportamiento incorrecto de FortiGate SIP ALG o para permitir el manejo de SIP no estándar en la implementación general de VoIP.
Solución
Desde FortiOS 5.2, el valor predeterminado de FortiOS es que todo el tráfico SIP sea manejado por el proxy/ALG de FortiOS.
En FortiOS 5.0, si no se aplica el perfil VoIP, se aplicará el asistente de sesión SIP.
Preparación.
Para preparar la eliminación de la función auxiliar de sesión y proxy SIP, se requieren dos pasos.
1) Modificar el servidor SIP local (si se utiliza NAT).
Si el tráfico SIP es NAT cuando pasa por FortiGate, el servidor SIP debe configurarse para usar su dirección IP pública en el encabezado de la aplicación. Todos los demás equipos de VoIP también deben hacer referencia al servidor SIP por su IP pública.
2) Abra los puertos de audio correspondientes a través de VIP en FortiGate.
Las políticas de firewall ahora deben permitir explícitamente que todos los puertos UDP se abran para el tráfico de audio (y no solo los puertos de control SIP 5060 o SCCP 2000).
La desactivación de la inspección SIP se puede realizar parcialmente <desactivando SIP-ALG (capa 7), manteniendo SIP-helper (capa 4)> o completamente <desactivando ambos>.
Nota 1: cuando una política de firewall tiene un perfil VoIP aplicado, SIP-ALG se usa sobre el asistente de sesión SIP, incluso si está deshabilitado.
Nota 2 : deshabilitar SIP session-helper solo es necesario si se debe eliminar TODA la inspección SIP.
Los comandos asociados a SIP-helper no serán relevantes si FortiGate usa SIP-ALG. El ajuste fino de SIP-ALG se realiza a través del perfil voip.
Nota 3: Consideraciones multi-vdom: sip-helper es una configuración global. Eliminar sip-helper del contexto global lo hará inaccesible para todos los VDOM. SIP-ALG está habilitado (de manera predeterminada) y se puede deshabilitar por vdom.
A continuación se muestran los pasos necesarios para deshabilitar el asistente de sesión SIP:
1) Eliminar el asistente de sesión correspondiente. Verifique la ID del asistente de sesión SIP:
# config system session-helper
show
Entre los ajustes mostrados habrá uno similar al siguiente ejemplo:
edit 13
set name sip
set protocol 17
set port 5060
next
Aquí la entrada 13 es la que apunta al tráfico SIP que utiliza el puerto UDP 5060 para la señalización.
En este ejemplo, los siguientes comandos para eliminar la entrada correspondiente serían:
delete 13
end
Tenga en cuenta que no es necesario que la entrada SIP sea 13, así que verifique qué entrada tiene la configuración del asistente SIP.
2) Cambie el modo predeterminado–voip–alg-mode para deshabilitar SIP-ALG.
De forma predeterminada, SIP-ALG está habilitado y solo mediante el siguiente comando que se puede verificar con «show full»
# config system settings
set default-voip-alg-mode proxy-based
end
Al ejecutar el siguiente comando, le decimos a FortiGate que deshabilite SIP-ALG (basado en proxy) y use SIP-helper (basado en kernel-helper):
# config system settings
set default-voip-alg-mode kernel-helper-based
end
NOTA 1: El comando ‘ set sip-helper enable | disabled ‘ no está diseñado para habilitar | desactivar sorbo-ayudante . En cambio, el propósito del comando es controlar si se crea o no el agujero de alfiler para disminuir la cantidad de agujeros de alfiler, como dice la ayuda del comando: ‘Habilitar/deshabilitar el ayudante para agregar la regla de permiso de firewall SIP dinámico» // «Habilite/desactive el asistente de sesión del núcleo SIP para crear una expectativa para el puerto 5060».
(Desde la versión 6.2.2, el comando CLI es diferente: configure sip-expectation disabled) NOTA 2: El
comando ‘ sip-nat-trace enable | disabled ‘ no está diseñado para habilitar | Se utiliza el asistente de sesión SIP (SÓLO cuando ‘establecer default-voip-alg-mode kernel-helper-based’ AND «SIP session helper is present/not delete» ). Como dice el comando de ayuda: «Habilitar/deshabilitar la grabación de la dirección IP de origen SIP original cuando se usa NAT».
3) Borre las sesiones o reinicie FortiGate para asegurarse de que los cambios surtan efecto
– Para borrar las sesiones
Idealmente, las sesiones relacionadas con el tráfico de VoIP se eliminan.
Sin embargo, en el caso de SIP, esto significa no solo eliminar las sesiones de control SIP, sino también todas las sesiones abiertas para manejar el tráfico de audio (RTP).
Conociendo el rango de puertos utilizado para el tráfico de audio, se pueden seleccionar sesiones claras aplicando primero un filtro de la siguiente manera:
# diagnose system session filter .. .
El comando para borrar sesiones se aplica a TODAS las sesiones a menos que se aplique un filtro y, por lo tanto, interrumpirá todo el tráfico.
# diagnose system session clear
– Alternativamente, reinicie FortiGate usando GUI o CLI. El comando CLI es:
# execute reboot
nota _
También es posible deshabilitar SIP-ALG desde el perfil de VoIP si es necesario.
En este caso, el tráfico SIP será manejado por SIP-helper incluso si el modo predeterminado-voip-alg-mode está configurado como basado en proxy:
Esto permite que SCCP sea manejado por SIP-ALG y SIP por sip session-helper
# config voip profile
edit default
# config sip
set status disable
end
end
end
Nota especial: deshabilitar el asistente de sesión SIP con VDOM habilitados.
Si los VDOM están habilitados, deshabilite el asistente de sesión de global, ya que la configuración del asistente de sesión es un parámetro global y no está disponible en ningún VDOM en particular.
Dado que se trata de una configuración global, eliminar o deshabilitar el asistente de sesión afecta globalmente a todos los VDOM .
# config global
(global) # config system session-helper
Puede haber escenarios en los que en un VDOM en particular, digamos VDOM-A, podría tener que usar la configuración del asistente de sesión para el procesamiento del tráfico SIP y VDOM-B necesita tener el asistente de sesión deshabilitado para que el tráfico SIP pase a través de VDOM- B no es inspeccionado por el ayudante de sesión SIP.
En tales casos, se pueden utilizar los siguientes ajustes:
# config firewall service custom
(custom) edit SIP-Helper-disable
(Helper-disable) set tcp-portrange 5060-5061
(Helper-disable) set udp-portrange 5060-5061
(Helper-disable) set helper disabled
(Helper-disable ) next
Una vez que se ha creado el servicio personalizado anterior con el ayudante establecido en deshabilitado, se debe llamar al mismo en la política correspondiente que permite el tráfico SIP.
Esto asegurará que el firewall no procese el tráfico SIP siempre que el tráfico llegue a la política correspondiente donde se aplica el servicio personalizado llamado Helper-disable.
Como se demuestra en algunos casos aislados, este último método no es el mejor enfoque, ya que el tráfico puede activar SIP-Helper, incluso cuando el asistente de sesión está deshabilitado por servicio SIP-Helper-disable.
¿Te ha resultado útil??
0 / 0
Hola, somos Mila Jiménez y César Sánchez. Dos apasionados de la ciberseguridad con muchos años de experiencia. Hemos trabajado en muchas empresas del mundo TI y ahora nos apetece compartir nuestro conocimiento con cualquiera que lo necesite.
¡Si te gusta nuestro contenido puedes invitarnos a un café AQUÍ!